f636fdbd3b7ee95bdf7bd2d3203a6da7278e3b4b
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (Q94x94x60): New variable.
4         (charset_code_point): Support conversion `94x94x60'.
5         (Fmake_charset): Likewise.
6         (syms_of_mule_charset): Add new symbol `94x94x60'.
7
8         * char-ucs.h (CONVERSION_94x94x60): New macro.
9
10 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
11
12         * mule-charset.c (charset_code_point): Unify code about
13         `code-offset'.
14
15 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
16
17         * mule-charset.c (charset_code_point): Merge code about builtin
18         characters into code about mother charsets; don't use
19         `range_charset_code_point'.
20         (range_charset_code_point): Deleted.
21
22 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * mule-charset.c (Qcode_offset): New variable.
25         (Fmake_charset): Use `XUINT' to get value of `min-code' and
26         `max-code'; accept new property `code-offset'.
27         (syms_of_mule_charset): Add new symbol `code-offset'.
28
29 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * mule-charset.c (range_charset_code_point): Fixed.
32
33 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * mule-charset.c (decode_builtin_char): Change semantics of
36         code-offset of coded-charset.
37         (charset_code_point): Likewise.
38         (range_charset_code_point): Likewise.
39         (complex_vars_of_mule_charset): Modify for the change.
40
41 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * mule-charset.c (Fencode_char): Reverse arguments.
44
45         * mule-charset.c (charset_code_point): Fixed.
46
47 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
48
49         * mule-charset.c (Vcharset_mojikyo): Deleted.
50         (Vcharset_mojikyo_2022_1): Deleted.
51         (Vcharset_mojikyo_pj_{1..21}): Deleted.
52         (Qmin_code): New variable in UTF-2000.
53         (Qmax_code): Likewise.
54         (Qmother): Likewise.
55         (Qconversion): Likewise.
56         (Q94x60): Likewise.
57         (Qmojikyo): Deleted.
58         (Qmojikyo_2022_1): Deleted.
59         (Qmojikyo_pj_{1..22}): Deleted.
60         (mark_charset): Mark `cs->mother'.
61         (charset_description): Add description for `mother'.
62         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
63         new arguments `mother' and `conversion'; use
64         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
65         (charset_code_point): Moved from char-ucs.h; support `mother'
66         charset feature.
67         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
68         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
69         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
70         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
71         allow 2 as the value of `graphic' in UTF-2000; add new properties
72         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
73         require `final' in UTF-2000; modify for `make_charset'.
74         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
75         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
76         (Fcharset_property): Support `mother', `min-code' and `max-code'.
77         (Fencode_char): New function.
78         (syms_of_mule_charset): Add new builtin function `encode-char' in
79         UTF-2000; add new symbols `min-code', `max-code', `mother',
80         `conversion' and `94x60'; delete symbols `mojikyo',
81         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
82         (complex_vars_of_mule_charset): Modify for `make_charset' change;
83         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
84         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
85
86         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
87         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
88
89         * char-ucs.h (Vcharset_mojikyo): Deleted.
90         (Vcharset_mojikyo_2022_1): Deleted.
91         (LEADING_BYTE_MOJIKYO): Deleted.
92         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
93         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
94         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
95         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
96         add new member `mother'; add new member `conversion'.
97         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
98         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
99         (CHARSET_MOTHER): New macro.
100         (CHARSET_CONVERSION): New macro.
101         (CONVERSION_IDENTICAL): New macro.
102         (CONVERSION_94x60): New macro.
103         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
104         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
105         (XCHARSET_MOTHER): New macro.
106         (XCHARSET_CONVERSION): New macro.
107         (MIN_CHAR_MOJIKYO): Deleted.
108         (MAX_CHAR_MOJIKYO): Deleted.
109         (DECODE_MOJIKYO_2022): Deleted.
110         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
111         (charset_code_point): Changed to non-inline function.
112         (encode_char_1): Use `charset_code_point'.
113         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
114
115 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * lread.c (read_compiled_function): Fix prototype.
118         (read_vector): Likewise.
119
120 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * lrecord.h (struct lrecord_header): Delete `older'.
123         (set_lheader_implementation): Delete code for `older'.
124         (set_lheader_older_implementation): Deleted.
125         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
126         (OLDER_RECORD_P): Deleted.
127         (OLDER_RECORD_HEADER_P): Deleted.
128         (alloc_older_lcrecord): Deleted.
129         (alloc_older_lcrecord_type): Deleted.
130
131         * alloc.c (all_older_lcrecords): Deleted.
132         (alloc_older_lcrecord): Deleted.
133         (disksave_object_finalization_1): Delete code for older objects.
134         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
135         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
136
137 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * mule-charset.c (decoding_table_put_char): Use `make_vector'
140         instead of `make_older_vector'.
141         (put_char_ccs_code_point): Likewise.
142         (mark_charset): Mark `cs->decoding_table'.
143         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
144
145         * lisp.h (make_older_vector): Deleted.
146         (make_vector_newer): Deleted.
147
148         * config.h.in (HAVE_GGC): Deleted.
149
150         * alloc.c (make_older_vector): Deleted.
151         (make_vector_newer_1): Deleted.
152         (make_vector_newer): Deleted.
153
154 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
155
156         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
157         (Qideograph_daikanwa_2): New variable.
158         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
159         (complex_vars_of_mule_charset): Add new coded-charset
160         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
161         `LEADING_BYTE_DAIKANWA'.
162
163         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
164         (LEADING_BYTE_DAIKANWA_1): New macro.
165         (LEADING_BYTE_DAIKANWA_2): New macro.
166         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
167
168 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * mule-charset.c (complex_vars_of_mule_charset): Change
171         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
172         the second revised version.
173
174 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
175
176         * mule-charset.c (Vcharset_ucs_smp): New variable.
177         (Vcharset_ucs_sip): New variable.
178         (Qucs_smp): New variable.
179         (Qucs_sip): New variable.
180         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
181         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
182         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
183         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
184         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
185         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
186
187         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
188         (LEADING_BYTE_UCS_SIP): New macro.
189         (MIN_CHAR_SMP): New macro.
190         (MAX_CHAR_SMP): New macro.
191         (MIN_CHAR_SIP): New macro.
192         (MAX_CHAR_SIP): New macro.
193
194 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
195
196         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
197         utf-2000.
198
199 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
202         value; don't store value into `encoding_table' of `Lisp_Charset'.
203         (mark_charset): `encoding_table' was deleted.
204         (charset_description): Likewise.
205         (make_charset): Likewise.
206         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
207         `put_char_ccs_code_point'.
208
209         * chartab.h (Fput_char_attribute): New EXFUN.
210
211         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
212         is unified with normal symbol space.
213         (Fget_char_attribute): Likewise.
214         (Fput_char_attribute): Likewise; behavior of
215         `put_char_ccs_code_point' is changed.
216
217         * char-ucs.h: Include "elhash.h".
218         (Vchar_attribute_hash_table): New external variable.
219         (struct Lisp_Charset): Delete `encoding_table'.
220         (CHARSET_ENCODING_TABLE): New implementation; refer
221         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
222         `Lisp_Charset'.
223
224 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
227         (cs) == 0.
228
229 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
230
231         * text-coding.c (char_encode_big5): Prefer charset-g1 than
232         `chinese-big5'.
233
234 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
235
236         * chartab.c (uint8_byte_table_description): New constant.
237         (uint8-byte-table): Use `uint8_byte_table_description'.
238         (uint16_byte_table_description): New constant.
239         (uint16-byte-table): Use `uint16_byte_table_description'.
240
241 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
244         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
245
246 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
247
248         * mule-charset.c (Vcharset_ucs_ks): New variable.
249         (Qucs_ks): New variable.
250         (syms_of_mule_charset): Add new symbol `ucs-ks'.
251         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
252
253         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
254
255 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
258         (Fdecode_char): Likewise.
259
260         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
261         chartab.h.
262         (Fdefine_char): Modify for Fdecode_char.
263         (Ffind_char): Likewise.
264
265         * mule-charset.c (Fdecode_char): Add new optional argument
266         `defined-only'.
267         (Fdecode_builtin_char): Modify for `Fdecode_char'.
268
269 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
272         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
273         (allocate_coding_system): Initialize initial-charsets of
274         CODESYS_BIG5 in XEmacs UTF-2000.
275         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
276         CODESYS_BIG5 in XEmacs UTF-2000.
277         (decode_coding_big5): Use initial-charset-g0 and -g1 of
278         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
279
280         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
281         variables.
282         (Qideograph_hanziku_{1 .. 12}): Likewise.
283         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
284         .. 12}'.
285         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
286         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
287         `ideograph-hanziku-{1 .. 12}'.
288
289         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
290         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
291         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
292         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
293         (DECODE_DEFINED_CHAR): New inline function.
294         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
295
296 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * mule-charset.c (Vcharset_china3_jef): Renamed from
299         `Vcharset_japanese_jef_china3'.
300         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
301         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
302         `{MIN|MAX}_CHAR_JEF_CHINA3'..
303         (syms_of_mule_charset): Rename `china3-jef' from
304         `japanese-jef-china3'.
305         (complex_vars_of_mule_charset): Likewise; rename
306         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
307
308         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
309         `LEADING_BYTE_JEF_CHINA3'.
310         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
311         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
312
313 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
314
315         * mule-charset.c (encode_builtin_char_1): Comment out special code
316         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
317
318         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
319         (MAX_CHAR_MOJIKYO_0): Comment out.
320         (MIN_CHAR_CBETA): Changed to 0x00E20000.
321         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
322         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
323         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
324
325 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
328         (Qideograph_cbeta): New variable.
329         (encode_builtin_char_1): Comment out special code for
330         coded-charset `mojikyo' and `japanese-jef-china3'.
331         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
332         (complex_vars_of_mule_charset): Add new coded-charset
333         `ideograph-cbeta'.
334
335         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
336         (MIN_CHAR_CBETA): New macro.
337         (MAX_CHAR_CBETA): New macro.
338
339 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
342         (LEADING_BYTE_JEF_CHINA3): New macro.
343         (MIN_CHAR_JEF_CHINA3): New macro.
344         (MAX_CHAR_JEF_CHINA3): Likewise.
345         (DECODE_CHAR): Fixed.
346
347 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
348
349         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
350         (Qjapanese_jef_china3): New variable.
351         (encode_builtin_char_1): Support `japanese-jef-china3'.
352         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
353         (complex_vars_of_mule_charset): Add new coded-charset
354         `japanese-jef-china3'.
355
356 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
359         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
360         94^4, 96^3, 96^4, 128^n and 256^n set.
361         (put_char_table): Use `XCHARSET_CELL_RANGE'.
362         (map_char_table): Likewise.
363
364 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
365
366         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
367         UTF-2000.
368
369 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
370
371         * chartab.h (get_char_id_table): New inline function.
372
373         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
374         function.
375
376 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * chartab.h (decode_char_table_range): New prototype in XEmacs
379         UTF-2000.
380         (put_char_id_table): New inline function in XEmacs UTF-2000.
381
382         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
383         function.
384         (decode_char_table_range): Delete static declaration in XEmacs
385         UTF-2000.
386
387 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
388
389         * chartab.c (put_char_id_table): Use `put_char_table'.
390
391 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
394         (map_over_uint16_byte_table): Likewise.
395         (map_over_byte_table): Likewise.
396         (map_char_table): Modify for `map_over_uint8_byte_table',
397         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
398         UTF-2000.
399
400 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.c (struct map_char_table_for_charset_arg): New
403         structure.
404         (map_char_table_for_charset_fun): New function.
405         (map_char_table): Use `map_char_table' for encoding_table of
406         `range->charset'.
407
408 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
409
410         * chartab.c (map_char_table): Check a character is found in
411         range->charset instead of non default value is defined in
412         char-table when range is CHARTAB_RANGE_ROW.
413
414 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
415
416         * chartab.c (map_char_id_table): Deleted.
417         (Fmap_char_attribute): Use `map_char_table' instead of
418         `map_char_id_table'.
419
420 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
423         UTF-2000.
424         (update_syntax_table): Deleted in XEmacs UTF-2000.
425
426         * syntax.c (find_defun_start): Use `syntax_table' instead of
427         `mirror_syntax_table' in XEmacs UTF-2000.
428         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
429         UTF-2000.
430         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
431         XEmacs UTF-2000.
432         (Fmatching_paren): Likewise.
433         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
434         in XEmacs UTF-2000.
435         (find_start_of_comment): Likewise.
436         (find_end_of_comment): Likewise.
437         (Fforward_comment): Likewise.
438         (scan_lists): Likewise.
439         (char_quoted): Likewise.
440         (Fbackward_prefix_chars): Likewise.
441         (scan_sexps_forward): Likewise.
442         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
443         (update_syntax_table): Likewise.
444
445         * search.c (skip_chars): Use `syntax_table' instead of
446         `mirror_syntax_table' in XEmacs UTF-2000.
447         (wordify): Likewise.
448         (Freplace_match): Likewise.
449
450         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
451         `mirror_syntax_table' in XEmacs UTF-2000.
452         (WORDCHAR_P_UNSAFE): Likewise.
453         (re_match_2_internal): Likewise.
454
455         * font-lock.c (find_context): Use `buf->syntax_table' instead of
456         `buf->mirror_syntax_table' in XEmacs UTF-2000.
457
458         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
459         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
460
461         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
462         XEmacs UTF-2000.
463
464         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
465         UTF-2000.
466         (print_char_table): Print `default_value' in XEmacs UTF-2000.
467         (char_table_description): Delete `mirror_table' in XEmacs
468         UTF-2000.
469         (fill_char_table): Don't call `update_syntax_table' in XEmacs
470         UTF-2000.
471         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
472         (Fcopy_char_table): Likewise.
473         (put_char_table): Don't call `update_syntax_table' in XEmacs
474         UTF-2000.
475
476         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
477         `buf->mirror_syntax_table' in XEmacs UTF-2000.
478         (casify_region_internal): Likewise.
479
480         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
481
482         * buffer.c (common_init_complex_vars_of_buffer): Don't use
483         `mirror_syntax_table' in XEmacs UTF-2000.
484
485         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
486         `buf->mirror_syntax_table' in XEmacs UTF-2000.
487         (Fexpand_abbrev): Likewise.
488
489 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
492
493 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
494
495         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
496         (map_over_uint16_byte_table): Likewise.
497         (map_over_byte_table): Likewise.
498         (get_char_id_table): Refer `cit->default_value'.
499         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
500         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
501         of character-id ranges.
502         (mark_char_table): Mark `ct->default_value'.
503         (char_table_description): Add `default_value'.
504         (fill_char_table): Use `default_value'.
505         (decode_char_table_range): Decode `nil' as
506         `CHARTAB_RANGE_DEFAULT'.
507         (get_char_id_table): Refer `cit->default_value'.
508         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
509         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
510         temporary hack; check value of char-table is bound or not.
511         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
512
513         * chartab.h (struct Lisp_Char_Table): Add new member
514         `default_value' in XEmacs UTF-2000.
515         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
516         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
517         UTF-2000.
518
519 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
520
521         * chartab.h (Lisp_Char_ID_Table): Deleted.
522
523         * chartab.c (char_table_description): Fix typo.
524         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
525         `Lisp_Char_ID_Table'.
526
527 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
528
529         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
530         `CHAR_ID_TABLE_P'.
531
532         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
533         `CHAR_ID_TABLE_P'.
534
535         * chartab.h (XCHAR_ID_TABLE): Deleted.
536         (XSETCHAR_ID_TABLE): Deleted.
537         (CHAR_ID_TABLE_P): Deleted.
538
539         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
540         `CHAR_ID_TABLE_P'.
541         (Fget_composite_char): Likewise.
542         (put_char_table): Likewise.
543         (add_char_attribute_alist_mapper): Fixed.
544         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
545         `CHAR_ID_TABLE_P'.
546         (Fget_char_attribute): Likewise.
547         (Fget_char_attribute): Likewise.
548         (Fmap_char_attribute): Likewise.
549
550         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
551         `CHAR_ID_TABLE_P'.
552         (encode_char_1): Likewise.
553
554 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
557         `XCHAR_ID_TABLE'.
558
559         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
560         instead of `XCHAR_ID_TABLE'.
561         (remove_char_ccs): Likewise.
562
563         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
564         `XCHAR_ID_TABLE'.
565         (Fget_composite_char): Likewise.
566         (Fchar_variants): Likewise.
567         (put_char_table): Likewise.
568         (add_char_attribute_alist_mapper): Likewise.
569         (Fchar_attribute_alist): Likewise.
570         (Fget_char_attribute): Likewise.
571         (Fput_char_attribute): Likewise.
572         (Fmap_char_attribute): Likewise.
573         (Fmap_char_attribute): Likewise.
574
575         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
576         `XCHAR_ID_TABLE'.
577         (encode_char_1): Likewise.
578
579 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
582         `Lisp_Char_ID_Table'.
583         (mark_char_id_table): Deleted.
584         (print_char_id_table): Likewise.
585         (char_id_table_equal): Likewise.
586         (char_id_table_hash): Likewise.
587         (char_id_table_description): Likewise.
588         (char_id_table): Likewise.
589         (make_char_id_table): Use `Fmake_char_table' and
590         `fill_char_table'.
591         (get_char_id_table): Use `Lisp_Char_Table' instead of
592         `Lisp_Char_ID_Table'.
593         (put_char_id_table): Likewise.
594         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
595         `XCHAR_ID_TABLE'.
596         (Fremove_char_attribute): Likewise.
597         (syms_of_chartab): Don't define type `char-id-table'.
598
599         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
600         (char_id_table): Likewise.
601         (GC_CHAR_ID_TABLE_P): Likewise.
602         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
603         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
604         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
605         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
606         (get_char_id_table): Use `Lisp_Char_Table' instead of
607         `Lisp_Char_ID_Table'.
608         (put_char_id_table_0): Likewise.
609         (put_char_id_table): Likewise.
610
611 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
612
613         * chartab.h: Lisp_Byte_Table related codes are moved from
614         chartab.h.
615
616         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
617
618 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
619
620         * chartab.h: Don't include "chartab.h".
621         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
622         (Lisp_Char_ID_Table): Likewise.
623         (char_id_table): Likewise.
624         (XCHAR_ID_TABLE): Likewise.
625         (XSETCHAR_ID_TABLE): Likewise.
626         (CHAR_ID_TABLE_P): Likewise.
627         (GC_CHAR_ID_TABLE_P): Likewise.
628         (get_char_id_table): Likewise.
629
630         * char-ucs.h: Include "chartab.h".
631         (struct Lisp_Char_ID_Table): Moved to chartab.h.
632         (Lisp_Char_ID_Table): Likewise.
633         (char_id_table): Likewise.
634         (XCHAR_ID_TABLE): Likewise.
635         (XSETCHAR_ID_TABLE): Likewise.
636         (CHAR_ID_TABLE_P): Likewise.
637         (GC_CHAR_ID_TABLE_P): Likewise.
638         (get_char_id_table): Likewise.
639
640 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
641
642         * chartab.c (copy_uint8_byte_table): New function.
643         (copy_uint16_byte_table): New function.
644         (copy_byte_table): New function.
645         (map_over_uint8_byte_table): Modify to avoid huge numbers of
646         characters to call.
647         (map_over_uint16_byte_table): Likewise.
648         (map_over_byte_table): Likewise.
649         (get_byte_table): Move prototype to chartab.h.
650         (put_byte_table): Likewise.
651         (put_char_id_table_0): Moved to chartab.h.
652         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
653         (char_table_entry_equal): Likewise.
654         (char_table_entry_hash): Likewise.
655         (char_table_entry_description): Likewise.
656         (char_table_entry): Likewise.
657         (make_char_table_entry): Likewise.
658         (copy_char_table_entry): Likewise.
659         (get_non_ascii_char_table_value): Likewise.
660         (map_over_charset_ascii): Likewise.
661         (map_over_charset_control_1): Likewise.
662         (map_over_charset_row): Likewise.
663         (map_over_other_charset): Likewise.
664         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
665         (print_char_table): Likewise.
666         (char_table_equal): Likewise.
667         (char_table_hash): Likewise.
668         (char_table_description): Likewise.
669         (fill_char_table): Likewise.
670         (Fcopy_char_table): Likewise.
671         (get_char_table): Likewise.
672         (Fget_range_char_table): Likewise.
673         (put_char_table): Likewise.
674         (map_char_table): Likewise.
675         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
676         UTF-2000.
677
678 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
681         `Vauto_fill_chars' in XEmacs UTF-2000.
682
683         * chartab.h (get_byte_table): New prototype [moved from
684         chartab.c].
685         (put_byte_table): Likewise [moved from chartab.c].
686         (put_char_id_table_0): New inline function [moved from chartab.c].
687         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
688         (Lisp_Char_Table_Entry): Likewise.
689         (char_table_entry): Likewise.
690         (XCHAR_TABLE_ENTRY): Likewise.
691         (XSETCHAR_TABLE_ENTRY): Likewise.
692         (CHAR_TABLE_ENTRYP): Likewise.
693         (CHECK_CHAR_TABLE_ENTRY): Likewise.
694         (NUM_ASCII_CHARS): Likewise.
695         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
696         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
697
698 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * chartab.c (get_char_id_table): Change interface.
701         (put_char_id_table_0): New function.
702         (put_char_id_table): Change interface; new implementation.
703         (Fget_composite_char): Modify for interface change of
704         `get_char_id_table'.
705         (Fchar_variants): Likewise.
706         (add_char_attribute_alist_mapper): Likewise.
707         (Fchar_attribute_alist): Likewise.
708         (Fget_char_attribute): Likewise.
709         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
710         as same as character as the first argument like `put-char-table';
711         modify for interface change of `put_char_id_table'.
712         (Fremove_char_attribute): Modify for interface change of
713         `put_char_id_table'.
714
715 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * text-coding.c: Sync up with XEmacs 21.2.41.
718         (COMPOSE_ADD_CHAR): Modify for interface change of
719         `get_char_id_table'.
720
721         * mule-charset.c (put_char_ccs_code_point): Modify for interface
722         change of `put_char_id_table'.
723         (remove_char_ccs): Likewise.
724
725         * chartab.h (put_char_id_table): Change interface.
726
727         * char-ucs.h (get_char_id_table): Change interface.
728         (charset_code_point): Modify for interface change of
729         `get_char_id_table'.
730         (encode_char_1): Likewise.
731
732 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
735         argument `ccs'.
736         (map_over_uint16_byte_table): Likewise.
737         (map_over_byte_table): Likewise.
738         (map_char_id_table): Add new argument `range' like
739         `map_char_table'.
740         (Fmap_char_attribute): Add new argument `range' like
741         `Fmap_char_table'.
742
743 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * chartab.c (map_over_uint8_byte_table): Change interface of
746         mapping function to use struct chartab_range instead of Emchar.
747         (map_over_uint16_byte_table): Likewise.
748         (map_over_byte_table): Likewise.
749         (map_char_id_table): Likewise.
750         (struct slow_map_char_id_table_arg): Deleted.
751         (slow_map_char_id_table_fun): Deleted.
752         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
753         function `slow_map_char_table_fun' instead of struct
754         `slow_map_char_id_table_arg' and function
755         `slow_map_char_id_table_fun'.
756
757 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
758
759         * mule-charset.c: Move char-it-table related codes to chartab.c.
760         (Vutf_2000_version): Moved to chartab.c.
761         (Fdefine_char): Likewise.
762         (Ffind_char): Likewise.
763         (syms_of_mule_charset): Move types `uint8-byte-table',
764         `uint16-byte-table', `byte-table' and `char-id-table' to
765         chartab.c; move functions `char_attribute_list,
766         `find_char_attribute_table, `char_attribute_alist,
767         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
768         `map_char_attribute, `define_char, `find_char, `char_variants and
769         `get_composite_char to chartab.c; move symbols `=>ucs',
770         `->decomposition', `compat', `isolated', `initial', `medial',
771         `final', `vertical', `noBreak', `fraction', `super', `sub',
772         `circle', `square', `wide', `narrow', `small' and `font' to
773         chartab.c.
774         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
775         setting codes for `Vcharacter_composition_table' and
776         `Vcharacter_variant_table' to chartab.c.
777         (complex_vars_of_mule_charset): Move setting code for
778         `Vchar_attribute_hash_table' to chartab.c.
779
780         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
781         (make_char_id_table): New prototype.
782         (put_char_id_table): Likewise.
783         (Fget_char_attribute): Likewise.
784
785         * chartab.c: Move char-id-table related code from mule-charset.c.
786         (Vutf_2000_version): Moved from mule-charset.c.
787
788         * char-ucs.h (Qucs): New external variable.
789         (put_char_ccs_code_point): New prototype.
790         (remove_char_ccs): Likewise.
791
792 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
793
794         * mule-charset.c (Vcharset_ucs_jis): New variable.
795         (Qucs_jis): Likewise.
796         (syms_of_mule_charset): Add new symbol `ucs-jis'.
797         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
798
799         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
800
801 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
802
803         * mule-charset.c (map_over_uint8_byte_table): New function.
804         (map_over_uint16_byte_table): Likewise.
805         (map_over_byte_table): Likewise.
806         (map_char_id_table): Likewise.
807         (slow_map_char_id_table_fun): Likewise.
808         (Fmap_char_attribute): Likewise.
809         (syms_of_mule_charset): Add new function `map-char-attribute'.
810
811 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
812
813         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
814         (syms_of_mule_charset): Add new function `find-char'.
815
816 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
819         XEmacs UTF-2000.
820         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
821         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
822         XEmacs UTF-2000.
823         (complex_vars_of_mule_charset): Add new coded-charset
824         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
825         `ideograph-gt-pj-*'.
826
827         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
828
829 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * mule-charset.c (encode_builtin_char_1): Purge codes about
832         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
833         {MIN|MAX}_CHAR_HEBREW.
834         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
835         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
836
837         * char-ucs.h (MIN_CHAR_GREEK): Purged.
838         (MAX_CHAR_GREEK): Purged.
839         (MIN_CHAR_CYRILLIC): Purged.
840         (MAX_CHAR_CYRILLIC): Purged.
841         (MIN_CHAR_HEBREW): Commented out.
842         (MAX_CHAR_HEBREW): Likewise.
843
844 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * mule-charset.c (Qto_ucs): New variable.
847         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
848         (Fdefine_char): Likewise.
849         (syms_of_mule_charset): Add new symbol `=>ucs'.
850
851 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
852
853         * mule-charset.c (Fdecode_char): Fixed.
854
855 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
858         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
859         "tcvn5712-1".
860
861 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
862
863         * mule-charset.c (Vcharset_ucs_big5): New variable.
864         (Qucs_big5): Likewise.
865         (syms_of_mule_charset): Add new symbol `ucs-big5'.
866         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
867
868         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
869
870 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
871
872         * mule-charset.c (decode_builtin_char): Check Big5 code range
873         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
874
875 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
876
877         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
878         (Qchinese_gb12345): Likewise.
879         (Fdecode_builtin_char): Fixed.
880         (syms_of_mule_charset): Add `chinese-gb12345'.
881         (complex_vars_of_mule_charset): Add coded-charset
882         `chinese-gb12345'.
883
884         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
885         (LEADING_BYTE_CHINESE_GB12345): New macro.
886
887 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
888
889         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
890         and `latin-viscii-upper' for `latin-viscii'.
891
892 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
893
894         * mule-charset.c (Fdecode_builtin_char): Comment out
895         regularization code for ISO-IR GR representation.
896
897 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
898
899         * mule-charset.c (decode_builtin_char): New function; renamed from
900         `make_builtin_char'; return -1 instead of signal.
901         (Fdecode_builtin_char): Use `decode_builtin_char'.
902
903         * char-ucs.h (decode_builtin_char): New prototype; renamed from
904         `make_builtin_char'.
905         (DECODE_CHAR): Use `decode_builtin_char' instead of
906         `make_builtin_char'; use mapping table of `chinese-big5' for
907         `chinese-big5-{1,2}'.
908
909 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * text-coding.c (char_encode_big5): New function.
912         (char_finish_big5): Likewise.
913         (reset_encoding_stream): Use `char_encode_big5' and
914         `char_finish_big5' for CODESYS_BIG5.
915         (mule_encode): Don't use `encode_coding_big5'.
916         (encode_coding_big5): Deleted.
917
918 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
921         0x81- in XEmacs UTF-2000.
922         (detect_coding_big5): Likewise.
923
924 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * mule-charset.c (Fdefine_char): Don't use a CCS property to
927         generate character-id if the CCS property does not have
928         corresponding predefined character.
929         (make_builtin_char): Return -1 if corresponding predefined
930         character is not found.
931         (Fdecode_char): Return nil if corresponding character is not
932         found.
933         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
934         don't map to builtin ucs space.
935
936 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
937
938         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
939         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
940
941 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
942
943         * mule-charset.c (Vcharset_ideograph_gt): New variable.
944         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
945         (Qideograph_gt): Likewise.
946         (Qideograph_gt_pj_{1..11}): Likewise.
947         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
948         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
949         `ideograph-gt-pj-11'.
950         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
951         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
952         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
953
954         * char-ucs.h (LEADING_BYTE_GT): New macro.
955         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
956         (MIN_CHAR_GT): Likewise.
957         (MAX_CHAR_GT): Likewise.
958
959 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
960
961         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
962         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
963
964         * doprnt.c (unsigned_int_converters): Add `c'.
965         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
966
967         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
968         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
969         `MIN_CHAR_MOJIKYO'.
970         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
971         (MAX_CHAR_MOJIKYO_0): New macro.
972         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
973
974 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
975
976         * mule-charset.c (Fdefine_char): Delete cemented out code.
977         (encode_builtin_char_1): Modify for new allocation of builtin
978         Mojikyo characters.
979
980         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
981
982 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * mule-charset.c (Vcharset_ucs_cns): New variable.
985         (Qucs_cns): New variable.
986         (syms_of_mule_charset): Add new symbol `ucs-cns'.
987         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
988
989 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
990
991         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
992
993 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
994
995         * search.c (search_buffer): Make `charset_base_code' as
996         character-id >> 6 to eliminate the corresponding last byte in
997         UTF-8 representation [I'm not sure it is right thing].
998         (boyer_moore): Likewise.
999
1000 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1001
1002         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1003         representation in MULE.
1004
1005 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1006
1007         * text-coding.c (Fmake_coding_system): Use
1008         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1009         `EXTERNAL_PROPERTY_LIST_LOOP'.
1010
1011 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * text-coding.c (decode_output_utf8_partial_char): New function.
1014         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1015
1016 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1017
1018         * text-coding.c (decode_coding_utf8): Output original byte
1019         sequence if it is broken; change order of conditions.
1020
1021         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1022         of conditions.
1023
1024         * mb-multibyte.h (BYTE_ASCII_P):
1025         Use bit ops for char-signedness safety.
1026         (BYTE_C0_P): Use bit ops for char-signedness safety.
1027         (BYTE_C1_P): Use bit ops for char-signedness safety.
1028
1029         * character.h: (XCHAR_OR_CHAR_INT):
1030         Always use inline function.
1031         Remove redundant type checking assert() - XINT will abort quite
1032         nicely.
1033
1034 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * text-coding.c: (Fencode_shift_jis_char):
1037         (Fencode_big5_char):
1038         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1039         Replace 0 with '\0' when working with bytes.
1040         Replace initial "(" with "\(" in docstrings.
1041
1042         (Fmake_coding_system):
1043         When type is ccl and value is vector, register it with a proper
1044         symbol.  And checks whether the given ccl program is valid.
1045         (mule_decode): When calling ccl_driver, if src indicates
1046         NULL pointer, set an empty string instead.
1047         (mule_encode): Likewise.
1048
1049         (detect_eol_type):
1050         (detect_coding_sjis):
1051         (decode_coding_sjis):
1052         (detect_coding_big5):
1053         (decode_coding_big5):
1054         (detect_coding_ucs4):
1055         (decode_coding_ucs4):
1056         (detect_coding_utf8):
1057         (decode_coding_utf8):
1058         (detect_coding_iso2022):
1059         (decode_coding_iso2022):
1060         (decode_coding_no_conversion):
1061         (mule_decode):
1062         Make all detecting and decoding functions take an Extbyte * arg.
1063         (text_encode_generic):
1064         (encode_coding_big5):
1065         (encode_coding_no_conversion):
1066         (mule_encode):
1067         Make all encoding functions take a Bufbyte * arg.
1068         Use size_t instead of unsigned int for memory sizes.
1069         Only cast to unsigned char whenever dereferencing Extbyte *.
1070
1071         (struct lrecord_description fcd_description_1): Use countof.
1072         (complex_vars_of_file_coding):
1073         Use countof instead of sizeof.
1074         Use CHECK_NATNUM instead of CHECK_INT.
1075
1076 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1077
1078         * mule-charset.c (Fget_char_attribute): Add new optional argument
1079         `default-value'.
1080         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1081         (remove_char_ccs): Likewise.
1082
1083 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1084
1085         * text-coding.c (char_encode_shift_jis): New implementation in
1086         UTF-2000.
1087         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1088         ...)'.
1089
1090         * mule-charset.c (Vcharset_chinese_big5): New variable in
1091         UTF-2000.
1092         (Qchinese_big5): New variable in UTF-2000.
1093         (BIG5_SAME_ROW): New macro in UTF-2000.
1094         (make_builtin_char): Use builtin characters of
1095         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1096         characters of `Vcharset_chinese_big5'.
1097         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1098         (complex_vars_of_mule_charset): Add new coded-charset
1099         `chinese-big5' in UTF-2000.
1100
1101         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1102         (Vcharset_chinese_big5): New external variable declaration.
1103         (Vcharset_japanese_jisx0208_1990): Likewise.
1104
1105 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1108         function.
1109         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1110
1111 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1112
1113         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1114         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1115         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1116         `mojikyo-pj-*'.
1117
1118 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1119
1120         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1121
1122 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1123
1124         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1125         to 0.17.
1126
1127 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1128
1129         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1130         for `CHARSET_BY_ATTRIBUTES'.
1131         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1132         `CHARSET_BY_ATTRIBUTES'.
1133
1134         * text-coding.c (struct decoding_stream): Rename member `CH' to
1135         `CPOS'.
1136         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1137         (decode_coding_sjis): Likewise.
1138         (decode_coding_big5): Likewise.
1139         (decode_coding_ucs4): Likewise.
1140         (decode_coding_utf8): Likewise.
1141         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1142         `CHARSET_BY_ATTRIBUTES'.
1143         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1144         `str->counter'; decode 3, 4 bytes sets.
1145         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1146         sets.
1147         (decode_coding_no_conversion): Use `str->cpos' instead of
1148         `str->ch'.
1149
1150         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1151         (Qmojikyo_2022_1): New variable.
1152         (make_charset): Don't use `CHARSET_TYPE_*'.
1153         (range_charset_code_point): Support coded-charset
1154         `mojikyo-2022-1'.
1155         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1156         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1157         `CHARSET_BY_ATTRIBUTES'.
1158         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1159         `CHARSET_BY_ATTRIBUTES'.
1160         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1161         (complex_vars_of_mule_charset): Add new coded-charset
1162         `mojikyo-2022-1'.
1163
1164         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1165         interface; changed to inline function.
1166
1167         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1168         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1169         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1170         (CHARSET_TYPE_94): Deleted.
1171         (CHARSET_TYPE_94X94): Deleted.
1172         (CHARSET_TYPE_96): Deleted.
1173         (CHARSET_TYPE_96X96): Deleted.
1174         (CHARSET_TYPE_128): Deleted.
1175         (CHARSET_TYPE_128X128): Deleted.
1176         (CHARSET_TYPE_256): Deleted.
1177         (CHARSET_TYPE_256X256): Deleted.
1178         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1179         to inline function.
1180         (DECODE_MOJIKYO_2022): New inline function.
1181         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1182         `Vcharset_mojikyo_2022_1'.
1183
1184 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1185
1186         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1187         instead of `EQ'.
1188         (put_byte_table): Likewise.
1189         (char_id_table_equal): Use `get_byte_table' [new implementation].
1190
1191 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * mule-charset.c: Include <limits.h> in UTF-2000.
1194         (BT_UINT8_MIN): New macro in UTF-2000.
1195         (BT_UINT8_MAX): New macro in UTF-2000.
1196         (BT_UINT8_t): New macro in UTF-2000.
1197         (BT_UINT8_nil): New macro in UTF-2000.
1198         (BT_UINT8_unbound): New macro in UTF-2000.
1199         (INT_UINT8_P): New inline function in UTF-2000.
1200         (UINT8_VALUE_P): New inline function in UTF-2000.
1201         (UINT8_ENCODE): New inline function in UTF-2000.
1202         (UINT8_DECODE): New inline function in UTF-2000.
1203         (mark_uint8_byte_table): New function in UTF-2000.
1204         (print_uint8_byte_table): New function in UTF-2000.
1205         (uint8_byte_table_equal): New function in UTF-2000.
1206         (uint8_byte_table_hash): New function in UTF-2000.
1207         (make_uint8_byte_table): New function in UTF-2000.
1208         (uint8_byte_table_same_value_p): New function in UTF-2000.
1209         (BT_UINT16_MIN): New macro in UTF-2000.
1210         (BT_UINT16_MAX): New macro in UTF-2000.
1211         (BT_UINT16_t): New macro in UTF-2000.
1212         (BT_UINT16_nil): New macro in UTF-2000.
1213         (BT_UINT16_unbound): New macro in UTF-2000.
1214         (INT_UINT16_P): New inline function in UTF-2000.
1215         (UINT16_VALUE_P): New inline function in UTF-2000.
1216         (UINT16_ENCODE): New inline function in UTF-2000.
1217         (UINT16_DECODE): New inline function in UTF-2000.
1218         (UINT8_TO_UINT16): New inline function in UTF-2000.
1219         (mark_uint16_byte_table): New function in UTF-2000.
1220         (print_uint16_byte_table): New function in UTF-2000.
1221         (uint16_byte_table_equal): New function in UTF-2000.
1222         (uint16_byte_table_hash): New function in UTF-2000.
1223         (make_uint16_byte_table): New function in UTF-2000.
1224         (uint16_byte_table_same_value_p): New function in UTF-2000.
1225         (print_byte_table): New function in UTF-2000.
1226         (byte-table): Use `print_byte_table' as printer.
1227         (make_byte_table): Delete second argument `older'.
1228         (byte_table_same_value_p): New function in UTF-2000.
1229         (copy_byte_table): Deleted.
1230         (get_byte_table): New function in UTF-2000.
1231         (put_byte_table): New function in UTF-2000.
1232         (print_char_id_table): New function in UTF-2000.
1233         (char-id-table): Use `print_char_id_table' as printer.
1234         (make_char_id_table): Delete second argument `older'.
1235         (get_char_id_table): Use `get_byte_table [new implementation].
1236         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1237         implementation].
1238         (Ffind_char_attribute_table): New function in UTF-2000.
1239         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1240         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1241         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1242         (syms_of_mule_charset): Add new function
1243         `find-char-attribute-table' in UTF-2000.
1244
1245         * lrecord.h (enum lrecord_type): Add
1246         `lrecord_type_uint16_byte_table' and
1247         `lrecord_type_uint8_byte_table'.
1248
1249         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1250         (Lisp_Uint8_Byte_Table): New type.
1251         (XUINT8_BYTE_TABLE): New macro.
1252         (XSETUINT8_BYTE_TABLE): New macro.
1253         (UINT8_BYTE_TABLE_P): New macro.
1254         (GC_UINT8_BYTE_TABLE_P): New macro.
1255         (struct Lisp_Uint16_Byte_Table): New structure.
1256         (Lisp_Uint16_Byte_Table): New type.
1257         (XUINT16_BYTE_TABLE): New macro.
1258         (XSETUINT16_BYTE_TABLE): New macro.
1259         (UINT16_BYTE_TABLE_P): New macro.
1260         (GC_UINT16_BYTE_TABLE_P): New macro.
1261
1262 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1263
1264         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1265         (Vcharacter_ideographic_strokes_table): Deleted.
1266         (Vcharacter_total_strokes_table): Deleted.
1267         (Vcharacter_morohashi_daikanwa_table): Deleted.
1268         (Vcharacter_decomposition_table): Deleted.
1269         (Qname): Deleted because it is duplicated.
1270         (Qideographic_radical): Deleted.
1271         (Qideographic_strokes): Deleted.
1272         (Qtotal_strokes): Deleted.
1273         (Qmorohashi_daikanwa): Deleted.
1274         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1275         `ideographic-radical', `ideographic-strokes', `total-strokes',
1276         `morohashi-daikanwa' and `->decomposition'.
1277         (Fget_char_attribute): Likewise.
1278         (Fput_char_attribute): Likewise; use `make-vector' instead of
1279         `make_older_vector' for `->decomposition' value.
1280         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1281         `ideograph-daikanwa'.
1282         (syms_of_mule_charset): Delete builtin symbols `name',
1283         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1284         `morohashi-daikanwa'.
1285         (vars_of_mule_charset): Don't setup
1286         `Vcharacter_ideographic_radical_table',
1287         `Vcharacter_ideographic_strokes_table',
1288         `Vcharacter_total_strokes_table',
1289         `Vcharacter_morohashi_daikanwa_table' and
1290         `Vcharacter_decomposition_table'.
1291
1292 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1293
1294         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1295         `make_older_vector', `make_vector_newer_1' and
1296         `make_vector_newer'.
1297
1298         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1299         `make_older_vector' and `make_vector_newer'.
1300
1301         * config.h.in (HAVE_GGC): New macro.
1302
1303 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1304
1305         * mule-charset.c (struct char_attribute_list_closure): New
1306         structure in UTF-2000.
1307         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1308         (Fchar_attribute_list): Likewise.
1309         (Fset_charset_mapping_table): Use `make_vector_newer'.
1310         (Fdecode_builtin_char): New function in UTF-2000.
1311         (syms_of_mule_charset): Add new function `char-attribute-list' and
1312         `decode-builtin-char' in UTF-2000.
1313
1314         * lisp.h (make_vector_newer): New prototype.
1315
1316         * alloc.c (make_vector_newer_1): New function.
1317         (make_vector_newer): New function.
1318
1319 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1322         50100)'.
1323
1324 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1327         (Vcharacter_attribute_table): Deleted.
1328         (Vcharacter_name_table): Deleted.
1329         (put_char_attribute): Deleted.
1330         (remove_char_attribute): Deleted.
1331         (struct char_attribute_alist_closure): New structure.
1332         (add_char_attribute_alist_mapper): New function.
1333         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1334         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1335         (Fget_char_attribute): Likewise.
1336         (Fput_char_attribute): Likewise.
1337         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1338         of `remove_char_attribute'.
1339         (Fdefine_char): Return character.
1340         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1341         and `Vcharacter_name_table'.
1342         (complex_vars_of_mule_charset): Likewise
1343         `Vchar_attribute_hash_table'.
1344
1345 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * character.h (CHARC_CHARSET): New macro.
1348         (CHARC_CHARSET_ID): New macro.
1349         (CHARC_CODE_POINT): New macro.
1350         (CHARC_COLUMNS): New macro.
1351         (CHARC_TO_CHAR): New inline function.
1352         (CHARC_EQ): New inline function.
1353         (CHARC_ASCII_EQ): New inline function.
1354         (CHARC_IS_SPACE): New inline function.
1355         (ASCII_TO_CHARC): New inline function.
1356
1357         * char-ucs.h (encode_char_2): Deleted.
1358         (ENCODE_CHAR): Use `encode_char_1' again.
1359         (breakup_char_1): Likewise.
1360         (CHAR_TO_CHARC): New inline function.
1361
1362         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1363
1364 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1365
1366         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1367         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1368         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1369         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1370         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1371         `CHARC_IS_SPACE'.
1372         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1373
1374         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1375         `CHARC_CODE_POINT'.
1376         (x_output_display_block): Use `CHARC_CHARSET' and
1377         `CHARC_ASCII_EQ'.
1378
1379         * redisplay-tty.c (tty_output_display_block): Use
1380         `CHARC_ASCII_EQ'.
1381         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1382
1383         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1384
1385         * insdel.c (find_charsets_in_charc_string): Use
1386         `CHARC_CHARSET_ID'.
1387         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1388         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1389         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1390         (convert_charc_string_into_malloced_string): Likewise.
1391
1392 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1395         instead of <Emchar_dynarr *> for buf; use
1396         `convert_bufbyte_string_into_charc_dynarr' instead of
1397         `convert_bufbyte_string_into_emchar_dynarr'; use
1398         `find_charsets_in_charc_string' instead of
1399         `find_charsets_in_emchar_string'.
1400
1401         * redisplay.h:
1402         - Include "character.h".
1403         (struct rune): New member `cglyph'; delete member `chr'.
1404
1405         * redisplay.c (redisplay_text_width_charc_string): New function;
1406         delete `redisplay_text_width_emchar_string'.
1407         (rtw_charc_dynarr): New variable; renamed from
1408         `rtw_emchar_dynarr'.
1409         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1410         `rtw_emchar_dynarr'; use
1411         `convert_bufbyte_string_into_charc_dynarr' instead of
1412         `convert_bufbyte_string_into_emchar_dynarr'; use
1413         `redisplay_text_width_charc_string' instead of
1414         `redisplay_text_width_emchar_string'.
1415         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1416         instead of `rtw_emchar_dynarr'; use
1417         `convert_bufbyte_string_into_charc_dynarr' instead of
1418         `convert_bufbyte_string_into_emchar_dynarr'.
1419         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1420         `redisplay_text_width_charc_string' instead of
1421         `redisplay_text_width_emchar_string'.
1422         (create_text_block): Modify for <struct rune> change.
1423         (generate_formatted_string_db): Likewise.
1424         (create_string_text_block): Likewise.
1425         (pixel_to_glyph_translation): Likewise.
1426
1427         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1428         instead of <const Emchar *>.
1429         (x_text_width): Likewise.
1430         (x_output_display_block): Use <Charc_dynarr *> instead
1431         <Emchar_dynarr *>; modify for <structure rune> change.
1432         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1433         *>.
1434
1435         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1436         <const Emchar *>; use `charc_string_displayed_columns' instead of
1437         `emchar_string_displayed_columns'.
1438         (tty_output_display_block): Use <Charc_dynarr *> instead of
1439         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1440         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1441         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1442         `tty_output_emchar_dynarr_dynarr'.
1443         (tty_output_charc_dynarr): New function; delete
1444         `tty_output_charc_dynarr'.
1445
1446         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1447         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1448         <Emchar_dynarr *> for buf; use
1449         `convert_bufbyte_string_into_charc_dynarr' instead of
1450         `convert_bufbyte_string_into_emchar_dynarr'.
1451
1452         * frame.c (title_string_charc_dynarr): New variable; renamed from
1453         `title_string_emchar_dynarr'.
1454         (generate_title_string): Use `title_string_charc_dynarr' instead
1455         of `title_string_emchar_dynarr'; use
1456         `convert_charc_string_into_malloced_string' instead of
1457         `convert_emchar_string_into_malloced_string'.
1458         (init_frame): Use `title_string_charc_dynarr' instead of
1459         `title_string_emchar_dynarr'.
1460
1461         * console.h:
1462         - Include "character.h".
1463         (struct console_methods): Use <const Charc *> instead of <const
1464         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1465         <Emchar_dynarr *> in output_string_method.
1466
1467         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1468         <Emchar_dynarr *>.
1469
1470         * console-stream.c (stream_text_width): Use <const Charc *>
1471         instead of <const Emchar *>.
1472
1473         * character.h (Charc_dynarr): New type.
1474
1475         * char-ucs.h (structure Charc): New structure; define new type
1476         `Charc'.
1477
1478         * char-lb.h (DECODE_CHAR): New inline function.
1479         (encode_char_1): New inline function.
1480         (ENCODE_CHAR): New macro.
1481         (structure Charc): New structure; define new type `Charc'.
1482
1483         * char-1byte.h (Vcharset_control_1): New macro.
1484         (Vcharset_latin_iso8859_1): New macro.
1485         (DECODE_CHAR): New inline function.
1486         (encode_char_1): New inline function.
1487         (ENCODE_CHAR): New macro.
1488         (structure Charc): New structure; define new type `Charc'.
1489
1490         * insdel.c (find_charsets_in_charc_string): New function; delete
1491         `find_charsets_in_emchar_string'.
1492         (charc_string_displayed_columns): New function; delete
1493         `emchar_string_displayed_columns'.
1494         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1495         `convert_bufbyte_string_into_emchar_dynarr'.
1496         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1497         `convert_charc_string_into_bufbyte_dynarr'.
1498         (convert_charc_string_into_malloced_string): New function; delete
1499         `convert_charc_string_into_malloced_string'.
1500
1501         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1502         `find_charsets_in_emchar_string'.
1503         (charc_string_displayed_columns): New prototype; delete
1504         `emchar_string_displayed_columns'.
1505         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1506         `convert_charc_string_into_bufbyte_dynarr'.
1507         (convert_charc_string_into_malloced_string): New prototype; delete
1508         `convert_charc_string_into_malloced_string'.
1509
1510 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1511
1512         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1513
1514 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1515
1516         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1517
1518         * char-ucs.h: Use <short> for <Charset_ID>.
1519
1520         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1521         <Charset_ID>.
1522
1523 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1524
1525         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1526         to 0.16.
1527
1528 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1531         variable.
1532         (Qmorohashi_daikanwa): New variable.
1533         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1534         for `morohashi-daikanwa' attribute.
1535         (Fget_char_attribute): Likewise.
1536         (Fput_char_attribute): Likewise.
1537         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1538         has the same value of `ideograph-daikanwa'.
1539         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1540         (vars_of_mule_charset): Setup
1541         `Vcharacter_morohashi_daikanwa_table'.
1542
1543 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1544
1545         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1546         attributes.
1547         (add_charset_to_list_mapper): Add `key' instead of
1548         `XCHARSET_NAME (value)' to return aliases.
1549
1550 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1553         variable.
1554         (Vcharacter_ideographic_strokes_table): New variable.
1555         (Qideographic_radical): New variable.
1556         (Qideographic_strokes): New variable.
1557         (Fchar_attribute_alist): Use
1558         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1559         attribute; use `Vcharacter_ideographic_strokes_table' for
1560         `ideographic-strokes' attribute.
1561         (Fget_char_attribute): Likewise.
1562         (Fput_char_attribute): Likewise.
1563         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1564         `ideographic-strokes'.
1565         (vars_of_mule_charset): Setup
1566         `Vcharacter_ideographic_radical_table' and
1567         `Vcharacter_ideographic_strokes_table'.
1568
1569 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1572         (Qtotal_strokes): New variable.
1573         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1574         `total-strokes' attribute.
1575         (Fget_char_attribute): Likewise.
1576         (Fput_char_attribute): Likewise.
1577         (syms_of_mule_charset): Add new symbol `total-strokes'.
1578         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1579
1580 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1581
1582         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1583         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1584         are found.
1585         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1586         `->decomposition' attribute.
1587         (Fput_char_attribute): Likewise.
1588         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1589
1590 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1591
1592         * mule-charset.c (decoding_table_check_elements): New function.
1593         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1594
1595 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1596
1597         * mule-charset.c (Fset_charset_mapping_table): Use
1598         `put_char_ccs_code_point'.
1599
1600 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1601
1602         * mule-charset.c (decoding_table_put_char): New inline function.
1603         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1604
1605 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1606
1607         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1608         (XCHARSET_BYTE_SIZE): New macro.
1609         (decoding_table_remove_char): New inline function.
1610         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1611         `decoding_table_remove_char'.
1612         (remove_char_ccs): Use `decoding_table_remove_char'.
1613         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1614
1615 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * mule-charset.c (Vcharacter_name_table): New variable.
1618         (Qname): New variable.
1619         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1620         attribute.
1621         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1622         `Vcharacter_name_table' for `name' attribute.
1623         (Fremove_char_attribute): Use function `remove_char_ccs'.
1624         (put_char_ccs_code_point): New function.
1625         (remove_char_ccs): New function.
1626         (syms_of_mule_charset): Add new symbol `name'.
1627         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1628
1629 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1630
1631         * mule-charset.c (make_byte_table): Add new argument `older'.
1632         (make_char_id_table): Likewise.
1633         (copy_char_id_table): Comment out because it is not used.
1634         (put_char_id_table): Modify for `make_byte_table'.
1635         (Fput_char_attribute): Make encoding_table as older object;
1636         inherit older bit of `Vcharacter_composition_table'.
1637         (mark_charset): Don't mark `cs->encoding_table'.
1638         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1639         normal object; make `Vcharacter_composition_table' as an older
1640         object; delete staticpro for `Vcharacter_composition_table'; make
1641         `Vcharacter_variant_table' as a normal object.
1642
1643         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1644         (mark_object): Don't check older object in UTF-2000.
1645
1646         * lrecord.h (struct lrecord_header): Add new member `older' in
1647         UTF-2000.
1648         (set_lheader_implementation): Setup `SLI_header->older' in
1649         UTF-2000.
1650         (set_lheader_older_implementation): New macro in UTF-2000.
1651         (OLDER_RECORD_P): New macro in UTF-2000.
1652         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1653         (alloc_older_lcrecord): New prototype in UTF-2000.
1654         (alloc_older_lcrecord_type): New macro in UTF-2000.
1655
1656 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1657
1658         * mule-charset.c (byte_table_description): Use
1659         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1660         (char_id_table_description): Delete bogus `, 1'.
1661         (Fget_char_attribute): Refer encoding_table of each coded-charset
1662         to get value of coded-charset attribute of a character.
1663         (Fput_char_attribute): Use `make_older_vector' instead of
1664         `make_vector'; use encoding_table of each coded-charset to store
1665         value of coded-charset attribute of a character.
1666         (Fremove_char_attribute): Use encoding_table of each coded-charset
1667         to store value of coded-charset attribute of a character.
1668         (mark_charset): Mark `cs->encoding_table'; don't mark
1669         `cs->decoding_table'.
1670         (charset_description): Add description of new member
1671         `encoding_table'.
1672         (make_charset): Initialize `encoding_table'.
1673
1674         * char-ucs.h (struct Lisp_Charset): Add new member
1675         `encoding_table'.
1676         (CHARSET_ENCODING_TABLE): New macro.
1677         (XCHARSET_ENCODING_TABLE): New macro.
1678         (charset_code_point): New implementation.
1679         (encode_char_1): Likewise.
1680
1681         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1682         (disksave_object_finalization_1): Call finalizers of
1683         `all_older_lcrecords' in UTF-2000.
1684         (make_older_vector): New function in UTF-2000.
1685         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1686         UTF-2000.
1687
1688         * lisp.h (make_older_vector): New prototype in UTF-2000.
1689
1690 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1691
1692         * lrecord.h (enum lrecord_type): Rename
1693         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1694
1695         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1696         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1697         `get_char_code_table'.
1698
1699         * mule-charset.c (mark_char_id_table): Renamed from
1700         `mark_char_code_table'.
1701         (char_id_table_equal): Renamed from `char_code_table_equal'.
1702         (char_id_table_hash): Renamed from `char_code_table_hash'.
1703         (make_char_id_table): Renamed from `make_char_code_table'.
1704         (copy_char_id_table): Renamed from `copy_char_code_table'.
1705         (get_char_id_table): Renamed from `get_char_code_table'.
1706         (put_char_id_table): Renamed from `put_char_code_table'.
1707         (to_char_id): Renamed from `to_char_code'.
1708
1709         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1710         `Lisp_Char_Code_Table'.
1711         (char_id_table): Renamed from `char_code_table'.
1712         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1713         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1714         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1715         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1716         (get_char_id_table): Renamed from `get_char_code_table'.
1717
1718 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1719
1720         * lrecord.h (enum lrecord_type): Rename
1721         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1722
1723         * mule-charset.c (mark_byte_table): Renamed from
1724         `mark_char_byte_table'.
1725         (byte_table_equal): Renamed from `char_byte_table_equal'.
1726         (byte_table_hash): Renamed from `byte_table_hash'.
1727         (make_byte_table): Renamed from `make_byte_table'.
1728         (copy_byte_table): Renamed from `copy_char_byte_table'.
1729
1730         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1731         `Lisp_Char_Byte_Table'.
1732         (byte_table): Renamed from `char_byte_table'.
1733         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1734         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1735         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1736         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1737
1738 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1741         (dfc_convert_to_internal_format): Likewise.
1742         
1743         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1744         * text-coding.c (Fcoding_system_alias_p): New function.
1745         * text-coding.c (Fcoding_system_aliasee): New function.
1746         * text-coding.c (append_suffix_to_symbol): New function.
1747         * text-coding.c (dangling_coding_system_alias_p): New function.
1748         * text-coding.c (Ffind_coding_system):
1749         * text-coding.c (Fcopy_coding_system):
1750         * text-coding.c (encode_coding_no_conversion):
1751         * text-coding.c (syms_of_file_coding):
1752         * text-coding.c (vars_of_file_coding):
1753         Rewrite coding system alias code.
1754         Allow nested aliases, like symbolic links.
1755         Allow redefinition of coding system aliases.
1756         Prevent existence of dangling coding system aliases.
1757         Eliminate convert_to_external_format.
1758         Eliminate convert_to_internal_format.
1759         
1760         * text-coding.c: Change enum eol_type to eol_type_t.
1761
1762 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1763
1764         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1765         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1766
1767         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1768         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1769
1770 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1771
1772         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1773         `ideograph-daikanwa'.
1774
1775         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1776         (Vcharset_ucs_bmp): Likewise.
1777         (Vcharset_mojikyo): Add new extern variable definition.
1778         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1779         (Vcharset_latin_iso8859_3): Likewise.
1780         (Vcharset_latin_iso8859_4): Likewise.
1781         (Vcharset_latin_iso8859_9): Likewise.
1782         (Vcharset_latin_viscii_lower): Likewise.
1783         (Vcharset_latin_viscii_upper): Likewise.
1784         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1785         `mojikyo' code-point is used to decode.
1786         (encode_char_2): New function [to convert `mojikyo' code-point to
1787         Mojikyo font encoding].
1788         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1789         (breakup_char_1): Likewise.
1790         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1791
1792 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1793
1794         * text-coding.c (Fmake_coding_system): Add document about
1795         `disable-composition' property.
1796
1797 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1798
1799         * text-coding.c (Qdisable_composition): New variable; delete
1800         `Qcomposite'.
1801         (Fmake_coding_system): Add new property `disable-composite';
1802         delete property `composite'.
1803         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1804         instead of `!CODING_SYSTEM_COMPOSITE'.
1805         (syms_of_file_coding): Add new symbol `disable-composition';
1806         delete symbol `composite'.
1807
1808         * file-coding.h (struct Lisp_Coding_System): Add
1809         `disable_composition'; delete `enable_composition'.
1810         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1811         `CODING_SYSTEM_COMPOSITE'.
1812         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1813         `XCODING_SYSTEM_COMPOSITE'.
1814
1815 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1816
1817         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1818         to 0.15.
1819
1820 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1821
1822         * text-coding.c (Qcomposite): New variable.
1823         (Fmake_coding_system): Add new property `composite'.
1824         (struct decoding_stream): Add `combined_char_count',
1825         `combined_chars' and `combining_table' in UTF-2000.
1826         (COMPOSE_FLUSH_CHARS): New macro.
1827         (COMPOSE_ADD_CHAR): New macro.
1828         (reset_decoding_stream): Reset `str->combined_char_count' and
1829         `str->combining_table' in UTF-2000.
1830         (decode_coding_iso2022): Modify for character-decomposition.
1831         (syms_of_file_coding): Add new symbol `composite'.
1832
1833 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1834
1835         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1836         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1837         of `Vcharacter_composition_table' if `->decomposition' property
1838         has only 1 element.
1839         (Qlatin_tcvn5712): New variable.
1840         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1841         (complex_vars_of_mule_charset): Add new coded-charset
1842         `latin-tcvn5712'.
1843
1844         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1845
1846 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1847
1848         * file-coding.h (struct Lisp_Coding_System): Add
1849         `enable_composition'.
1850         (CODING_SYSTEM_COMPOSITE): New macro.
1851         (XCODING_SYSTEM_COMPOSITE): New macro.
1852
1853 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1854
1855         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1856
1857 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1858
1859         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1860         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1861
1862 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1863
1864         * mule-charset.c (Vcharset_mojikyo): New variable.
1865         (Fdefine_char): Don't use coded-charset which does not have
1866         non-builtin character range to allocate character-id.
1867         (Qmojikyo): New variable.
1868         (syms_of_mule_charset): Add new symbol `mojikyo'.
1869         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1870
1871         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1872         (LEADING_BYTE_MOJIKYO): New macro.
1873         (MIN_CHAR_MOJIKYO): New macro.
1874         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1875         (MAX_CHAR_MOJIKYO): New macro.
1876
1877 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1878
1879         * mule-charset.c (remove_char_attribute): Fixed.
1880
1881 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1882
1883         * mule-charset.c (remove_char_attribute): New function.
1884         (Fremove_char_attribute): New function.
1885         (encode_builtin_char_1): Comment out builtin-support for
1886         greek-iso8859-7 and cyrillic-iso8859-5.
1887         (Fdecode_char): Check `code' is an integer.
1888         (syms_of_mule_charset): Add `remove-char-attribute'.
1889         (MIN_CHAR_GREEK): Deleted.
1890         (MAX_CHAR_GREEK): Likewise.
1891         (MIN_CHAR_CYRILLIC): Likewise.
1892         (MAX_CHAR_CYRILLIC): Likewise.
1893         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1894         MAX_CHAR_GREEK for `greek-iso8859-7'.
1895
1896         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1897         (MAX_CHAR_GREEK): Likewise.
1898         (MIN_CHAR_CYRILLIC): Likewise.
1899         (MAX_CHAR_CYRILLIC): Likewise.
1900
1901 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1902
1903         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1904         format is used without `ucs' property.
1905         (Fdecode_char): Fix problem with GR representation.
1906         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1907         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1908
1909 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1910
1911         * mule-charset.c (make_builtin_char): New function.
1912         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1913         (Fset_charset_mapping_table): Modify for new representation of
1914         code-point.
1915         (Fdecode_char): New function.
1916         (syms_of_mule_charset): Add new builtin function `decode-char' in
1917         UTF-2000.
1918
1919         * char-ucs.h (make_builtin_char): New prototype.
1920         (DECODE_CHAR): New inline function.
1921         (MAKE_CHAR): Use `DECODE_CHAR'.
1922
1923 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1924
1925         * text-coding.c (parse_charset_conversion_specs): Use
1926         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1927         `XCHARSET_TYPE'.
1928         (iso2022_designate): Likewise.
1929
1930         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1931         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1932
1933         * mule-charset.c (Vcharset_ucs): New variable.
1934         (print_charset): Change design; use `CHARSET_CHARS' and
1935         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1936         (make_charset): Change signature to specify `chars' and
1937         `dimension' instead of `type'.
1938         (range_charset_code_point): Modify for 256^n-set.
1939         (encode_builtin_char_1): Encode as `ucs' in default.
1940         (Fmake_charset): Modify for `make_charset'.
1941         (Fmake_reverse_direction_charset): Likewise.
1942         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1943         UTF-2000.
1944         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1945         for `make_charset'.
1946
1947         * char-ucs.h (Vcharset_ucs): New variable.
1948         (LEADING_BYTE_UCS): New macro.
1949         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1950         and `chars' to `unsigned short' from `unsigned int'.
1951         (CHARSET_TYPE): Deleted.
1952         (XCHARSET_TYPE): Deleted.
1953
1954 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1955
1956         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1957
1958         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1959         (ENCODE_CHAR): New macro.
1960
1961 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1962
1963         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1964         to 0.14 (Kawachi-Katakami).
1965
1966 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1967
1968         * text-coding.c (char_encode_shift_jis): Modify for
1969         `charset_code_point'.
1970         (char_encode_iso2022): Likewise.
1971
1972         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1973         (integer) instead of list of <Lisp_Object>s (integers) as the
1974         format of code-point of a coded-charset.
1975         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1976         (encode_builtin_char_1): New function; delete
1977         `split_builtin_char'.
1978         (charset_code_point): Return <int> instead of <Lisp_Object>.
1979         (Fsplit_char): Don't use `SPLIT_CHAR'.
1980
1981         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1982         prototype for `split_builtin_char'.
1983         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1984         (charset_code_point): Likewise.
1985         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1986         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1987
1988 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1989
1990         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1991         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1992
1993 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1994
1995         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1996
1997         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1998         (MAX_CHAR_OBS_94x94): Deleted.
1999
2000 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2001
2002         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2003
2004         * char-ucs.h (MAX_CHAR_BMP): New macro.
2005
2006 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2007
2008         * text-coding.c: Sync with r21-2-24.
2009
2010 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2011
2012         * file-coding.c: Modify for UTF-2000.
2013
2014 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2015
2016         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2017         to 0.13 (Takaida).
2018
2019 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2020
2021         * mule-charset.c (split_builtin_char): Delete builtin support for
2022         `katakana-jisx0201'.
2023         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2024         BMP area in builtin representation.
2025
2026         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2027         `Vcharset_katakana_jisx0201'.
2028
2029 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2030
2031         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2032         (Qisolated): New variable.
2033         (Qinitial): New variable.
2034         (Qmedial): New variable.
2035         (Qfinal): New variable.
2036         (Qvertical): New variable.
2037         (Qsmall): New variable.
2038         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2039         `Qvertical' and `Qsmall'.
2040         (Qmojikyo_pj_[1 .. 21]): New variable.
2041         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2042         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2043         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2044         .. 21]'.
2045
2046 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2047
2048         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2049         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2050         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2051
2052 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2053
2054         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2055         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2056         BMP.
2057         (Qjapanese_jisx0208_1990): New variable.
2058         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2059         (complex_vars_of_mule_charset): Add new coded-charset
2060         `japanese-jisx0208-1990'.
2061
2062         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2063         (MIN_CHAR_JIS_X0208_1990): New macro.
2064         (MAX_CHAR_JIS_X0208_1990): New macro.
2065
2066 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2067
2068         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2069         coded-charset is not found.
2070
2071 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2072
2073         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2074         (Fdefine_char): Use `Fmake_char'.
2075
2076 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2077
2078         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2079         (Vcharset_hiragana_jisx0208): Deleted.
2080         (Vcharset_katakana_jisx0208): Deleted.
2081         (Qideograph_daikanwa): New variable.
2082         (Qhiragana_jisx0208): Deleted.
2083         (Qkatakana_jisx0208): Deleted.
2084         (split_builtin_char): Split `ideograph-daikanwa'.
2085         (Fsplit_char): New implementation for UTF-2000.
2086         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2087         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2088         (complex_vars_of_mule_charset): Add new coded-charset
2089         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2090         `katakana-jisx0208'.
2091
2092         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2093         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2094         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2095         (MIN_CHAR_DAIKANWA): New macro.
2096         (MAX_CHAR_DAIKANWA): New macro.
2097
2098 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2099
2100         * data.c (Fstring_to_number): Don't recognize floating point if
2101         base is not 10.
2102
2103 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2104
2105         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2106
2107 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2108
2109         * mule-charset.c (Qsquare): New variable.
2110         (to_char_code): Add `Qsquare'.
2111         (syms_of_mule_charset): Add new symbol `square'.
2112
2113 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2114
2115         * mule-charset.c (Qcircle): New variable.
2116         (to_char_code): Add `Qcircle'.
2117         (syms_of_mule_charset): Add new symbol `circle'.
2118
2119 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2120
2121         * mule-charset.c (Qfont): New variable.
2122         (to_char_code): Add `Qfont'.
2123         (syms_of_mule_charset): Add new symbol `font'.
2124
2125 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2126
2127         * mule-charset.c (Qsub): New variable.
2128         (to_char_code): Add `Qsub'.
2129         (syms_of_mule_charset): Add new symbol `sub'.
2130
2131 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2132
2133         * mule-charset.c (Fput_char_attribute): Convert each element of
2134         VALUE to GL position if ATTRIBUTE is a GR-set,
2135
2136 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2137
2138         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2139         coded-charset is a GR-set.
2140
2141 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2142
2143         * mule-charset.c (Fput_char_attribute): Check each element of
2144         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2145
2146 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2147
2148         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2149         UTF-2000.
2150         (Qethiopic_ucs): New variable in UTF-2000.
2151         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2152         (complex_vars_of_mule_charset): Add new coded-charset
2153         `ethiopic-ucs' in UTF-2000.
2154
2155         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2156         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2157         9)'.
2158         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2159         10)'.
2160         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2161
2162 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2163
2164         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2165         `ascii'.
2166
2167 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2168
2169         * mule-charset.c (Vcharacter_variant_table): New variable.
2170         (Q_ucs): New variable.
2171         (Fchar_variants): New function.
2172         (Fput_char_attribute): Register `->ucs' value to
2173         `Vcharacter_variant_table'.
2174         (syms_of_mule_charset): Add new function `char-variants' and new
2175         symbol `->ucs'.
2176         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2177
2178 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2179
2180         * mule-charset.c (get_char_code_table): Allow negative character
2181         code.
2182         (put_char_code_table): Likewise.
2183         (Vcharacter_composition_table): New variable.
2184         (Q_decomposition): New variable.
2185         (Qwide): New variable.
2186         (Qnarrow): New variable.
2187         (Qcompat): New variable.
2188         (QnoBreak): New variable.
2189         (Qsuper): New variable.
2190         (Qfraction): New variable.
2191         (to_char_code): New function.
2192         (Fget_composite_char): New function.
2193         (Fput_char_attribute): Register `->decomposition' value to
2194         `Vcharacter_composition_table'.
2195         (syms_of_mule_charset): Add new function `get-composite-char', new
2196         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2197         `super' and `fraction'.
2198         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2199
2200 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2201
2202         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2203         character; copy the return value.
2204
2205 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2206
2207         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2208
2209         * mule-charset.c (range_charset_code_point): Must use make_int.
2210         (split_builtin_char): New function.
2211
2212 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2213
2214         * mule-charset.c (char_byte_table): Change name from
2215         "char-code-table" to "char-byte-table".
2216         (mark_char_code_table): New function.
2217         (char_code_table_equal): New function.
2218         (char_code_table_hash): New function.
2219         (char_code_table_description): New constant.
2220         (char_code_table): New type.
2221         (make_char_code_table): New function.
2222         (copy_char_code_table): New function.
2223         (get_char_code_table): Modify for `char_code_table' type.
2224         (put_char_code_table): Likewise.
2225         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2226         (Kashiwara).
2227
2228         * char-ucs.h (char_code_table): New type.
2229         (XCHAR_CODE_TABLE): New macro.
2230         (XSETCHAR_CODE_TABLE): New macro.
2231         (CHAR_CODE_TABLE_P): New macro.
2232         (GC_CHAR_CODE_TABLE_P): New macro.
2233         (struct Lisp_Char_Code_Table): New structure.
2234
2235 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2236
2237         * mule-charset.c (Fmake_charset): Setup byte_offset for
2238         {94|96}^n-set.
2239
2240 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2241
2242         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2243         character.
2244
2245 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2246
2247         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2248         is found.
2249
2250 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2251
2252         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2253         charset, it is regarded as a charset.
2254         (put_char_attribute): New function in UTF-2000.
2255         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2256         charset, mapping-table of the charset is modified.
2257         (Fdefine_char): New function in UTF-2000.
2258         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2259         `Fput_char_attribute'.
2260         (syms_of_mule_charset): Add new function `define-char' and new
2261         symbol `ucs' in UTF-2000.
2262         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2263
2264 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2265
2266         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2267         non-UTF-2000 configuration.
2268
2269 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2270
2271         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2272         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2273
2274         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2275         deleted.
2276         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2277         (Fset_charset_mapping_table): Likewise.
2278
2279         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2280         (CHARSET_ENCODING_TABLE): Delete.
2281         (XCHARSET_ENCODING_TABLE): Delete.
2282         (charset_code_point): New interface.
2283
2284 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2285
2286         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2287         instead of `charset_get_byte1' and `charset_get_byte2'.
2288
2289         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2290         (charset_get_byte2): Deleted.
2291
2292 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2293
2294         * char-ucs.h (SPLIT_CHAR): New inline function.
2295         (breakup_char_1): Use `SPLIT_CHAR'.
2296
2297         * mule-charset.c (range_charset_code_point): New function.
2298         (charset_code_point): New function.
2299
2300         * char-ucs.h (range_charset_code_point): New interface.
2301         (breakup_char_1): Use `range_charset_code_point'.
2302
2303 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2304
2305         * mule-charset.c (Fmake_charset): Delete unused local variable
2306         `code_offset'.
2307
2308         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2309         (breakup_char_1): Find a charset and code-point in
2310         `Vcharacter_attribute_table'.
2311
2312 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2313
2314         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2315         to 0.10 (Yao).
2316
2317 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2318
2319         * mule-charset.c (Vcharacter_attribute_table): New variable.
2320         (Fchar_attribute_alist): New function.
2321         (Fget_char_attribute): New function.
2322         (Fput_char_attribute): New function.
2323         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2324         too.
2325         (syms_of_mule_charset): Add new function `char-attribute-alist',
2326         `get-char-attribute' and `put-char-attribute'.
2327         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2328
2329 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2330
2331         * mule-charset.c (Fmake_charset): Just use
2332         `get_unallocated_leading_byte'.
2333
2334         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2335         sets; don't use final-byte based number for private sets.
2336
2337 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2338
2339         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2340         integer.
2341
2342 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2343
2344         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2345         to 0.9.
2346
2347 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2348
2349         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2350         of `CHAR_LEADING_BYTE' in UTF-2000.
2351
2352         * insdel.c (find_charsets_in_bufbyte_string): Use
2353         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2354         (find_charsets_in_emchar_string): Likewise.
2355
2356         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2357         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2358
2359         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2360         (CHAR_CHARSET_ID): New macro.
2361
2362 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2363
2364         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2365         charset-id - MIN_LEADING_BYTE.
2366         (put_char_table): Likewise.
2367
2368 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2369
2370         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2371         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2372         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2373         (CHARSET_ID_OFFSET): New macro.
2374         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2375         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2376         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2377         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2378         4).
2379         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2380         5).
2381         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2382         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2383         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2384         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2385         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2386
2387 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2388
2389         * mule-charset.c (next_allocated_leading_byte): New variable in
2390         UTF-2000.
2391         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2392         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2393         (get_unallocated_leading_byte): Simply use
2394         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2395         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2396         UTF-2000.
2397
2398         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2399         (MAX_LEADING_BYTE_PRIVATE): New macro.
2400         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2401         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2402
2403 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2404
2405         * mule-charset.c (Fmake_charset): Allocate final-byte based
2406         charset-id for 94-set, 96-set and 94x94-set.
2407
2408 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2409
2410         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2411         ambiguous `else'.
2412         (Fmake_charset): Likewise.
2413         (complex_vars_of_mule_charset): Modify the font registry of
2414         `ucs-bmp' not to match `Ethiopic-Unicode'.
2415
2416 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2417
2418         * mule-charset.c (complex_vars_of_mule_charset): Add font
2419         registory of `ucs-bmp'.
2420
2421 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2422
2423         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2424         coded-charsets in `default-coded-charset-priority-list' when
2425         breaking up a character.
2426
2427         * mule-charset.c (Vcharset_latin_viscii): New variable.
2428         (Qlatin_viscii): New variable.
2429         (make_charset): Don't use `decoding_table'.
2430         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2431         byte_offset.
2432         (Fset_charset_mapping_table): New implementation.
2433         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2434         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2435         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2436         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2437         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2438         charset `latin_viscii'.
2439
2440         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2441         (CHARSET_TYPE_94X94): Change to 1 from 2.
2442         (CHARSET_TYPE_96): Change to 2 from 1.
2443         (CHARSET_TYPE_128): New macro.
2444         (CHARSET_TYPE_128X128): Change to 5 from 4.
2445         (CHARSET_TYPE_256): New macro.
2446         (CHARSET_TYPE_256X256): Change to 7 from 5.
2447         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2448
2449 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2450
2451         * text-coding.c (char_encode_shift_jis): Refer
2452         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2453         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2454
2455         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2456         (char_byte_table_equal): New function in UTF-2000.
2457         (char_byte_table_hash): New function in UTF-2000.
2458         (char_byte_table_description): New constant in UTF-2000.
2459         (char_byte_table): New type in UTF-2000.
2460         (make_char_byte_table): New function in UTF-2000.
2461         (copy_char_byte_table): New function in UTF-2000.
2462         (make_char_code_table): New macro in UTF-2000.
2463         (get_char_code_table): New function in UTF-2000.
2464         (put_char_code_table): New function in UTF-2000.
2465         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2466         (charset_description): Add setting in UTF-2000.
2467         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2468         `CHARSET_TO_BYTE1_TABLE(cs)'.
2469         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2470         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2471         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2472         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2473         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2474         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2475         `CHARSET_TO_BYTE2_TABLE(cs)'.
2476
2477         * char-ucs.h (char_byte_table): New type.
2478         (XCHAR_BYTE_TABLE): New macro.
2479         (XSETCHAR_BYTE_TABLE): New macro.
2480         (CHAR_BYTE_TABLE_P): New macro.
2481         (GC_CHAR_BYTE_TABLE_P): New macro.
2482         (struct Lisp_Char_Byte_Table): New structure.
2483         (get_char_code_table): New interface.
2484         (Emchar_to_byte_table): Deleted.
2485         (get_byte_from_character_table): Deleted.
2486         (struct Lisp_Charset): Add `encoding_table'; delete
2487         `to_byte1_table' and `to_byte2_table'.
2488         (CHARSET_ENCODING_TABLE): New macro.
2489         (CHARSET_TO_BYTE1_TABLE): Deleted.
2490         (CHARSET_TO_BYTE2_TABLE): Deleted.
2491         (XCHARSET_ENCODING_TABLE): New macro.
2492         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2493         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2494
2495 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2496
2497         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2498         `vietnamese-viscii-*'.
2499
2500 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2501
2502         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2503         (Qvietnamese_viscii_upper): New variable.
2504         (Fdefine_charset_alias): New function.
2505         (syms_of_mule_charset): Add new function `define-charset-alias'.
2506         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2507         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2508         `latin-viscii-*'.
2509
2510 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2511
2512         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2513         (MAX_CHAR_OBS_94x94): New macro.
2514         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2515         for 94x94 sets.
2516
2517         * mule-charset.c (put_byte_from_character_table): Change unit size
2518         from 128 to 256.
2519         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2520         not defined.
2521         (Fmake_reverse_direction_charset): Modify dummy argument of
2522         `make_charset' for non-UTF-2000 environment.
2523
2524 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2525
2526         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2527
2528         * mule-charset.c (destroy_byte_from_character_table): New macro.
2529         (latin_jisx0201_to_ucs): Deleted.
2530         (latin_iso8859_2_to_ucs): Deleted.
2531         (latin_iso8859_3_to_ucs): Deleted.
2532         (latin_iso8859_4_to_ucs): Deleted.
2533         (latin_iso8859_9_to_ucs): Deleted.
2534         (latin_viscii_lower_to_ucs): Deleted.
2535         (latin_viscii_upper_to_ucs): Deleted.
2536         (mark_charset): Mark `cs->decoding_table'.
2537         (Fcharset_mapping_table): Fix DOC-string.
2538         (Fset_charset_mapping_table): New function.
2539         (syms_of_mule_charset): Add nwe function
2540         `set-charset-mapping-table'.
2541         (complex_vars_of_mule_charset): Don't setup and use
2542         `latin_*_to_ucs'.
2543
2544 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2545
2546         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2547         charset.
2548
2549 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2550
2551         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2552         (Vcharset_katakana_jisx0208): New variable.
2553         (Qhiragana_jisx0208): New variable.
2554         (Qkatakana_jisx0208): New variable.
2555         (make_charset): Add new argument `byte_offset'.
2556         (charset_get_byte1): Modify for new coded-charset definition; use
2557         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2558         `XCHARSET_BYTE_OFFSET'.
2559         (Fmake_charset): Modify for `make_charset'.
2560         (Fmake_reverse_direction_charset): Likewise.
2561         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2562         `katakana-jisx0208'.
2563         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2564         `.'  in font registry of charset `katakana-jisx0201',
2565         `latin-jisx0201', `vietnamese-viscii-lower' and
2566         `vietnamese-viscii-upper'; modify DOC-string of charset
2567         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2568         registry of charset `japanese-jisx0208' not to use font for JIS
2569         X0208:1990; add new charset `hiragana-jisx0208' and
2570         `katakana-jisx0208'.
2571
2572         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2573         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2574         (struct Lisp_Charset): Add `byte_offset'.
2575         (CHARSET_BYTE_OFFSET): New macro.
2576         (XCHARSET_UCS_MIN): New macro.
2577         (XCHARSET_UCS_MAX): New macro.
2578         (XCHARSET_CODE_OFFSET): New macro.
2579         (XCHARSET_BYTE_OFFSET): New macro.
2580         (MIN_CHAR_HIRAGANA): New macro.
2581         (MAX_CHAR_HIRAGANA): New macro.
2582         (MIN_CHAR_KATAKANA): New macro.
2583         (MAX_CHAR_KATAKANA): New macro.
2584         (MAKE_CHAR): Modify for new coded-charset definition; use
2585         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2586         `XCHARSET_BYTE_OFFSET'.
2587
2588 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2589
2590         * mule-charset.c (CHAR96): Deleted.
2591         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2592         <Lisp_Object>.
2593         (latin_iso8859_2_to_ucs): Likewise.
2594         (latin_iso8859_3_to_ucs): Likewise.
2595         (latin_iso8859_4_to_ucs): Likewise.
2596         (latin_iso8859_9_to_ucs): Likewise.
2597         (latin_viscii_lower_to_ucs): Likewise.
2598         (latin_viscii_upper_to_ucs): Likewise.
2599         (latin_tcvn5712_to_ucs): Commented out.
2600         (make_charset): Change type of argument `decoding_table' from
2601         <Emchar*> to <Lisp_Object> [vector of characters].
2602         (Fmake_charset): Modify for `make_charset'.
2603         (Fmake_reverse_direction_charset): Likewise.
2604         (Fcharset_mapping_table): New function in UTF-2000.
2605         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2606         UTF-2000.
2607         (complex_vars_of_mule_charset): Modify for type change of
2608         `*_to_ucs'; modify for `make_charset'.
2609
2610         * char-ucs.h (struct Lisp_Charset): Change type of
2611         `decoding_table' from <Emchar*> to <Lisp_Object>.
2612         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2613
2614 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2615
2616         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2617         error with non-UTF-2000-Mule.
2618
2619 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2620
2621         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2622         in lisp again].
2623         (Vcharset_chinese_cns11643_4): Likewise.
2624         (Vcharset_chinese_cns11643_5): Likewise.
2625         (Vcharset_chinese_cns11643_6): Likewise.
2626         (Vcharset_chinese_cns11643_7): Likewise.
2627         (Qchinese_cns11643_3): Likewise.
2628         (Qchinese_cns11643_4): Likewise.
2629         (Qchinese_cns11643_5): Likewise.
2630         (Qchinese_cns11643_6): Likewise.
2631         (Qchinese_cns11643_7): Likewise.
2632         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2633         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2634         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2635         (complex_vars_of_mule_charset): Likewise.
2636
2637 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2638
2639         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2640         96-set.
2641         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2642         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2643
2644 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2645
2646         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2647         0xFF60.
2648         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2649         (breakup_char_1): Likewise.
2650
2651         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2652         one of them includes the specified character.
2653
2654 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2655
2656         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2657
2658 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2659
2660         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2661
2662 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2663
2664         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2665         definition for non-UTF-2000 Mule.
2666         (latin_iso8859_3_to_ucs): Likewise.
2667         (latin_iso8859_4_to_ucs): Likewise.
2668         (latin_iso8859_9_to_ucs): Likewise.
2669         (latin_jisx0201_to_ucs): Likewise.
2670         (MIN_CHAR_THAI): Likewise.
2671         (MAX_CHAR_THAI): Likewise.
2672         (MIN_CHAR_GREEK): Likewise.
2673         (MAX_CHAR_GREEK): Likewise.
2674         (MIN_CHAR_HEBREW): Likewise.
2675         (MAX_CHAR_HEBREW): Likewise.
2676         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2677         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2678         (MIN_CHAR_CYRILLIC): Likewise.
2679         (MAX_CHAR_CYRILLIC): Likewise.
2680
2681 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2682
2683         * char-ucs.h (breakup_char_1): Use
2684         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2685         thai-tis620 and katakana-jisx0201 area.
2686
2687 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2688
2689         * char-ucs.h (breakup_char_1): Use
2690         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2691         area.
2692
2693         * text-coding.c (reset_encoding_stream): Fixed.
2694         (char_encode_ucs4): Delete `& 255'.
2695
2696         * char-ucs.h (breakup_char_1): Use
2697         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2698
2699 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2700
2701         * file-coding.c (Fmake_coding_system): Don't set up
2702         `codesys->fixed.size'.
2703         (encode_coding_no_conversion): Don't refer
2704         `str->codesys->fixed.size'.
2705
2706 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2707
2708         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2709         (latin_a_char_to_byte1): Deleted.
2710         (latin_a_char_to_byte2): Deleted.
2711
2712 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2713
2714         * mule-charset.c (make_charset): Add new argument `ucs_min',
2715         `ucs_max' and `code_offset'.
2716         (charset_get_byte1): New implementation [delete specific charset
2717         depended implementations].
2718         (Fmake_charset): Modify for `make_charset'.
2719         (Fmake_reverse_direction_charset): Likewise.
2720         (complex_vars_of_mule_charset): Likewise.
2721
2722         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2723         `code_offset'.
2724         (CHARSET_UCS_MIN): New macro.
2725         (CHARSET_UCS_MAX): New macro.
2726         (CHARSET_CODE_OFFSET): New macro.
2727         (MAKE_CHAR): Delete charset depended definitions [except
2728         katakana-jisx0201].
2729
2730 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2731
2732         * char-ucs.h (breakup_char_1): Use
2733         `Vdefault_coded_charset_priority_list' for C0-Controls,
2734         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2735
2736 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2737
2738         * char-ucs.h (charset_get_byte1): New function.
2739         (XCHARSET_GET_BYTE1): Deleted.
2740         (charset_get_byte2): New function.
2741         (XCHARSET_GET_BYTE2): Deleted.
2742         (Vdefault_coded_charset_priority_list): New external variable.
2743         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2744         `Vdefault_preferred_coded_charset_list'.
2745
2746         * mule-charset.c (charset_get_byte1): New function.
2747         (charset_get_byte2): New function.
2748         (Vdefault_coded_charset_priority_list): New variable.
2749         (vars_of_mule_charset): Add new variable
2750         `default-coded-charset-priority-list'.
2751
2752 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2753
2754         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2755         (XCHARSET_GET_BYTE2): New inline function.
2756         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2757         `XCHARSET_GET_BYTE2'.
2758
2759 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2760
2761         * mule-charset.c (make_charset): Initialize
2762         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2763         NULL if table is not defined.
2764
2765 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2766
2767         * text-coding.c (char_encode_shift_jis): Use
2768         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2769         `ucs_to_latin_jisx0201'.
2770
2771         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2772         (ucs_to_latin_iso8859_2): Deleted.
2773         (ucs_to_latin_iso8859_3): Deleted.
2774         (ucs_to_latin_iso8859_4): Deleted.
2775         (ucs_to_latin_iso8859_9): Deleted.
2776         (ucs_to_latin_viscii_lower): Deleted.
2777         (ucs_to_latin_viscii_upper): Deleted.
2778         (ucs_to_latin_tcvn5712): Deleted.
2779         (make_charset): Add new argument `decoding_table'; set up
2780         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2781         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2782         `decoding_table' is defined in UTF-2000.
2783         (Fmake_charset): Modify for `make_charset'.
2784         (Fmake_reverse_direction_charset): Likewise.
2785         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2786         and `GENERATE_96_SET'.
2787
2788         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2789         (ucs_to_latin_jisx0201): Deleted.
2790         (latin_iso8859_2_to_ucs): Deleted.
2791         (ucs_to_latin_iso8859_2): Deleted.
2792         (latin_iso8859_3_to_ucs): Deleted.
2793         (ucs_to_latin_iso8859_3): Deleted.
2794         (latin_iso8859_4_to_ucs): Deleted.
2795         (ucs_to_latin_iso8859_4): Deleted.
2796         (latin_iso8859_9_to_ucs): Deleted.
2797         (ucs_to_latin_iso8859_9): Deleted.
2798         (latin_viscii_lower_to_ucs): Deleted.
2799         (ucs_to_latin_viscii_lower): Deleted.
2800         (latin_viscii_upper_to_ucs): Deleted.
2801         (ucs_to_latin_viscii_upper): Deleted.
2802         (struct Lisp_Charset): Renamed `encoding_table' to
2803         `to_byte1_table'; add `to_byte2_table'.
2804         (CHARSET_DECODING_TABLE): New macro.
2805         (CHARSET_TO_BYTE1_TABLE): New macro.
2806         (CHARSET_TO_BYTE2_TABLE): New macro.
2807         (XCHARSET_DECODING_TABLE): New macro.
2808         (XCHARSET_TO_BYTE1_TABLE): New macro.
2809         (XCHARSET_TO_BYTE2_TABLE): New macro.
2810         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2811         tables.
2812         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2813         don't use `ucs_to_*' tables.
2814
2815 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2816
2817         * text-coding.c (Fmake_coding_system): Don't set up
2818         `codesys->fixed.size'.
2819         (encode_coding_no_conversion): Use `if' instead of `switch'.
2820
2821         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2822
2823 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2824
2825         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2826         (Fmake_charset): Modify for `make_charset'.
2827         (Fmake_reverse_direction_charset): Likewise.
2828         (complex_vars_of_mule_charset): Likewise.
2829
2830 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2831
2832         * text-coding.c (char_encode_shift_jis): Use table
2833         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2834
2835 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2836
2837         * text-coding.c (text_encode_generic): Use `if' instead of
2838         `switch'.
2839         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2840         decode JIS-Latin.
2841
2842 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2843
2844         * text-coding.c (encode_coding_sjis): Deleted.
2845         (char_encode_shift_jis): New function.
2846         (char_finish_shift_jis): New function.
2847         (reset_encoding_stream): Set up `encode_char' and `finish' for
2848         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2849         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2850         (char_encode_utf8): Treat `eol_type'.
2851
2852 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2853
2854         * file-coding.c (decode_coding_iso2022): Use
2855         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2856
2857 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2858
2859         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2860         to 0.7 (Hirano).
2861
2862 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2863
2864         * char-lb.h (CHAR_COLUMNS): New macro.
2865
2866 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2867
2868         * text-coding.c (char_encode_ucs4): New function.
2869         (char_finish_ucs4): New function.
2870         (encode_coding_ucs4): Deleted.
2871         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2872         (text_encode_generic): Delete local variable `charset' and `half'.
2873         (ucs_to_mule_table): Deleted.
2874         (mule_to_ucs_table): Deleted.
2875         (Fset_ucs_char): Deleted.
2876         (ucs_to_char): Deleted.
2877         (Fucs_char): Deleted.
2878         (Fset_char_ucs): Deleted.
2879         (Fchar_ucs): Deleted.
2880         (decode_ucs4): Deleted.
2881         (mule_char_to_ucs4): Deleted.
2882         (encode_ucs4): Deleted.
2883         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2884         (decode_coding_utf8): Likewise.
2885         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2886         (char_encode_iso2022): Fixed.
2887         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2888         `Fset_char_ucs' and `Fchar_ucs'.
2889         (complex_vars_of_file_coding): Don't initialize
2890         `ucs_to_mule_table'.
2891
2892         * objects-tty.c (tty_initialize_font_instance): Don't use
2893         `XCHARSET_COLUMNS'.
2894
2895         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2896         UTF-2000.
2897
2898         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2899         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2900
2901         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2902         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2903         (emchar_string_displayed_columns): Likewise.
2904
2905         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2906         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2907         (string_column_at_point): Likewise.
2908         (Fmove_to_column): Likewise.
2909
2910         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2911         `encoding_table' and `decoding_table'.
2912         (CHARSET_REP_BYTES): Deleted.
2913         (XCHARSET_REP_BYTES): Deleted.
2914         (XCHARSET_COLUMNS): Deleted.
2915         (CHAR_COLUMNS): New macro.
2916         (lookup_composite_char): Deleted unconditionally.
2917         (composite_char_string): Likewise.
2918
2919 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2920
2921         * char-ucs.h (Emchar_to_byte_table): New type.
2922         (get_byte_from_character_table): New function interface.
2923         (Vcharset_latin_jisx0201): New variable.
2924         (latin_jisx0201_to_ucs): New variable.
2925         (ucs_to_latin_jisx0201): New variable.
2926         (Vcharset_latin_iso8859_2): New variable.
2927         (latin_iso8859_2_to_ucs): New variable.
2928         (ucs_to_latin_iso8859_2): New variable.
2929         (Vcharset_latin_iso8859_3): New variable.
2930         (latin_iso8859_3_to_ucs): New variable.
2931         (ucs_to_latin_iso8859_3): New variable.
2932         (Vcharset_latin_iso8859_4): New variable.
2933         (latin_iso8859_4_to_ucs): New variable.
2934         (ucs_to_latin_iso8859_4): New variable.
2935         (Vcharset_latin_iso8859_9): New variable.
2936         (latin_iso8859_9_to_ucs): New variable.
2937         (ucs_to_latin_iso8859_9): New variable.
2938         (Vcharset_latin_viscii_lower): New variable.
2939         (latin_viscii_lower_to_ucs): New variable.
2940         (ucs_to_latin_viscii_lower): New variable.
2941         (Vcharset_latin_viscii_upper): New variable.
2942         (latin_viscii_upper_to_ucs): New variable.
2943         (ucs_to_latin_viscii_upper): New variable.
2944         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2945         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2946         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2947         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2948         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2949         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2950         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2951         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2952         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2953         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2954
2955         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2956         (Vcharset_latin_viscii_upper): New variable.
2957         (make_byte_from_character_table): New function.
2958         (put_byte_from_character_table): New function.
2959         (get_byte_from_character_table): New function.
2960         (CHAR96): New macro.
2961         (ucs_to_latin_jisx0201): New variable.
2962         (latin_jisx0201_to_ucs): New variable.
2963         (ucs_to_latin_iso8859_2): New variable.
2964         (latin_iso8859_2_to_ucs): New variable.
2965         (ucs_to_latin_iso8859_3): New variable.
2966         (latin_iso8859_3_to_ucs): New variable.
2967         (ucs_to_latin_iso8859_4): New variable.
2968         (latin_iso8859_4_to_ucs): New variable.
2969         (ucs_to_latin_iso8859_9): New variable.
2970         (latin_iso8859_9_to_ucs): New variable.
2971         (ucs_to_latin_viscii_lower): New variable.
2972         (latin_viscii_lower_to_ucs): New variable.
2973         (ucs_to_latin_viscii_upper): New variable.
2974         (latin_viscii_upper_to_ucs): New variable.
2975         (ucs_to_latin_tcvn5712): New variable.
2976         (latin_tcvn5712_to_ucs): New variable.
2977         (Qlatin_viscii_lower): New variable.
2978         (Qlatin_viscii_upper): New variable.
2979         (syms_of_mule_charset): Set up new symbol
2980         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2981         (complex_vars_of_mule_charset): Set up new charset
2982         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2983         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2984         `ucs_to_<CHARSET>' tables.
2985
2986 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2987
2988         * text-coding.c: New file.
2989
2990 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2991
2992         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2993
2994         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2995         (MAKE_CHAR): Modify for `ucs-bmp'.
2996         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2997         non-MULE characters of BMP.
2998
2999 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3000
3001         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3002         to 0.6.
3003
3004 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3005
3006         * lstream.h:
3007         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3008         - Include character.h for `CHAR_ASCII_P'.
3009
3010         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3011
3012         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3013         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3014
3015         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3016         (BYTE_C0_P): Likewise.
3017         (BYTE_C1_P): Likewise.
3018         (Lstream_get_emchar_1): Likewise.
3019         (Lstream_fput_emchar): Likewise.
3020         (Lstream_funget_emchar): Likewise.
3021         (copy_internal_to_external): Likewise.
3022         (copy_external_to_internal): Likewise.
3023
3024         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3025         (BYTE_C0_P): Likewise.
3026         (BYTE_C1_P): Likewise.
3027         (Lstream_get_emchar_1): Likewise.
3028         (Lstream_fput_emchar): Likewise.
3029         (Lstream_funget_emchar): Likewise.
3030         (copy_internal_to_external): Likewise.
3031         (copy_external_to_internal): Likewise.
3032
3033         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3034         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3035
3036         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3037         (BYTE_ASCII_P): Moved to mb-1byte.h.
3038
3039 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3040
3041         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3042
3043         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3044         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3045         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3046         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3047         (VALIDATE_CHARPTR_FORWARD): Likewise.
3048         (simple_charptr_emchar): Moved to mb-multibyte.h.
3049         (simple_set_charptr_emchar): Likewise.
3050         (simple_charptr_copy_char): Likewise.
3051         (non_ascii_charptr_emchar): Likewise.
3052         (non_ascii_set_charptr_emchar): Likewise.
3053         (non_ascii_charptr_copy_char): Likewise.
3054         (charptr_emchar): Moved to mb-*byte.h.
3055         (set_charptr_emchar): Likewise.
3056         (charptr_copy_char): Likewise.
3057
3058         * mb-1byte.h, mb-multibyte.h: New files.
3059
3060 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3061
3062         * mb-utf-8.h (MULTIBYTE): New macro.
3063         (MAX_EMCHAR_LEN): Moved from buffer.h.
3064         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3065
3066         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3067
3068         * mb-lb.h, multibyte.h: New files.
3069
3070         * char-1byte.h (Charset_ID): Moved from buffer.h.
3071         (MIN_LEADING_BYTE): Likewise.
3072         (LEADING_BYTE_ASCII): Likewise.
3073         (NUM_LEADING_BYTES): Likewise.
3074         (CHARSETP): Likewise.
3075         (CHARSET_BY_LEADING_BYTE): Likewise.
3076         (XCHARSET_LEADING_BYTE): Likewise.
3077         (XCHARSET_GRAPHIC): Likewise.
3078         (XCHARSET_COLUMNS): Likewise.
3079         (XCHARSET_DIMENSION): Likewise.
3080         (CHAR_CHARSET): Likewise.
3081         (CHAR_LEADING_BYTE): Likewise.
3082         (BREAKUP_CHAR): Likewise.
3083         (Vcharset_ascii): Likewise.
3084
3085         * buffer.h: Include multibyte.h unconditionally.
3086         (VALID_CHARPTR_P): Moved to multibyte.h.
3087         (ASSERT_VALID_CHARPTR): Likewise.
3088         (REAL_INC_CHARPTR): Likewise.
3089         (REAL_INC_CHARBYTIND): Likewise.
3090         (REAL_DEC_CHARPTR): Likewise.
3091         (INC_CHARPTR): Likewise.
3092         (INC_CHARBYTIND): Likewise.
3093         (DEC_CHARPTR): Likewise.
3094         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3095         (VALIDATE_CHARPTR_FORWARD): Likewise.
3096         (charptr_n_addr): Likewise.
3097         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3098         (simple_charptr_emchar): Moved to multibyte.h.
3099         (simple_set_charptr_emchar): Likewise.
3100         (simple_charptr_copy_char): Likewise.
3101         (non_ascii_charptr_emchar): Likewise.
3102         (non_ascii_set_charptr_emchar): Likewise.
3103         (non_ascii_charptr_copy_char): Likewise.
3104         (charptr_emchar): Likewise.
3105         (set_charptr_emchar): Likewise.
3106         (charptr_copy_char): Likewise.
3107         (charptr_emchar_n): Likewise.
3108         (Charset_ID): Moved to char-1byte.h.
3109         (Vcharset_ascii): Likewise.
3110         (CHAR_CHARSET): Likewise.
3111         (CHAR_LEADING_BYTE): Likewise.
3112         (LEADING_BYTE_ASCII): Likewise.
3113         (NUM_LEADING_BYTES): Likewise.
3114         (MIN_LEADING_BYTE): Likewise.
3115         (CHARSETP): Likewise.
3116         (CHARSET_BY_LEADING_BYTE): Likewise.
3117         (XCHARSET_LEADING_BYTE): Likewise.
3118         (XCHARSET_GRAPHIC): Likewise.
3119         (XCHARSET_COLUMNS): Likewise.
3120         (XCHARSET_DIMENSION): Likewise.
3121         (BREAKUP_CHAR): Likewise.
3122
3123 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3124
3125         * character.h: Add document about interface for characters.
3126
3127         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3128         (MAKE_CHAR): Delete comment about
3129         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3130         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3131         (BREAKUP_CHAR): Modify name of arguments.
3132         (CHAR_CHARSET): Modify name of argument.
3133
3134         * buffer.h: Delete document about Emchar accessors.
3135
3136 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3137
3138         * character.h (CHAR_INTP): Moved from buffer.h
3139         (CHAR_OR_CHAR_INTP): Likewise.
3140         (XCHAR_OR_CHAR_INT): Likewise.
3141         (CHECK_CHAR_COERCE_INT): Likewise.
3142
3143         * buffer.h (CHAR_INTP): Moved to character.h
3144         (CHAR_OR_CHAR_INTP): Likewise.
3145         (XCHAR_OR_CHAR_INT): Likewise.
3146         (CHECK_CHAR_COERCE_INT): Likewise.
3147
3148 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3149
3150         * character.h:
3151         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3152         - Include char-1byte.h, char-lb.h or char-ucs.h.
3153
3154         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3155
3156         * buffer.h: Include character unconditionally.
3157         (valid_char_p): Moved to char-*.h.
3158         (non_ascii_valid_char_p): Moved to char-lb.h.
3159
3160         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3161
3162 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3163
3164         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3165         in UTF-2000 because it is not ported yet and not to use
3166         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3167         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3168         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3169
3170         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3171         (CHAR_ASCII_P): Moved from character.h.
3172
3173         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3174         (CHAR_ASCII_P): Likewise.
3175         (CHAR_FIELD1_MASK): Deleted.
3176         (CHAR_FIELD2_MASK): Deleted.
3177         (CHAR_FIELD3_MASK): Deleted.
3178         (MAX_CHAR_BASIC_LATIN): New macro.
3179         (CHAR_FIELD1): Deleted.
3180         (CHAR_FIELD2_INTERNAL): Deleted.
3181         (CHAR_FIELD3_INTERNAL): Deleted.
3182         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3183         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3184         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3185         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3186         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3187         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3188         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3189         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3190         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3191         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3192         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3193         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3194         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3195         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3196         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3197         (MIN_CHAR_COMPOSITION): Deleted.
3198         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3199         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3200
3201 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3202
3203         * buffer.h: Include mb-utf-8.h in UTF-2000.
3204
3205         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3206
3207         * mb-utf-8.h: New file.
3208
3209 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3210
3211         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3212         instead of `int'.
3213
3214         * mule-charset.h, buffer.h (Charset_ID): New type.
3215
3216 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3217
3218         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3219         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3220         instead of `MULE_CHAR_PRIVATE_OFFSET',
3221         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3222         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3223         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3224
3225         * character.h (Vcharset_japanese_jisx0212): New variable
3226         definition.
3227
3228 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3229
3230         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3231         (charset_by_attributes): Delete array about direction.
3232         (latin_a_char_to_charset): New variable in UTF-2000.
3233         (latin_a_char_to_byte1): New variable in UTF-2000.
3234         (latin_a_char_to_byte2): New variable in UTF-2000.
3235         (Qucs_bmp): New variable.
3236         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3237         `Bufbyte'.
3238         (next_allocated_2_byte_leading_byte): Likewise.
3239         (non_ascii_set_charptr_emchar): Likewise.
3240         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3241         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3242         `charset_by_attributes'.
3243         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3244         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3245         and `CHARSET_BY_LEADING_BYTE'.
3246         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3247         `utf-2000-version' to `vars_of_mule_charset'.
3248         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3249         define `leading-code-private-11' in UTF-2000; move setting of
3250         `utf-2000-version' from `syms_of_mule_charset'.
3251         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3252         UTF-2000.
3253
3254         * character.h (Charset_ID): New type.
3255         (LEADING_BYTE_UCS_BMP): New macro.
3256         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3257         (CHARSET_ID_OFFSET_94): New macro.
3258         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3259         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3260         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3261         final-byte.
3262         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3263         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3264         (CHARSET_ID_OFFSET_96): New macro.
3265         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3266         CHARSET_ID_OFFSET_96 and final-byte.
3267         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3268         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3269         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3270         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3271         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3272         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3273         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3274         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3275         (LEADING_BYTE_THAI_TIS620): Likewise.
3276         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3277         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3278         (CHARSET_ID_OFFSET_94x94): New macro.
3279         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3280         CHARSET_ID_OFFSET_94x94 and final-byte.
3281         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3282         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3283         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3284         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3285         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3286         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3287         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3288         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3289         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3290         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3291         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3292         (CHARSET_TYPE_128X128): New macro.
3293         (CHARSET_TYPE_256X256): New macro.
3294         (XCHARSET_PRIVATE_P): Delete unconditionally.
3295         (charset_by_attributes): Delete array about direction.
3296         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3297         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3298         (MIN_CHAR_94): New macro.
3299         (MAX_CHAR_94): New macro.
3300         (MIN_CHAR_96): New macro.
3301         (MAX_CHAR_96): New macro.
3302         (MIN_CHAR_94x94): New macro.
3303         (MAX_CHAR_94x94): New macro.
3304         (MIN_CHAR_96x96): New macro.
3305         (MAX_CHAR_96x96): New macro.
3306         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3307         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3308         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3309         - 32)'.
3310         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3311         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3312         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3313         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3314         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3315         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3316         `XCHARSET_LEADING_BYTE' to make code-point.
3317         (latin_a_char_to_charset): New variable.
3318         (latin_a_char_to_byte1): New variable.
3319         (latin_a_char_to_byte2): New variable.
3320         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3321         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3322         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3323
3324         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3325         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3326         (find_charsets_in_emchar_string): Likewise.
3327         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3328
3329         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3330         `int'.
3331         (decode_coding_iso2022): Likewise.
3332
3333         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3334         of `unsigned char'.
3335
3336         * redisplay.c (redisplay_text_width_emchar_string): Use
3337         `Charset_ID' instead of `unsigned char'.
3338         (redisplay_frame_text_width_string): Likewise.
3339
3340         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3341         `unsigned char'.
3342
3343         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3344         instead of `unsigned char'.
3345         (face_cachel_charset_font_metric_info): Likewise.
3346
3347         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3348         (get_non_ascii_char_table_value): Likewise.
3349         (get_char_table): Likewise.
3350         (put_char_table): Likewise.
3351         (map_over_other_charset): Likewise.
3352         (map_char_table): Likewise.
3353
3354         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3355         instead of `unsigned char'.
3356
3357 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3358
3359         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3360         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3361
3362         * mule-charset.c (leading_code_private_11): Don't define in
3363         UTF-2000.
3364
3365         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3366         in UTF-2000 because it is not ported yet and not to use
3367         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3368
3369 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3370
3371         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3372
3373 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3374
3375         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3376         in UTF-2000.
3377
3378         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3379         of unsigned char to store leading-byte.
3380
3381         * chartab.c (get_non_ascii_char_table_value): Don't use
3382         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3383
3384         * file-coding.c (encode_coding_big5): Delete bogus implementation
3385         in UTF2000.
3386
3387         * character.h (LEADING_BYTE_*): Delete definition for
3388         non-UTF-2000.
3389         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3390         (LEADING_BYTE_PREFIX_P): Deleted.
3391         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3392         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3393         (BUFBYTE_LEADING_BYTE_P): Deleted.
3394         (CHARSET_PRIVATE_P): Deleted unconditionally.
3395         (rep_bytes_by_first_byte): Deleted unconditionally.
3396         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3397         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3398         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3399         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3400         (CHAR_FIELD2): Deleted.
3401         (CHAR_FIELD3): Deleted.
3402         (MAKE_CHAR): Delete definition for non-UTF-2000.
3403         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3404         (breakup_char_1): New implementation.
3405         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3406         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3407
3408 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3409
3410         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3411         condition.
3412
3413 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3414
3415         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3416         (CHARSET_PRIVATE_P): Likewise.
3417         (XCHARSET_PRIVATE_P): Likewise.
3418         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3419
3420         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3421         UTF2000.
3422         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3423
3424 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3425
3426         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3427         (NUM_LEADING_BYTES): Changed from 128 to 256.
3428         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3429         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3430         UTF2000.
3431         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3432
3433         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3434         UTF2000.
3435         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3436         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3437         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3438         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3439         (Qchinese_cns11643_3): New variable in UTF2000.
3440         (Qchinese_cns11643_4): New variable in UTF2000.
3441         (Qchinese_cns11643_5): New variable in UTF2000.
3442         (Qchinese_cns11643_6): New variable in UTF2000.
3443         (Qchinese_cns11643_7): New variable in UTF2000.
3444         (syms_of_mule_charset): Define `chinese-cns11643-3',
3445         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3446         and `chinese-cns11643-7' in UTF2000.
3447         (vars_of_mule_charset): Initialize
3448         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3449         + 1 in UTF2000.
3450         (complex_vars_of_mule_charset): Setup charset
3451         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3452         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3453
3454 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3455
3456         * mule-charset.c: Move setting for `leading-code-private-11' from
3457         `syms_of_mule_charset' to `vars_of_mule_charset'.
3458
3459 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3460
3461         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3462         and `NUM_LEADING_BYTES' in assert.
3463
3464 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3465
3466         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3467         instead of 128.
3468         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3469         `NUM_LEADING_BYTES' instead of 128.
3470
3471 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3472
3473         * mule-charset.h (charset_by_leading_byte): Use
3474         `NUM_LEADING_BYTES' instead of 128.
3475         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3476
3477         * mule-charset.c (charset_by_leading_byte): Use
3478         `NUM_LEADING_BYTES' instead of 128.
3479         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3480
3481         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3482         128.
3483
3484 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3485
3486         * mule-charset.c (syms_of_mule_charset): Update to
3487         0.4 (Shin-Imamiya).
3488
3489 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3490
3491         * file-coding.c (encode_coding_sjis): New implementation for
3492         UTF2000.  (decode_coding_sjis): Ditto.
3493
3494 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3495
3496         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3497         Don't define in UTF2000.
3498
3499         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3500         defined.
3501
3502         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3503         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3504         MULE.
3505
3506 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3507
3508         * config.h.in (CHAR_IS_UCS4): New macro.
3509
3510         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3511         conventional MULE representation.
3512         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3513
3514         * mule-charset.h: Reverted to original.
3515
3516         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3517         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3518         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3519
3520         * character.h: New file.
3521
3522         * file-coding.c (Fmake_coding_system): Set 1 to
3523         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3524         defined.
3525         (encode_coding_no_conversion): New implementation for UTF2000.
3526
3527         * file-coding.h (struct Lisp_Coding_System): Add new member
3528         `fixed.size'.
3529
3530 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3531
3532         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3533         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3534         (encode_coding_iso2022): New implementation for UTF2000.
3535
3536 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3537
3538         * mule-canna.c (c2mu): New implementation for UTF2000.
3539         (m2c): Likewise.
3540
3541 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3542
3543         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3544
3545 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3546
3547         * file-coding.c (reset_encoding_stream): Set 0 to
3548         `str->iso2022.current_char_boundary' in UTF2000.
3549         (encode_utf8): Don't define in UTF2000.
3550         (encode_coding_utf8): New implementation for UTF-8 representation
3551         of UTF2000.
3552         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3553
3554 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3555
3556         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3557
3558         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3559         UTF2000.
3560         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3561
3562         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3563
3564         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3565         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3566         as UTF-8 in UTF2000.
3567         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3568         (non_ascii_valid_char_p): Don't define in UTF2000.
3569         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3570         (Lstream_get_emchar_1): Likewise.
3571         (utf-2000-version): New variable in UTF2000.
3572
3573         * lread.c (read_escape): Add new reader `u'.
3574
3575         * insdel.c (three_to_one_table): Don't define in UTF2000.
3576         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3577         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3578         UTF2000.
3579         (bytind_to_bufpos_func): Likewise.
3580         (buffer_mule_signal_inserted_region): Likewise.
3581         (vars_of_insdel): Don't initialize `three_to_one_table'.
3582         (init_buffer_text): Use `buf->text->mule_size' instead of
3583         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3584         UTF2000.
3585
3586         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3587         UTF-8 representation in UTF2000.
3588         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3589         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3590         (decode_coding_iso2022): Don't define local variable `lb' in
3591         UTF2000; don't use LEADING_BYTE in UTF2000; use
3592         `DECODE_ADD_UCS_CHAR' in UTF2000.
3593         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3594
3595         * config.h.in (UTF2000): New macro.
3596
3597         * buffer.h (struct buffer_text): Add new member `mule_size' and
3598         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3599         (valid_char_p): Return always 1 in UTF2000.
3600         (MAX_EMCHAR_LEN): 6 in UTF2000.
3601         (three_to_one_table): Don't define in UTF2000.
3602         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3603         UTF2000.
3604         (real_bytind_to_bufpos): Likewise.
3605
3606         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3607
3608 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3609
3610         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3611         representation change.
3612         (Vutf_2000_version): New variable.
3613         (leading_code_private_11): New variable.
3614         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3615         `leading-code-private-11'.
3616
3617         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3618         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3619         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3620         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3621         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3622         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3623         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3624         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3625         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3626         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3627         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3628         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3629         (MIN_CHAR_GREEK): New macro.
3630         (MAX_CHAR_GREEK): New macro.
3631         (MIN_CHAR_CYRILLIC): New macro.
3632         (MAX_CHAR_CYRILLIC): New macro.
3633         (MIN_CHAR_HEBREW): New macro.
3634         (MAX_CHAR_HEBREW): New macro.
3635         (MIN_CHAR_THAI): New macro.
3636         (MAX_CHAR_THAI): New macro.
3637         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3638         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3639         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3640         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3641         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3642         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3643         (CHAR_FIELD2): New inline function.
3644         (CHAR_FIELD3): New inline function.
3645         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3646         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3647         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3648         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3649         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3650         (MIN_CHAR_COMPOSITION): Likewise.
3651         (CHAR_LEADING_BYTE): Modified for character representation change.
3652         (MAKE_CHAR): Likewise.
3653
3654         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3655         (Vcharset_greek_iso8859_7): Likewise.
3656         (Vcharset_cyrillic_iso8859_5): Likewise.
3657         (Vcharset_hebrew_iso8859_8): Likewise.
3658         (Vcharset_thai_tis620): Likewise.
3659         (Vcharset_katakana_jisx0201): Likewise.
3660
3661 2001-01-26  Martin Buchholz <martin@xemacs.org>
3662
3663         * XEmacs 21.2.43 "Terspichore" is released.
3664
3665 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3666
3667         Type fiddling for window_config.saved_windows_count
3668         * window.c (struct window_config): 
3669         Make saved_windows_count member unsigned.
3670         * window.c (sizeof_window_config_for_n_windows): 
3671         Make parameter unsigned.
3672         * window.c (mark_window_config):
3673         * window.c (window_config_equal):
3674         * window.c (free_window_configuration):
3675         * window.c (Fset_window_configuration):
3676         * window.c (count_windows):
3677         * window.c (Fcurrent_window_configuration):
3678         * window.c (reinit_vars_of_window):
3679         Update all callers and users.
3680
3681 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3682
3683         Alignment correctness for flexible arrays.
3684         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3685         Make alignment-correct. Add interesting comments.
3686         * alloc.c (size_vector):
3687         * alloc.c (make_vector_internal):
3688         * alloc.c (make_bit_vector_internal):
3689         * alloc.c (sweep_bit_vectors_1):
3690         * fns.c (size_bit_vector):
3691         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3692         * window.c (sizeof_window_config_for_n_windows): 
3693         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3694
3695 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3696
3697         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3698
3699 2001-01-23  Andy Piper  <andy@xemacs.org>
3700
3701         * select.c (Fown_selection_internal): pass owned_p
3702
3703         * select-msw.c (mswindows_own_selection): New Signature.
3704
3705         * console.h (struct console_methods): add owned_p to
3706         _own_selection.
3707
3708         * select-x.c (x_own_selection): pass owned_p
3709         (hack_motif_clipboard_selection): use owned_p
3710         (vars_of_select_x): new variable -
3711         x_selection_strict_motif_ownership.
3712
3713 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3714
3715         * specifier.h (specifier_data_offset): Remove pointless parens.
3716         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3717
3718 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3719
3720         Make Lisp_Object sizeof methods be alignment-correct.
3721         pdump must restore objects to the same alignment as the C compiler
3722         assumes.  It really matters on SGIs.
3723         * lstream.c (aligned_sizeof_lstream): New.
3724         (sizeof_lstream): Use aligned_sizeof_lstream.
3725         (Lstream_new): Likewise.
3726         * opaque.c (aligned_sizeof_opaque): New.
3727         (sizeof_opaque): Use aligned_sizeof_opaque.
3728         (make_opaque): Likewise.
3729         * specifier.c (aligned_sizeof_specifier): New.
3730         (sizeof_specifier): Use aligned_sizeof_specifier.
3731         (make_specifier_internal): Likewise.
3732
3733 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3734
3735         * lstream.h (struct lstream): Use max_align_t for trailing data.
3736         * specifier.h (struct Lisp_Specifier): Likewise.
3737
3738 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3739
3740         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3741         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3742         (CCL_SUSPEND): Likewise.
3743         (CCL_INVALID_CMD): Likewise.
3744         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3745         (ccl_driver): Likewise.
3746         (CCL_WRITE_CHAR): Macro hygiene.
3747         (CCL_WRITE_STRING): Macro hygiene.
3748
3749 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3750
3751         Port "portable" dumper to SunOS 4 and HP-UX.
3752         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3753         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3754         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3755
3756 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3757
3758         * lisp.h (ALIGNOF): A better definition for C++.
3759
3760 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3761
3762         Macro hygiene.
3763         Fix printf warnings: int format, long int arg.
3764         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3765         (PUSH_FAILURE_POINT): Use correct printf formats.
3766         (POP_FAILURE_POINT): Use correct printf formats.  
3767         Use do {...} while (0)
3768
3769 2001-01-20  Martin Buchholz <martin@xemacs.org>
3770
3771         * XEmacs 21.2.42 "Poseidon" is released.
3772
3773 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3774
3775         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3776
3777 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3778
3779         De-kludgify FIXED_TYPE free list frobbing.
3780         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3781         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3782         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3783         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3784         * alloc.c (LRECORD_FREE_P): New.
3785         * alloc.c (MARK_LRECORD_AS_FREE): New.
3786         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3787         * alloc.c (STRUCT_FREE_P): Deleted.
3788         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3789         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3790         * alloc.c (STRING_CHARS_FREE_P): New.
3791         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3792         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3793         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3794         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3795         * alloc.c (resize_string): Use new definitions.
3796         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3797         * alloc.c (verify_string_chars_integrity): Use new definitions.
3798         * alloc.c (compact_string_chars): Use new definitions.
3799         * alloc.c: Update monster comments.
3800         * lrecord.h (lrecord_type): Add some new lrecord types for
3801         alloc.c's use.
3802
3803 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3804
3805         Improve alignment hackery.
3806         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3807         (max_align_t): Moved from opaque.h - general purpose.
3808         (ALIGN_PTR): Use size_t, not long.
3809         * opaque.h (max_align_t): Move to lisp.h.
3810
3811 2001-01-18  Norbert Koch  <nk@LF.net>
3812
3813         * gui.h: Fix and add prototypes to fix build problems.
3814
3815 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3816
3817         temacs is going away, so `dump-temacs' is now a bad name.
3818         * .dbxrc (dump-temacs): Rename to `dmp'.
3819         * .gdbinit (dump-temacs): Rename to `dmp'.
3820
3821 2001-01-17  Andy Piper  <andy@xemacs.org>
3822
3823         * glyphs.c (print_image_instance): comment to make martin happy.
3824
3825         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3826         change.
3827
3828         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3829         activation.
3830         (mswindows_tab_control_redisplay): warning suppression.
3831
3832         * glyphs-widget.c (widget_update): re-write to cope with updated
3833         items.
3834         (widget_instantiate): use new gui_item functions.
3835         (tab_control_update): deleted.
3836         (progress_gauge_update): deleted.
3837         (image_instantiator_progress_guage): take out update reference.
3838         (image_instantiator_tree_view): ditto.
3839         (image_instantiator_tab_control): ditto.
3840
3841         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3842         Right the new way.
3843         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3844         return whether anything was changed.
3845         (update_gui_item_keywords): as it sounds.
3846
3847         * gui.h: declare widget_gui_parse_item_keywords.
3848
3849         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3850         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3851
3852 2001-01-17  Martin Buchholz <martin@xemacs.org>
3853
3854         * XEmacs 21.2.41 "Polyhymnia" is released.
3855
3856 2001-01-16  Didier Verna  <didier@xemacs.org>
3857
3858         * glyphs.c (image_instantiate): don't use fallbacks when
3859         instantiating a face's background pixmap by inheritance.
3860
3861 2001-01-14  Mike Sperber <mike@xemacs.org>
3862
3863         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3864         Conditionalize accordingly.
3865
3866 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3867
3868         * dumper.c (pdump_file_get): Fix a compiler warning.
3869
3870 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3871
3872         Make Purify happy when pdumping.
3873         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3874         iniitalizing all bits of new lisp object memory.
3875         * symbols.c (Fmake_local_variable): Likewise.
3876         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3877         * symbols.c (Fdefvaralias): Likewise.
3878         * mule-charset.c (vars_of_mule_charset): Likewise.
3879
3880 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3881         Add the `-nd' flag when running pre-dump operations under the debugger.
3882         * .dbxrc (run-temacs): Add `-nd'.
3883         * .dbxrc (update-elc): Likewise.
3884         * .dbxrc (dump-temacs): Likewise.
3885         * .gdbinit (run-temacs): Likewise.
3886         * .gdbinit (check-temacs): Likewise.
3887         * .gdbinit (update-elc): Likewise.
3888         * .gdbinit (dump-temacs): Likewise.
3889
3890 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3891
3892         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3893         export OBJECT_MODE=64
3894         configure --pdump --use-union-type=no
3895         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3896         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3897
3898         * miscplay.c (sndcnv8U_2mono):
3899         Avoid two uses of `++' in the same expression.
3900         Suppresses a GCC warning.
3901
3902 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3903
3904         Make sure future compilers don't miscompile alloc.c.
3905         * alloc.c:
3906         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3907         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3908
3909 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3910
3911         * dumper.c: A little post-pdump-rename comment fixup.
3912
3913 2001-01-09  Jerry James  <james@eecs.ku.edu>
3914
3915         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3916
3917 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3918
3919         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3920         script:
3921         #!/bin/sh
3922         replace_symbol () {
3923           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3924         }
3925
3926         replace_symbol pdump_wire_lists pdump_weak_object_chains
3927         replace_symbol pdump_wire_list dump_add_weak_object_chain
3928
3929         replace_symbol pdump_wires pdump_root_objects
3930         replace_symbol pdump_wire dump_add_root_object
3931
3932         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3933         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3934
3935         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3936         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3937         replace_symbol dumpstructinfo pdump_root_struct_ptr
3938         replace_symbol dumpstruct dump_add_root_struct_ptr
3939
3940         replace_symbol dumpopaque dump_add_opaque
3941         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3942         replace_symbol dumpopaqueinfos pdump_opaques
3943         replace_symbol dumpopaqueinfo pdump_opaque
3944
3945         replace_symbol nb_structdump nb_root_struct_ptrs
3946         replace_symbol nb_opaquedump nb_opaques
3947
3948         replace_symbol align_table pdump_align_table
3949         replace_symbol dump_header pdump_header
3950
3951         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3952         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3953
3954
3955 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3956
3957         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3958         optimizing bytecount_to_charcount().
3959
3960 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3961
3962         * config.h.in:
3963         (HAVE_DLFCN_H): Removed.
3964         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3965
3966 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3967
3968         Portable dumper maintainability improvements.
3969         * alloc.c (staticpro):
3970         * alloc.c (staticpro_nodump):
3971         * alloc.c (garbage_collect_1):
3972         * alloc.c (reinit_alloc_once_early):
3973         * alloc.c (init_alloc_once_early):
3974         * alloc.c: Move dumper functions to alloc.c.
3975         * dumper.c (pdump_backtrace):
3976         * dumper.c (pdump_dump_structs):
3977         * dumper.c (pdump_dump_opaques):
3978         * dumper.c (pdump_dump_rtables):
3979         * dumper.c (pdump_dump_wired):
3980         * dumper.c (pdump):
3981         * dumper.c (pdump_load_check):
3982         * dumper.c (pdump_load_finish):
3983         * dumper.c (pdump_file_unmap):
3984         * dumper.c (pdump_file_get):
3985         * dumper.c (pdump_resource_free):
3986         * dumper.c (pdump_resource_get):
3987         * dumper.c (pdump_file_free):
3988         * dumper.c (pdump_file_try):
3989         * dumper.c (pdump_load):
3990         Remove fixed size limits on staticpro(), staticpro_nodump(),
3991         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3992         Remove custom code for dumping lrecord_implementations_table - use
3993         dumpopaque instead.
3994         Remove (most of the) custom code for dumping staticpros - dump it
3995         like any other dynarr.
3996
3997         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3998         * dumper.c: Moved functions from alloc.c.
3999         * alloc.c (dumpstruct): Moved to dumper.c.
4000         * alloc.c (dumpopaque): Likewise.
4001         * alloc.c (pdump_wire): Likewise.
4002         * alloc.c (pdump_wire_list): Likewise.
4003
4004         * lisp.h (Dynarr_sizeof): New.
4005         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4006         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4007         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4008
4009         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4010         * lisp.h (dumpopaque): ditto.
4011         * lisp.h (pdump_wire): ditto.
4012         * lisp.h (pdump_wire_list): ditto.
4013
4014 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4015
4016         * make-src-depend (PrintPatternDeps):
4017         Use `sort' to make output independent of perl version.
4018
4019 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4020
4021         Port to Netbsd 1.5.
4022         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4023         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4024
4025 2001-01-03  Didier Verna  <didier@xemacs.org>
4026
4027         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4028         that `focus_frame' is alive before thinking of calling
4029         `redisplay_redraw_cursor' on it.
4030
4031 2001-01-08  Martin Buchholz <martin@xemacs.org>
4032
4033         * XEmacs 21.2.40 is released.
4034
4035 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4036
4037         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4038
4039 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4040
4041         * alloc.c (dbg_valmask): Make const.
4042         * alloc.c (dbg_typemask): Make const.
4043         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4044         * alloc.c (dbg_valbits): Make const.
4045         * alloc.c (dbg_gctypebits): Make const.
4046
4047 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4048
4049         * redisplay-x.c (x_bevel_area):
4050         redisplay.h (struct rune):
4051         Typo fixes in comments.
4052
4053 2001-01-05  Andy Piper  <andy@xemacs.org>
4054
4055         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4056         adjustment.
4057
4058         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4059
4060 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4061
4062         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4063
4064         * mule-ccl.c (stack_idx_of_map_multiple):
4065         Non const global data must not be initialized!
4066         Found by MIYASHITA Hisashi.
4067
4068 2001-01-02  Andy Piper  <andy@xemacs.org>
4069
4070         * frame.c (change_frame_size): make sure frame size is always
4071         marked as changed.
4072
4073         * glyphs.c (image_instance_layout): minor code reuse.
4074
4075         * window.c (Fcurrent_window_configuration): revert previous
4076         change.
4077
4078 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4079
4080         * glyphs.h:
4081         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4082
4083 2000-12-31  Andy Piper  <andy@xemacs.org>
4084
4085         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4086         when widget gets unmapped.
4087
4088         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4089         function. Make sure widgets losing focus don't just drop it.
4090         (handle_focus_event_1): record the widget with focus.
4091
4092 2000-12-31  Andy Piper  <andy@xemacs.org>
4093
4094         * window.c (allocate_window): use
4095         make_image_instance_cache_hash_table.
4096         (make_dummy_parent): ditto.
4097         (Fset_window_configuration): ditto.
4098
4099         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4100
4101         * glyphs.c (process_image_string_instantiator): use
4102         INSTANTIATOR_TYPE.
4103         (get_image_instantiator_governing_domain): ditto.
4104         (normalize_image_instantiator): ditto.
4105         (instantiate_image_instantiator): ditto.
4106         (make_image_instance_1): ditto.
4107         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4108         (instantiator_eq_equal): new function for use with instance hash
4109         tables.
4110         (instantiator_eq_hash): ditto.
4111         (make_image_instance_cache_hash_table): create a suitable hash
4112         table for storing image instances.
4113
4114         * elhash.h (hash_table_weakness): new internal weakness type
4115         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4116         declare new functions.
4117
4118         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4119         another weakness type for glyphs.
4120         (make_standard_lisp_hash_table): new function split out from
4121         make_general_lisp_hash_table.
4122         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4123         (hash_table_instantiate): ditto.
4124         (Fmake_hash_table): ditto.
4125
4126 2000-12-31  Martin Buchholz <martin@xemacs.org>
4127
4128         * XEmacs 21.2.39 is released.
4129
4130 2000-12-29  Andy Piper  <andy@xemacs.org>
4131
4132         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4133
4134         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4135         the frame has changed so that we pick up geometry changes such as
4136         menubar visibility.
4137
4138 2000-12-28  Andy Piper  <andy@xemacs.org>
4139
4140         * lastfile.c (my_ebss): make a char array so we can pad the
4141         bss. Fixes cygwin unexec.
4142
4143         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4144
4145 2000-12-26  Andy Piper  <andy@xemacs.org>
4146
4147         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4148         comments and try and be more precise about a non-/SIGIO world.
4149         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4150         SIGIO.
4151
4152         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4153         we don't normalize to zero width or height.
4154
4155 2000-12-24  Andy Piper  <andy@xemacs.org>
4156
4157         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4158
4159 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4160
4161         * s/sco5.h: SCO 5 has pty support.
4162
4163 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4164
4165         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4166         input-method-xlib.c contains whole contents of input-method-xfs.c,
4167         so we can use input-method-xlib.c's code for USE_XFONTSET
4168         using #ifdefs.
4169         * input-method-xfs.c: removed.
4170
4171 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4172
4173         * file-coding.h (enum coding_category_type): reorder enumerators to
4174         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4175         (now one greater than largest real coding_category_type enumerator).
4176         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4177         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4178         Fcoding_category_list, Fset_coding_priority_list,
4179         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4180         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4181
4182 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4183
4184         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4185         * redisplay-output.c (redisplay_output_window): Clear top of window
4186         when face is changed.
4187         * redisplay-x.c (x_redraw_exposed_window): Call
4188         redisplay_clear_top_of_window.
4189         * redisplay.h: Publish redisplay_clear_top_of_window.
4190
4191 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4192
4193         * buffer.c (Fkill_buffer): Map over all devices.
4194         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4195         (list_windows): New function.
4196         (list_all_windows): Ditto.
4197         (Freplace_buffer_in_windows): Use them.
4198
4199 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4200
4201         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4202         (Fopen_database): Use `db_create' instead of `db_open'.
4203         (syms_of_database): Initialize Qqueue.
4204
4205 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4206
4207         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4208         buffer_local_face_property.
4209         * buffer.h (struct buffer): New member buffer_local_face_property.
4210         * window.c (Fset_window_buffer):  Mark window's face as changed
4211         when buffer has buffer local face.
4212         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4213         * objects.c (color_after_change): Set buffer_local_face_property
4214         when locale of face specifier is buffer.
4215         * objects.c (font_after_change): Ditto.
4216         * objects.c (face_boolean_after_change): Ditto.
4217         * glyphs.c (image_after_change): Ditto.
4218
4219 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4220
4221         * nt.c (mswindows_fstat): Report file permissions, volume serial
4222         number, etc. Code adapted from FSF Emacs 20.7.
4223
4224 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4225
4226         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4227         of stat when we don't have symbolic links, to make sure
4228         mswindows_stat is called on mswindows.
4229
4230 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4231
4232         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4233
4234 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4235
4236         * doprnt.c (emacs_doprnt_1): More printing fixes.
4237         Make printing of numbers compatible with libc and FSF Emacs.
4238         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4239         Use the system printf to do most of the hard work of formatting,
4240         instead of doprnt_1().
4241         Calculate memory to allocate for format string.
4242         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4243         (doprnt_1): Cleaner code and documentation.
4244
4245 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4246
4247         * Makefile.in.in: Use the loop variable to install headers.
4248
4249 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4250
4251         * window.c (Fsplit_window): Don't invalidate face cache.
4252
4253 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4254
4255         * minibuf.c (Fall_completions): Undo the previous change
4256         which removed checking elements start with space.
4257
4258 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4259
4260         * mule-canna.c: Didier suppression.
4261
4262 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4263
4264         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4265         (warning suppression).  Add English comment translations.
4266
4267 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4268
4269         * unexelfsgi.c (unexec): Better test for mmap failure.
4270
4271 2000-12-05  Martin Buchholz <martin@xemacs.org>
4272
4273         * XEmacs 21.2.38 is released.
4274
4275 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4276
4277         * redisplay.c (bar-cursor): Make a user variable.
4278
4279         * symsinit.h: Add init_postgresql_from_environment.
4280
4281 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4282
4283         * regex.c: Convert to clean C.
4284
4285 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4286
4287         * realpath.c:
4288         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4289         initialization.
4290         (sys_readlink): renamed to system_readlink to avoid conflict with
4291         the other sys_readlink.
4292
4293 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4294
4295         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4296
4297 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4298
4299         * postgresql.c (init_postgresql_from_environment): new function.
4300         (vars_of_postgresql): Move code initializing Lisp variables out and
4301         into init_postgresql_from_environment.
4302         emacs.c (main_1): Call init_postgresql_from_environment if and only
4303         if running a dumped XEmacs.
4304
4305 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4306
4307         * buffer.c: Make find-file-compare-truenames default to true on
4308         windows.
4309
4310         * realpath.c (win32_abs_start):
4311         (cygwin_readlink):
4312         (win32_readlink): New functions.
4313         (xrealpath): Return really real filenames on windows.
4314
4315         * fileio.c (Ffile_truename): Make file-truename work on windows.
4316
4317 2000-11-29  Didier Verna  <didier@xemacs.org>
4318
4319         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4320         * faces.c (update_face_cachel_data): use it.
4321         * faces.c (add_face_cachel): use it. Complete background pixmap
4322         frobbing in face cache if `update_face_cachel_data' has not done so.
4323
4324 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4325
4326         * search.c (string_match_1): Don't set last_thing_searched
4327         when search failed.
4328
4329 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4330
4331         * buffer.c: Include casetab.h
4332         (common_init_complex_vars_of_buffer): Use new case-table object.
4333         * buffer.h: Include casetab.h
4334         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4335         (DOWNCASE_TABLE_OF): Ditto.
4336         * bufslots.h: Remove char-tables and add case-table.
4337         * casetab.c: Include casetab.h
4338         (CASE_TABLE_P): Removed.
4339         (mark_case_table): New function.
4340         (allocate_case_table): New function.
4341         (Fcase_table_p): Use new case-table.
4342         (case_table_char): New function.
4343         (Fget_case_table): Ditto.
4344         (Fput_case_table): Ditto.
4345         (Fput_case_table_pair): Ditto.
4346         (Fcopy_case_table): Ditto.
4347         (Fcurrent_case_table): Return case-table.
4348         (Fstandard_case_table): Return case-table.
4349         (Fset_case_table): Fix doc-string.
4350         (set_case_table): Use case-table
4351         (syms_of_casetab): DEFSUBR new functions.
4352         (complex_vars_of_casetab): Set up standard case-table.
4353         * casetab.h: New file.
4354         * editfns.c: Include casetab.h
4355         (Fcompare_buffer_substrings): Use case-table.
4356         * inline.c: Include casetab.h
4357         * lisp.h: Remove bogus extern.
4358         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4359         * search.c: Include casetab.h
4360         (TRANSLATE_ASCII): Removed.
4361         (TRANSLATE): Unconditionally translate character.
4362         (looking_at_1): Use case-table.
4363         (string_match_1): Ditto.
4364         (fast_string_match): Ditto.
4365         (search_command): Ditto.
4366         (search_buffer): Separate boyer_moore.  Check whether
4367         boyer_moore is possible.
4368         (simple_search): New function.
4369         (boyer_moore): Separated from search_buffer. Translate char.
4370
4371 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4372
4373         * regex.c (RE_TR_ASCII): Removed.
4374         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4375         (PATFETCH): Call PATFETCH_RAW.
4376         (PATFETCH_RAW): Fetch Emchar.
4377         (PATUNFETCH): Decrement charptr.
4378         (GET_BUFFER_SPACE): Rename b to buf_end.
4379         (BUF_PUSH): Ditto.
4380         (BUF_PUSH_2): Ditto.
4381         (BUF_PUSH_3): Ditto.
4382         (EXTEND_BUFFER): Ditto.
4383         (SET_LIST_BIT): Ditto.
4384         (regex_compile): Ditto.  Translate non ASCII char.
4385         (compile_range): Ditto.
4386         (re_search_2): Ditto.
4387         (re_match_2_internal): Compare Emchar.
4388         (bcmp_translate): Ditto.
4389
4390 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4391
4392         * lisp.h (basic char/int typedefs):  comment improvement.
4393
4394 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4395
4396         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4397         unstomp inhibit_site_lisp.  Improve comments.
4398
4399 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4400
4401         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4402
4403 2000-11-28  Andy Piper  <andy@xemacs.org>
4404
4405         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4406         clipped display for windows in the gutter also.
4407         (redisplay_display_boxes_in_window_p): change semantics of return
4408         codes to be more intuitive.
4409
4410         * gutter.h: declare display_boxes_in_gutter_p.
4411
4412         * gutter.c (display_boxes_in_gutter_p): new function for
4413         redisplay.
4414
4415 2000-11-22  Andy Piper  <andy@xemacs.org>
4416
4417         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4418         autodetect domain.
4419
4420 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4421
4422         * callproc.c (Fold_call_process_internal):
4423         * gpm.c (Freceive_gpm_event):
4424         (tty_get_foreign_selection): Might be just warning supression.
4425         * fileio.c (Fwrite_region_internal):
4426         (Fset_visited_file_modtime):
4427         * keymap.c (event_matches_key_specifier_p):
4428         Initialize GCPROed variable.
4429
4430         * menubar-x.c (command_builder_find_menu_accelerator):
4431         Initialize before use.
4432
4433 2000-11-23  Andy Piper  <andy@xemacs.org>
4434
4435         * unexcw.c (unexec): make the resulting executable executable.
4436
4437 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4438
4439         * doc.c (get_doc_string):
4440         Use size_t, not int, for result of XSTRING_LENGTH.
4441
4442         * cmds.c (Fdelete_char):
4443         * cmds.c (Fpoint_at_eol):
4444         * cmds.c (Fself_insert_command):
4445         Use EMACS_INT, not int, for result of XINT.
4446         Someday, someone will want to insert more than 2**31 identical characters.
4447
4448         * cmds.c (Fdelete_char):
4449         * cmds.c (Fdelete_backward_char):
4450         * syntax.c (Fforward_word):
4451         * syntax.c (Fforward_comment):
4452         Make COUNT argument optional, for consistency with forward-char et al.
4453
4454 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4455
4456         * lisp.h:
4457         * print.c (long_to_string):
4458         Return a useful value: the pointer at end of data written.
4459
4460         * doprnt.c:
4461         Use `static const char * const' for constant strings.
4462         (union printf_arg): Delete `i', `ui' members.
4463         (get_doprnt_args):
4464         (emacs_doprnt_1):
4465         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4466         Do all printf-ing via the `l' specifier.
4467         Use EMACS_INT instead of int.
4468         Optimize.
4469
4470 2000-11-20  Didier Verna  <didier@xemacs.org>
4471
4472         * faces.c (update_face_cachel_data): don't frob the background
4473         pixmap when the window is being created. The face is needed but
4474         does not exist yet.
4475
4476 2000-11-20  Andy Piper  <andy@xemacs.org>
4477
4478         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4479         messing with a debug environment.
4480
4481 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4482
4483         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4484
4485 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4486
4487         * casetab.c (Fcase_table_p): Fix compile error and crash.
4488
4489 2000-11-18  Philip Aston  <philipa@mail.com>
4490
4491         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4492
4493 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4494
4495         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4496         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4497
4498 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4499
4500         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4501         * unexelf.c: Use HAVE_ELF_H.
4502         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4503         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4504         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4505         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4506         for testing.
4507         So this is an unexelfsgi.c from a different line of development.
4508
4509 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4510
4511         * regex.c (RE_TR_ASCII): New function.
4512         (RE_TRANSLATE): Call it.
4513
4514 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4515
4516         * buffer.h (TRT_TABLE_OF): Remove assert.
4517         (IN_TRT_TABLE_DOMAIN): Removed.
4518
4519 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4520
4521         * free-hook.c (log_gcpro):
4522         (show_gcprohist): Add support for GCPRO5.
4523
4524 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4525
4526         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4527
4528 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4529
4530         * symeval.h: Declare flush_all_buffer_local_cache.
4531
4532         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4533         (flush_buffer_local_cache): Added.
4534         (flush_all_buffer_local_cache): Added.
4535
4536         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4537
4538         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4539         (pdump_dump_data): Ditto.
4540         (pdump_reloc_one): Ditto.
4541         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4542         before dumping.
4543
4544
4545 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4546
4547         * buffer.c: Remove if 0'ed entry.
4548         * buffer.h: Rewrite TRT to use char-table.
4549         * bufslots.h: Remove mirror tables.
4550         * casetab.c: Remove mirror tables.
4551         (CASE_TABLE_P): New macro.
4552         (Fcase_table_p): Element of a case table is string or char-table.
4553         (make_mirror_trt_table): Removed.
4554         (set_case_table): Setup char-table from strings for backward
4555         compatibility.
4556         * dired.c (Fdirectory_files):
4557         * dired-msw.c: (mswindows_get_files):
4558         * lisp.h: Change prototype of re_pattern_buffer.
4559         * regex.c: (RE_TRANSLATE): New macro.
4560         (TRANSLATE_P): Ditto.
4561         Change translate to type RE_TRANSLATE_TYPE.
4562         * regex.h: Define RE_TRANSLATE_TYPE
4563         * search.c (TRANSLATE): New macro.
4564         (TRANSLATE_ASCII): New macro.
4565         Translate table is changed to Lisp_Object.
4566         (signal_failure): Inhibit return.
4567
4568 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4569
4570         * device-msw.c:
4571         * eldap.c:
4572         * event-Xt.c:
4573         * event-stream.c:
4574         * print.c:
4575         Do UNGCPRO before return.
4576
4577 2000-11-14  Martin Buchholz <martin@xemacs.org>
4578
4579         * XEmacs 21.2.37 is released.
4580
4581 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4582
4583         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4584         Add comments about discarded return value.
4585
4586 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4587
4588         * callint.c:
4589         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4590
4591 2000-10-27  Andy Piper  <andy@xemacs.org>
4592
4593         * gutter.c (Fset_default_gutter_position): default left and right
4594         gutters to visible.
4595         (calculate_gutter_size): calculate resonable heuristic for left
4596         and right gutter sizes.
4597         (specifier_vars_of_gutter): change left and right gutter sizes to
4598         autodetect.
4599         (calculate_gutter_size_from_display_lines): new function.
4600         (output_gutter): check for resizing on left and right gutters.
4601         (clear_gutter): don't special case top and left gutters.
4602         (specifier_vars_of_gutter): use new signature for
4603         set_specifier_caching.
4604
4605         * glyphs-x.c (x_redisplay_widget): spelling fix.
4606         * glyphs.c (specifier_vars_of_glyphs):
4607         * menubar.c (specifier_vars_of_menubar):
4608         * redisplay.c (specifier_vars_of_redisplay):
4609         * toolbar.c (specifier_vars_of_toolbar):
4610         * window.c (specifier_vars_of_window):
4611         * scrollbar.c (specifier_vars_of_scrollbar):
4612         (complex_vars_of_scrollbar): use new signature for
4613         set_specifier_caching.
4614
4615         * specifier.c (set_specifier_caching): include recompute flag.
4616         (recompute_one_cached_specifier_in_window): always recompute if
4617         flag set.
4618         (recompute_one_cached_specifier_in_frame): ditto.
4619
4620         * specifier.h (struct specifier_caching): add recompute flag.
4621
4622 2000-10-24  Andy Piper  <andy@xemacs.org>
4623
4624         * unexcw.c (copy_executable_and_dump_data_section): add new
4625         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4626         5.0 happy.
4627
4628 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4629
4630         * console-x.h (x_device): New member modifier_release_time.
4631         * event-Xt.c (x_handle_sticky_modifiers):
4632         Bound interval modifier keys are sticky.
4633         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4634         * events.h: extern it.
4635
4636 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4637
4638         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4639
4640 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4641
4642         * event-stream.c (execute_command_event): Preserve current_events
4643         and the like when event is misc-user-event.
4644         Inhibit quit during the call to maybe_echo_keys.
4645
4646 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4647
4648         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4649         symlink when buffer is killed.
4650         (inhibit_clash_detection): New variable.
4651
4652 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4653
4654         * console.c (Fset_input_method): Trigger redisplay on tty.
4655
4656 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4657
4658         * process.c (Fprocess_status): Revert to previous behavior:
4659         (process-status "nosuchprocess") ==> nil
4660
4661 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4662
4663         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4664         Work around another GCC 2.95.2 optimizer bug.
4665
4666 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4667
4668         * process.c (Fget_process): Use LIST_LOOP_2.
4669         (kill_buffer_processes): Use LIST_LOOP_2.
4670
4671         * minibuf.c (Fall_completions):
4672         Delete old non-functional code for FSF fourth argument.
4673
4674         * frame.c (frame_matches_frame_spec):
4675         Renamed from `frame_matches_frametype'.  Update all callers.
4676         (device_matches_device_spec):
4677         Renamed from 'device_matches_console_spec'.  Update all callers.
4678
4679         * doc.c (Fsubstitute_command_keys):
4680         Remove buffer overflow crash.  Small code cleanups.
4681
4682         * casetab.c (check_case_table): Simpler code.
4683
4684         * window.c (Freplace_buffer_in_windows):
4685         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4686         (and similar implementation) as Fdelete_windows_on.
4687         Update all callers.
4688
4689         * alloc.c (Fmake_list):
4690         * alloc.c (make_vector):
4691         * alloc.c (Fmake_vector):
4692         * alloc.c (make_bit_vector):
4693         * alloc.c (Fmake_bit_vector):
4694         * alloc.c (Fbit_vector):
4695         * alloc.c (Fmake_string):
4696         * alloc.c (Fpurecopy):
4697         * alloc.c (Fmemory_limit):
4698         * buffer.c:
4699         * buffer.c (Fget_buffer):
4700         * buffer.c (Fkill_buffer):
4701         * buffer.c (complex_vars_of_buffer):
4702         * bytecode.c (Fcompiled_function_stack_depth):
4703         * callint.c (Fprefix_numeric_value):
4704         * event-stream.c:
4705         * event-stream.c (Fread_key_sequence):
4706         * casetab.c:
4707         * casetab.c (Fcase_table_p):
4708         * casetab.c (check_case_table):
4709         * casetab.c (Fset_case_table):
4710         * casetab.c (Fset_standard_case_table):
4711         * chartab.c:
4712         * chartab.c (Fchar_table_type):
4713         * chartab.c (Freset_char_table):
4714         * chartab.c (Fget_char_table):
4715         * chartab.c (Fget_range_char_table):
4716         * chartab.c (Fput_char_table):
4717         * chartab.c (Fmap_char_table):
4718         * chartab.c (Fcategory_table_p):
4719         * chartab.c (Fcheck_category_at):
4720         * chartab.c (Fchar_in_category_p):
4721         * chartab.c (Fcategory_table):
4722         * chartab.c (Fcopy_category_table):
4723         * chartab.c (Fset_category_table):
4724         * chartab.c (Fcategory_designator_p):
4725         * chartab.c (Fcategory_table_value_p):
4726         * cmds.c (Fdelete_char):
4727         * cmds.c (Fdelete_backward_char):
4728         * cmds.c (Fself_insert_command):
4729         * cmds.c (Fself_insert_internal):
4730         * console.c (Fvalid_console_type_p):
4731         * console.c (Fcdfw_console):
4732         * console.c (Fconsole_type):
4733         * console.c (Fconsole_name):
4734         * console.c (Fconsole_device_list):
4735         * console.c (Fconsole_on_window_system_p):
4736         * data.c:
4737         * data.c (Feq):
4738         * data.c (Fold_eq):
4739         * data.c (Fsubr_interactive):
4740         * data.c (Fchar_to_int):
4741         * data.c (Fint_to_char):
4742         * data.c (Fsetcar):
4743         * data.c (Fsetcdr):
4744         * data.c (Fnumber_to_string):
4745         * data.c (Fstring_to_number):
4746         * data.c (Frem):
4747         * database.c (mark_database):
4748         * database.c (finalize_database):
4749         * database.c (Fdatabase_live_p):
4750         * database.c (Fdatabasep):
4751         * device-x.c (Fx_get_resource):
4752         * device.c (Fdfw_device):
4753         * dired.c:
4754         * dired.c (Ffile_name_completion):
4755         * dired.c (Ffile_name_all_completions):
4756         * dired.c (Fuser_name_completion):
4757         * dired.c (Fuser_name_completion_1):
4758         * dired.c (Fuser_name_all_completions):
4759         * doc.c (Fdocumentation):
4760         * doc.c (Fdocumentation_property):
4761         * doc.c (Fsubstitute_command_keys):
4762         * editfns.c:
4763         * editfns.c (Fchar_to_string):
4764         * editfns.c (Fstring_to_char):
4765         * editfns.c (Ftemp_directory):
4766         * editfns.c (Finsert_char):
4767         * editfns.c (Fbuffer_substring_no_properties):
4768         * editfns.c (Fnarrow_to_region):
4769         * editfns.c (Fchar_equal):
4770         * editfns.c (Fchar_Equal):
4771         * editfns.c (Ftranspose_regions):
4772         * emacs.c (Fdump_emacs):
4773         * eval.c (Fthrow):
4774         * eval.c (Fcommand_execute):
4775         * eval.c (Fautoload):
4776         * eval.c (Fbacktrace):
4777         * eval.c (Fbacktrace_frame):
4778         * events.c:
4779         * events.c (Fcopy_event):
4780         * events.c (Fcharacter_to_event):
4781         * events.c (Fevent_button):
4782         * events.c (Fevent_process):
4783         * extents.c:
4784         * extents.c (Fnext_extent_change):
4785         * extents.c (Fextent_property):
4786         * faces.c (Ffacep):
4787         * faces.c (Fmake_face):
4788         * file-coding.c:
4789         * file-coding.c (Fencode_shift_jis_char):
4790         * file-coding.c (Fencode_big5_char):
4791         * fileio.c (Ffile_name_directory):
4792         * fileio.c (Ffile_name_nondirectory):
4793         * fileio.c (Ffile_name_as_directory):
4794         * fileio.c (Fdirectory_file_name):
4795         * fileio.c (Ffile_truename):
4796         * fileio.c (Fsubstitute_in_file_name):
4797         * fileio.c (Ffile_modes):
4798         * fileio.c (Fset_file_modes):
4799         * fileio.c (Fset_default_file_modes):
4800         * fileio.c (Fverify_visited_file_modtime):
4801         * floatfns.c (Facos):
4802         * floatfns.c (Fasin):
4803         * floatfns.c (Fatan):
4804         * floatfns.c (Fcos):
4805         * floatfns.c (Fsin):
4806         * floatfns.c (Ftan):
4807         * floatfns.c (Fbessel_j0):
4808         * floatfns.c (Fbessel_j1):
4809         * floatfns.c (Fbessel_jn):
4810         * floatfns.c (Fbessel_y0):
4811         * floatfns.c (Fbessel_y1):
4812         * floatfns.c (Fbessel_yn):
4813         * floatfns.c (Ferf):
4814         * floatfns.c (Ferfc):
4815         * floatfns.c (Flog_gamma):
4816         * floatfns.c (Fexp):
4817         * floatfns.c (Fexpt):
4818         * floatfns.c (Flog):
4819         * floatfns.c (Flog10):
4820         * floatfns.c (Fsqrt):
4821         * floatfns.c (Fcube_root):
4822         * floatfns.c (Facosh):
4823         * floatfns.c (Fasinh):
4824         * floatfns.c (Fatanh):
4825         * floatfns.c (Fcosh):
4826         * floatfns.c (Fsinh):
4827         * floatfns.c (Ftanh):
4828         * floatfns.c (Fabs):
4829         * floatfns.c (Ffloat):
4830         * floatfns.c (Flogb):
4831         * floatfns.c (Fceiling):
4832         * floatfns.c (Ffloor):
4833         * floatfns.c (Fround):
4834         * floatfns.c (Ftruncate):
4835         * floatfns.c (Ffceiling):
4836         * floatfns.c (Fffloor):
4837         * floatfns.c (Ffround):
4838         * floatfns.c (Fftruncate):
4839         * fns.c (Fstring_equal):
4840         * fns.c (Fstring_lessp):
4841         * fns.c (concat2):
4842         * fns.c (concat3):
4843         * fns.c (vconcat2):
4844         * fns.c (vconcat3):
4845         * fns.c (Fsubstring):
4846         * fns.c (Fassoc):
4847         * fns.c (Fold_assoc):
4848         * fns.c (assoc_no_quit):
4849         * fns.c (Fassq):
4850         * fns.c (Fold_assq):
4851         * fns.c (assq_no_quit):
4852         * fns.c (Frassoc):
4853         * fns.c (Fold_rassoc):
4854         * fns.c (Frassq):
4855         * fns.c (Fold_rassq):
4856         * fns.c (rassq_no_quit):
4857         * fns.c (Fremassoc):
4858         * fns.c (remassoc_no_quit):
4859         * fns.c (Fremassq):
4860         * fns.c (remassq_no_quit):
4861         * fns.c (Fremrassoc):
4862         * fns.c (Fremrassq):
4863         * fns.c (remrassq_no_quit):
4864         * fns.c (Fsort):
4865         * fns.c (Fplist_get):
4866         * fns.c (Fplist_put):
4867         * fns.c (Fplist_remprop):
4868         * fns.c (Fplist_member):
4869         * fns.c (Flax_plist_get):
4870         * fns.c (Flax_plist_put):
4871         * fns.c (Flax_plist_remprop):
4872         * fns.c (Flax_plist_member):
4873         * fns.c (Fequal):
4874         * fns.c (Fold_equal):
4875         * fns.c (Frequire):
4876         * fns.c (Fbase64_encode_region):
4877         * fns.c (Fbase64_encode_string):
4878         * fns.c (Fbase64_decode_region):
4879         * frame.c:
4880         * frame.c (frame_matches_frame_spec):
4881         * frame.c (device_matches_device_spec):
4882         * frame.c (next_frame):
4883         * frame.c (previous_frame):
4884         * frame.c (Fnext_frame):
4885         * frame.c (Fprevious_frame):
4886         * frame.c (Fframe_property):
4887         * frame.c (Fset_frame_height):
4888         * frame.c (Fset_frame_size):
4889         * frame.h:
4890         * glyphs.c:
4891         * glyphs.c (if):
4892         * glyphs.c (decode_error_behavior_flag):
4893         * glyphs.c (Fmake_image_instance):
4894         * indent.c (Findent_to):
4895         * intl.c (Fignore_defer_gettext):
4896         * keymap.c (Fkeymapp):
4897         * keymap.c (Flookup_key):
4898         * lread.c:
4899         * lread.c (Fload_internal):
4900         * lread.c (Feval_buffer):
4901         * lread.c (Feval_region):
4902         * macros.c (Fexecute_kbd_macro):
4903         * marker.c (set_marker_internal):
4904         * marker.c (Fset_marker):
4905         * marker.c (set_marker_restricted):
4906         * marker.c (Fcopy_marker):
4907         * marker.c (noseeum_copy_marker):
4908         * menubar.c:
4909         * menubar.c (Fpopup_menu):
4910         * minibuf.c:
4911         * mule-charset.c (Fcharset_name):
4912         * mule-charset.c (Fchar_charset):
4913         * mule-charset.c (Fchar_octet):
4914         * mule-charset.c (Fsplit_char):
4915         * mule-wnnfns.c (Fwnn_open):
4916         * mule-wnnfns.c (Fwnn_dict_comment):
4917         * mule-wnnfns.c (Fwnn_quit_henkan):
4918         * mule-wnnfns.c (Fwnn_word_toroku):
4919         * mule-wnnfns.c (Fwnn_word_sakujo):
4920         * mule-wnnfns.c (Fwnn_word_use):
4921         * mule-wnnfns.c (Fwnn_hindo_set):
4922         * objects.c:
4923         * objects.c (Fmake_color_instance):
4924         * objects.c (Fmake_font_instance):
4925         * print.c (Fwrite_char):
4926         * process.c:
4927         * process.c (mark_process):
4928         * process.c (print_process):
4929         * process.c (get_process_from_usid):
4930         * process.c (Fprocessp):
4931         * process.c (Fprocess_live_p):
4932         * process.c (Fget_process):
4933         * process.c (Fget_buffer_process):
4934         * process.c (get_process):
4935         * process.c (Fprocess_id):
4936         * process.c (Fprocess_name):
4937         * process.c (Fprocess_command):
4938         * process.c (init_process_io_handles):
4939         * process.c (start_process_unwind):
4940         * process.c (Fstart_process_internal):
4941         * process.c (Fopen_multicast_group_internal):
4942         * process.c (Fset_process_window_size):
4943         * process.c (read_process_output):
4944         * process.c (send_process):
4945         * process.c (Fprocess_tty_name):
4946         * process.c (Fset_process_buffer):
4947         * process.c (Fprocess_buffer):
4948         * process.c (Fprocess_mark):
4949         * process.c (set_process_filter):
4950         * process.c (Fset_process_filter):
4951         * process.c (Fprocess_filter):
4952         * process.c (Fprocess_send_region):
4953         * process.c (Fprocess_send_string):
4954         * process.c (exec_sentinel):
4955         * process.c (Fset_process_sentinel):
4956         * process.c (Fprocess_sentinel):
4957         * process.c (status_notify):
4958         * process.c (Fprocess_status):
4959         * process.c (Fprocess_exit_status):
4960         * process.c (process_send_signal):
4961         * process.c (Fprocess_send_eof):
4962         * process.c (deactivate_process):
4963         * process.c (remove_process):
4964         * process.c (Fdelete_process):
4965         * process.c (kill_buffer_processes):
4966         * process.c (Fprocess_kill_without_query):
4967         * process.c (Fprocess_kill_without_query_p):
4968         * rangetab.c:
4969         * rangetab.c (Fget_range_table):
4970         * rangetab.c (Fput_range_table):
4971         * rangetab.c (Fremove_range_table):
4972         * rangetab.c (Fclear_range_table):
4973         * search.c:
4974         * search.c (Fskip_chars_forward):
4975         * search.c (Fskip_chars_backward):
4976         * search.c (Fskip_syntax_forward):
4977         * search.c (Fskip_syntax_backward):
4978         * search.c (search_command):
4979         * search.c (Freplace_match):
4980         * search.c (Fregexp_quote):
4981         * select.c (Fown_selection_internal):
4982         * select.c (Fselection_owner_p):
4983         * select.c (Fselection_exists_p):
4984         * select.c (Fget_selection_internal):
4985         * specifier.c:
4986         * symbols.c:
4987         * symbols.c (Fintern):
4988         * symbols.c (Fintern_soft):
4989         * symbols.c (Funintern):
4990         * symbols.c (Fapropos_internal):
4991         * symbols.c (Fset_default):
4992         * syntax.c:
4993         * syntax.c (Fsyntax_table_p):
4994         * syntax.c (Fcopy_syntax_table):
4995         * syntax.c (Fset_syntax_table):
4996         * syntax.c (Fchar_syntax):
4997         * syntax.c (syntax_match):
4998         * syntax.c (Fmatching_paren):
4999         * syntax.c (Fforward_word):
5000         * syntax.c (scan_lists):
5001         * syntax.c (Fscan_lists):
5002         * syntax.c (Fscan_sexps):
5003         * syntax.c (Fparse_partial_sexp):
5004         * toolbar.c (Fcheck_toolbar_button_syntax):
5005         * tooltalk.doc:
5006         * window.c:
5007         * window.c (Fwindowp):
5008         * window.c (Fwindow_live_p):
5009         * window.c (Fwindow_point):
5010         * window.c (Fdelete_window):
5011         * window.c (Fnext_window):
5012         * window.c (Fprevious_window):
5013         * window.c (Fother_window):
5014         * window.c (window_loop):
5015         * window.c (Fget_lru_window):
5016         * window.c (Fsplit_window):
5017         * window.c (Fenlarge_window):
5018         * window.c (Fenlarge_window_pixels):
5019         * window.c (Fshrink_window):
5020         * window.c (Fshrink_window_pixels):
5021         * window.c (change_window_height):
5022         * window.c (Fwindow_configuration_p):
5023         * window.c (Fcurrent_window_configuration):
5024         * window.h:
5025         * casefiddle.c (casify_object):
5026         * casefiddle.c (Fupcase):
5027         * casefiddle.c (Fdowncase):
5028         * casefiddle.c (Fcapitalize):
5029         * casefiddle.c (Fupcase_initials):
5030         * casefiddle.c (casify_region_internal):
5031         * casefiddle.c (casify_region):
5032         * casefiddle.c (Fupcase_region):
5033         * casefiddle.c (Fdowncase_region):
5034         * casefiddle.c (Fcapitalize_region):
5035         * casefiddle.c (Fupcase_initials_region):
5036         * casefiddle.c (Fupcase_word):
5037         * casefiddle.c (Fdowncase_word):
5038         * casefiddle.c (Fcapitalize_word):
5039         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5040         Replace 0 with '\0' when working with bytes.
5041         Replace initial "(" with "\(" in docstrings.
5042
5043 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5044
5045         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5046
5047         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5048
5049 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5050
5051         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5052
5053 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5054
5055         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5056         correctly.
5057
5058 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5059
5060         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5061         (inhibit_auto_save_session): New variable.
5062         (vars_of_fileio): Declare and initialize them.
5063         * fileio.c (Fdo_auto_save): Don't create session file if
5064         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5065
5066 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5067
5068         * sgiplay.c (play_internal): C++ compilability.
5069         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5070         * callproc.c (Fold_call_process_internal):
5071         Remove unused vars `env', `first'.
5072         * scrollbar.c (update_scrollbar_instance):
5073         #### unused var `current_window'.
5074         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5075         etc. within #ifdef NOT_YET.
5076         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5077         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5078         * specifier.c (specifier_instance):
5079         #### unused var `tag'.
5080         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5081
5082 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5083
5084         * fns.c (Fbutlast):
5085         * fns.c (list_sort):
5086         * fns.c (Ffillarray):
5087         * fns.c (bytecode_nconc2):
5088         * fns.c (Fnconc):
5089         * fns.c (mapcar1):
5090         * fns.c (Fmapconcat):
5091         Be pedantically 64-bit correct.  For the time when someone will
5092         want to have a list with length > 2**32.
5093
5094         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5095         Work around MIPSpro compiler bug.
5096
5097         * process-unix.c (unix_kill_child_process): Add snarky comment.
5098         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5099
5100         * config.h.in: Oops, _getpt ==> _getpty
5101
5102 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5103
5104         * config.h.in:
5105         * regex.c:
5106         Use void*, not char*, as return type of alloca().
5107
5108         * alloc.c (free_marker): Side effect inside assert expression!
5109
5110 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5111
5112         * mule-charset.c (Fset_charset_ccl_program): To check
5113         if the given ccl program is valid, use setup_ccl_program()
5114         instead of CHECK_VECTOR().
5115         (Fmake_charset): Likewise.
5116
5117 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5118
5119         * faces.c (get_extent_fragment_face_cache_index):
5120         Fix cachel.merged_faces memory leak.
5121
5122 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5123
5124         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5125         Reset MSB of octets obtained by DECODE_SJIS
5126         because of the incompatibility with Emacs.
5127         (ccl_driver)<CCL_ENCODE_SJIS>:
5128         Set MSB of octets before passing them to
5129         ENCODE_SJIS because of the incompatibility
5130         with Emacs.
5131
5132 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5133
5134         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5135         (DECLARE_LRECORD): Undo the last change.
5136         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5137
5138 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5139
5140         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5141         the implementation to lrecord_implementations_table.
5142
5143 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5144
5145         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5146         initial value of `lrecord_type_##c_name' and
5147         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5148         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5149         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5150         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5151         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5152
5153 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5154
5155         * miscplay.c (sndcnv8S_2mono):
5156         (sndcnv2monounsigned):
5157         (sndcnvULaw_2linear):
5158         (sndcnv16swap):
5159         Remove implementation-defined behavior.
5160
5161 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5162
5163         * input-method-xlib.c: Warning suppression.
5164
5165 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5166
5167         * mule-ccl.c: Sync up with Emacs 21.0.90.
5168         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5169         Do nothing.
5170         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5171         Likewise.
5172         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5173         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5174         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5175         leading char belongs to official 2-dimensional charset.
5176         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5177         write the given character as is.  Otherwise,
5178         if it is a multibyte char, convert it by
5179         non_ascii_set_charptr_emchar, then write it.
5180         (CCL_WRITE_STRING): Likewise.
5181         (ccl_get_compiled_code): New function.
5182         (setup_ccl_program): When ccl_prog is invalid,
5183         return -1.
5184         (Fregister_code_conversion_map): New function.
5185         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5186
5187         * mule-ccl.h: Sync up with Emacs 21.0.90.
5188         (Fregister_ccl_program): export it.
5189
5190         * redisplay-msw.c (separate_textual_runs):
5191         If ccl program is not valid, don't do ccl conversion.
5192
5193         * redisplay-x.c (separate_textual_runs): Ditto.
5194
5195         * file-coding.c (Fmake_coding_system):
5196         When type is ccl and value is vector, register it
5197         with a proper symbol.  And checks whether the
5198         given ccl program is valid.
5199         (mule_decode): When calling ccl_driver, if src indicates
5200         NULL pointer, set an empty string instead.
5201         (mule_encode): Likewise.
5202
5203 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5204
5205         The following large batch of changes gets us back to a state of
5206         C++ compilability.  Extbyte is now a char, which means that
5207         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5208
5209         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5210
5211         * sound.c (Fplay_sound): Type correctness.
5212
5213         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5214         (x_get_window_property): Type correctness.
5215         (receive_incremental_selection): unsigned char ==> Extbyte
5216         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5217         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5218         (Fx_store_cutbuffer_internal): Type correctness.
5219
5220         * process-unix.c (try_to_initialize_subtty): Type correctness.
5221
5222         * objects-x.c (x_print_color_instance): Type correctness.
5223         (x_print_font_instance): Type correctness.
5224         (x_list_fonts): SExtbyte ==> Extbyte.
5225         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5226         (x_find_charset_font): SExtbyte ==> Extbyte.
5227         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5228         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5229         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5230         Use bufbyte_strcmp.
5231
5232         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5233         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5234         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5235         (BYTE_C0_P): Use bit ops for char-signedness safety.
5236         (BYTE_C1_P): Use bit ops for char-signedness safety.
5237         (CHARSET_BY_LEADING_BYTE):
5238         (CHARSET_BY_ATTRIBUTES):
5239         Always use inline function.
5240         Use type_checking_assert.
5241         Hide chlook.
5242
5243         * mule-charset.c (non_ascii_charptr_copy_char):
5244         Modify to work with both ASCII and non-ASCII characters.
5245         Improve docs and variable names.
5246         Replace over-clever fall-through switch with a simple loop.
5247         (Lstream_get_emchar_1):
5248         Replace over-clever fall-through switch with a simple loop.
5249
5250         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5251         Warning suppression.
5252
5253         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5254         the return value of Lstream_getc, which could be EOF as well.
5255
5256         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5257
5258         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5259         APIs can be used on Extbytes without casts.  Risky!
5260         (SExtbyte): Remove.
5261         (UExtbyte): Remove.
5262
5263         * input-method-xlib.c (XIM_init_device):
5264         Use Xlib.h instead of IntrinsicP.h.
5265         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5266         which will break in X11R7.
5267         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5268         to call XRegisterIMInstantiateCallback with correct types.
5269
5270         * gui-x.c (button_item_to_widget_value): Type correctness.
5271
5272         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5273
5274         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5275         (xbm_instantiate_1): Type correctness.
5276         (BUILD_GLYPH_INST):  Type correctness.
5277
5278         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5279
5280         * file-coding.c:
5281         (decode_coding_sjis):
5282         (decode_coding_big5):
5283         (decode_coding_ucs4):
5284         (decode_coding_utf8):
5285         (decode_coding_iso2022):
5286         (decode_coding_no_conversion):
5287         Make all decoding functions take an Extbyte * arg.
5288         (encode_coding_sjis):
5289         (encode_coding_big5):
5290         (encode_coding_ucs4):
5291         (encode_coding_utf8):
5292         (encode_coding_iso2022):
5293         (encode_coding_no_conversion):
5294         Make all encoding functions take a Bufbyte * arg.
5295         Use size_t instead of unsigned int for memory sizes.
5296         Only cast to unsigned char whenever dereferencing Extbyte *.
5297
5298         * doc.c (unparesseuxify_doc_string): Type correctness.
5299
5300         * console-x.c (split_up_display_spec):
5301         Rewrite without using details of internal string representation.
5302         (x_semi_canonicalize_device_connection): Type correctness.
5303
5304         * config.h.in:
5305         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5306         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5307         (HAVE_XFREE386): Removed.
5308
5309         * buffer.h (DEC_CHARPTR): `const' correctness.
5310         (bufbyte_strcmp): New.
5311         (bufbyte_memcmp): New.
5312
5313         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5314
5315         * buffer.h (XCHAR_OR_CHAR_INT):
5316         Always use inline function.
5317         Remove redundant type checking assert() - XINT will abort quite nicely.
5318
5319 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5320
5321         * search.c (Freplace_match): Set newtext to an empty string.
5322
5323 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5324
5325         * s/decosf1-3.h: Remove #include of stropts.h
5326         * s/ptx.h: Remove #include of stropts.h
5327         * s/usg5-4.h: Remove #include of stropts.h
5328         * sysproc.h:
5329         * config.h.in:
5330         Use stropts.h, not sys/stropts.h.
5331         Use strtio.h, not sys/strtio.h.
5332
5333 2000-10-04  Martin Buchholz <martin@xemacs.org>
5334
5335         * XEmacs 21.2.36 is released.
5336
5337 2000-09-21  Andy Piper  <andy@xemacs.org>
5338
5339         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5340         changes still involve copying the widget tree.
5341         (update_widget_face): make sure a change is register in the widget
5342         tree. Call update_tab_widget_face appropriately.
5343         (update_tab_widget_face): ditto.
5344         (x_tab_control_redisplay): make sure non-structural changes still
5345         involve copying the widget tree.
5346
5347 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5348
5349         * lread.c (locate_file): Check the path element is non-nil.
5350
5351 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5352
5353         * lisp.h: Warning suppression for SCO compilers.
5354
5355         * redisplay-tty.c (reset_tty_modes): Fix crash.
5356         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5357
5358 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5359
5360         Big signal/process handling overhaul.  Bugs fixed:
5361         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5362         M-x comint-kill-subjob should work for both values nil and t of
5363         process-connection-type. It was broken on most platforms.
5364         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5365         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5366         * process-unix.c: Signal/Process handling overhaul.
5367         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5368         (allocate_pty): Use all available modern methods of allocating
5369         ptys, falling back to old style BSD allocation as a last resort.
5370         Use allegedly more secure Unix98 pty allocation by default.
5371         (allocate_pty_the_old_fashioned_way): New. the last resort.
5372         (unix_create_process): Push ptem, ldterm, ttcompat where
5373         available.  Autoconfiscate.
5374         (try_to_initialize_subtty): New.
5375         (unix_kill_child_process): Proper signal handling for ptys on most
5376         platforms, using special knowledge of AIX, BSD, etc...
5377         (unix_create_process): Always disconnect_controlling_terminal() for
5378         subprocesses, whether using ptys or not.
5379         * process.h: Remove old getpt-dependent PTY code.
5380         * process.c (Fprocess_send_signal): New, obvious generic function.
5381         (decode_signal): New.
5382         (Finterrupt_process):
5383         (Fkill_process):
5384         (Fquit_process):
5385         (Fstop_process):
5386         (Fcontinue_process):
5387         (Fsignal_process): Use decode_signal.
5388         (process_send_signal):
5389         Many docstring corrections.
5390         Allow any signal to be sent to a process object.
5391         * config.h.in: Add symbols for big signal/process overhaul.
5392         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5393         * sysproc.h: Include process-related headers, where available:
5394         sys/stropts.h sys/strtio.h pty.h libutil.h
5395         * s/irix4-0.h:
5396         * s/irix5-0.h:
5397         * s/cygwin32.h:
5398         * s/gnu.h:
5399         * s/linux.h:
5400         * s/hpux.h:
5401         * s/aix3-1.h:
5402         Remove old S&M pty stuff.
5403         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5404         * systty.h: Simplify cpp hackery, improve comments.
5405         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5406
5407         * editfns.c (Fformat_time_string):
5408         Be a little more paranoid with the return value of ctime.
5409
5410         * fileio.c (check_executable):
5411         (check_writable):
5412         Use symbolic constants X_OK, W_OK.
5413
5414         * console-x.c (split_up_display_spec): Fix a warning.
5415
5416 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5417
5418         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5419         * ntproc.c (sys_spawnve): make_string ==> build_string
5420         Small clarity improvements.
5421
5422 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5423
5424         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5425
5426         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5427
5428         * config.h.in (HAVE_STRCASECMP): Remove.
5429
5430 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5431
5432         * redisplay-output.c (redisplay_output_pixmap):
5433         Cleaner and possibly more 64-bit correct code.
5434
5435 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5436
5437         * dumper.c (pdump_load_finish): move restoration of
5438         `noninteractive1' to emacs.c (main_1).
5439         * emacs.c (main_1): protect LISP-visible command-line flags
5440         from pdump_load().
5441
5442 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5443
5444         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5445         DUMP_TARGET instead of literal program names.
5446
5447 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5448
5449         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5450
5451 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5452
5453         * *: Spelling mega-patch
5454
5455 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5456
5457         * fns.c (bad_bad_turtle):
5458         Delete "Eek!" comment, since we fixed the bug to which it refers.
5459
5460 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5461
5462         * alloca.c: Replace REGISTER with register.
5463
5464 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5465
5466         * file-coding.c (ucs_to_char): Use countof.
5467
5468 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5469
5470         * file-coding.c: (ucs_to_char):
5471         (complex_vars_of_file_coding):
5472         Use countof instead of sizeof.
5473         Use CHECK_NATNUM instead of CHECK_INT.
5474
5475         * sysdep.c (strcasecmp): Remove.
5476         * device-x.c (ascii_strcasecmp): New.
5477         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5478         Avoid using non-standard non-portable strcasecmp.
5479
5480 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5481
5482         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5483         * font-lock.c: remove reference to emacsfns.h.
5484         * search.c: small doc improvement.
5485         * event-Xt.c: correct file names in comments.
5486         * console-x.h Correct file names in comments.
5487         * frame.c: Correct file names in comments.
5488         * event-stream.c: remove Energize from comments.
5489
5490 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5491
5492         * symeval.h (DEFERROR_STANDARD):
5493         (DEFERROR):
5494         (DEFSYMBOL):
5495         (DEFSYMBOL_NO_DUMP):
5496         (DEFSYMBOL_MULTIWORD_PREDICATE):
5497         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5498         (DEFKEYWORD):
5499         The construct &##name is not sensible C.
5500         Fixes compilation errors with Unixware native compiler.
5501
5502 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5503
5504         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5505         (next_frame_internal): Removed.  We now just have next_frame.
5506         (next_frame):
5507         Write a simpler and cleaner one-pass algorithm.
5508         Remove called_from_delete_device arg and #ifdefed-out code.
5509         (previous_frame):
5510         Renamed from prev_frame.  Update callers.
5511         Cleaned up to have an analogous implementation to next_frame.
5512         (other_visible_frames_internal): Remove the
5513         called_from_delete_device bogus arg, and hence, remove this
5514         function.  Just use other_visible_frames().
5515
5516         * window.c (Fnext_window):
5517         Prettify docstring.
5518         Since next_frame() is guaranteed to return a frame, remove check
5519         for nil inserted in previous patch.
5520         (Fprevious_window):
5521         Prettify docstring.
5522         Make code look more like Fnext_window.
5523         (window_loop):
5524         Respect the `console' arg when iterating through windows.
5525         Fixes bug: (get-buffer-window buffer t device) not respecting
5526         the `device' arg.
5527         This function needs more work, as others have pointed out.
5528
5529         * frame.h: Rename prev_frame to previous_frame.
5530         device_matches_console_spec no longer takes a `frame' arg.
5531
5532         * s/gnu.h:
5533         * s/linux.h:
5534         * s/hpux.h:
5535         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5536         From "Golubev I. N." <gin@mo.msk.ru>.
5537
5538         * make-src-depend: Fix typo.
5539
5540 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5541
5542         * window.c (Fnext_window):
5543         next_frame() might return nil, not a frame.
5544         Fixes this crash:
5545         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5546
5547         * frame.c (next_frame_internal):
5548         We've passed a frame if we've passed its device.
5549         Fixes this crash:
5550         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5551 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5552
5553 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5554
5555         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5556         Allow option to suppress accelerators in menu/dialog items.
5557         (populate_or_checksum_helper): Pass dialog title through above.
5558
5559 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5560
5561         * event-msw.c (mswindows_key_to_emacs_keysym):
5562         Add "pause" key, fix "menu" key.
5563
5564 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5565
5566         * eval.c (reinit_vars_of_eval):
5567         Increase max_lisp_eval_depth to 1000,
5568         required for thai-xtis.el to byte-compile under some circumstances.
5569
5570 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5571
5572         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5573         From Kenichi Handa.
5574
5575 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5576
5577         * make-src-depend: Make the generated Makefiles smaller.
5578
5579         * s/hpux.h (SETUP_SLAVE_PTY):
5580         Provide a %d in the format string for the errno argument.
5581
5582         * editfns.c (Ftemp_directory):
5583         Warning fix.
5584         Avoid buffer overrun on very long file name.
5585
5586         * input-method-xlib.c (XIM_init_device):
5587         6th parameter of XRegisterIMInstantiateCallback has different
5588         pointer types on different OSes, so simply cast to (void *).
5589
5590         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5591
5592         * sysdll.c (dll_open):
5593         shl_load will hang hard if passed a NULL filename.
5594         Simply return NULL for compatibility with dlopen.
5595         * sysdll.c: Conform to XEmacs coding standards.
5596
5597         * sysdep.c (get_pty_max_bytes):
5598         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5599
5600 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5601
5602         * tooltalk.c: Add #include <syssignal.h>
5603
5604 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5605
5606         * s/hpux.h: Don't use undefined function sigunblock().
5607
5608 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5609
5610         * config.h.in: Add HAVE_BALLOON_HELP.
5611         * emacs.c: Use HAVE_BALLOON_HELP.
5612         * Makefile.in.in (x_objs):
5613         Make Balloon Help conditional on finding shape.h.
5614
5615 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5616
5617         * syntax.c (regex_emacs_buffer_p): New variable.
5618         * syntax.h (regex_emacs_buffer_p): extern.
5619         * search.c (looking_at_1):
5620         (string_match_1):
5621         (fast_string_match):
5622         (search_buffer): Set regex_emacs_buffer_p.
5623         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5624         when before_dot, at_dot, after_dot.
5625
5626 2000-08-23  Andy Piper  <andy@xemacs.org>
5627
5628         * gui-x.c (popup_selection_callback): Only set action_occurred
5629         when we really have an image instance.
5630         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5631
5632 2000-08-23  Andy Piper  <andy@xemacs.org>
5633
5634         * gui-msw.c (mswindows_handle_gui_wm_command): set
5635         action_occurred.
5636         * gui-x.c (popup_selection_callback): ditto.
5637
5638         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5639         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5640         (struct Lisp_Image_Instance): add action_occurred flag.
5641
5642         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5643         (image_instance_changed): ditto.
5644         (reset_frame_subwindow_instance_cache): only unmap windows - do
5645         not remove them from the cache also.
5646
5647         * glyphs-widget.c (tab_control_update): better debug.
5648         (progress_gauge_update): ditto.
5649         (layout_update): ditto.
5650         (layout_instantiate): ditto.
5651         (tab_control_order_only_changed): cope with null pending items.
5652
5653         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5654         debug. Force selection of an item when an action occurred. Cope
5655         with null pending_items.
5656         (mswindows_progress_gauge_redisplay): better debug.
5657         * glyphs-x.c (x_tab_control_redisplay): ditto.
5658
5659         * redisplay.c (redisplay_frame): reset the frame cache if the
5660         frame is garbaged.
5661
5662         * window.c (Fset_window_configuration): potentially re-enable
5663         frame cache reset.
5664         (window_unmap_subwindows): need to finalize instances here since
5665         it is only used in mark_window_as_deleted.
5666
5667 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5668
5669         * nas.c (SndOpenDataForReading):
5670         nas.c (WaveOpenDataForReading):
5671         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5672         Somehow escaped from the 2000-08-14 patch.
5673
5674 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5675
5676         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5677         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5678
5679 2000-08-21  Andy Piper  <andy@xemacs.org>
5680
5681         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5682         window if it is not already displayed.
5683
5684         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5685         it is not already displayed.
5686
5687         * window.c (Fset_window_configuration): don't reset the frame
5688         cache.
5689
5690         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5691         instances from the frame cache if we are actually finalizing them.
5692         (reset_frame_subwindow_instance_cache): reset frame cache only
5693         after unmapping everything.
5694         (map_subwindow): set displayed flag after mapping.
5695
5696 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5697
5698         * data.c (indirect_function):
5699         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5700
5701         * eval.c (function_argcount):
5702         Use original function when signaling errors.
5703
5704 2000-08-18  Andy Piper  <andy@xemacs.org>
5705
5706         * frame.c (delete_frame_internal): use new
5707         free_frame_subwindow_instances name.
5708
5709         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5710         (add_tab_item): make return type correct.
5711         (mswindows_tab_control_instantiate): assert index of tab.
5712         (mswindows_tab_control_redisplay): Re-code to use
5713         gui_item_equal_sans_selected and gui_item_list_find_selected.
5714
5715         * glyphs-widget.c (tab_control_update): Correct comment.
5716
5717         * window.c (window_unmap_subwindows): use new
5718         unmap_subwindow_instance_cache_mapper.
5719         (window_unmap_subwindows_cache_mapper): deleted.
5720         (Fset_window_configuration): comparisons should now be with
5721         EQ. Preserve the subwindow instance cache across configuration
5722         changes.
5723         (allocate_window): ditto.
5724         (make_dummy_parent): ditto.
5725
5726         * glyphs.c (free_frame_subwindow_instances): rename from
5727         free_frame_subwindow_instance_cache. finalize all instances rather
5728         than just those in the display cache.
5729         (finalize_all_subwindow_instances): walk windows unmapping and
5730         finalizing subwindows.
5731         (unmap_subwindow_instance_cache_mapper): moved from
5732         window.c. Allow finalization as well as unmapping.
5733
5734         * gui.c (gui_item_list_find_selected): new function.
5735
5736         * gui.h (gui_item_list_find_selected): declare.
5737
5738         * glyphs-x.c (x_tab_control_redisplay): pick tab
5739         explicitly. Re-code to use gui_item_equal_sans_selected and
5740         gui_item_list_find_selected.
5741
5742         * glyphs-x.h: add lwlib-utils.h
5743
5744         * buffer.c (Frecord_buffer): undo previous change.
5745
5746 2000-08-09  Vin Shelton  <acs@xemacs.org>
5747
5748         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5749         possible.  Create temporary files more securely.  The patch was
5750         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5751         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5752         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5753         for details.
5754
5755 2000-08-07  Ben Wing  <ben@xemacs.org>
5756
5757         * getloadavg.c: remove duplicate (and windows-breaking)
5758         includes of fcntl.h and sys/file.h.
5759
5760         * nt.c: remove duplicate getloadavg() definition.
5761
5762         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5763         encodings.
5764
5765 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5766
5767         * eval.c (function_argcount): If function needs to be autoloaded
5768         actually use the loaded definition.
5769         GCPRO function.
5770
5771 2000-08-05  Ben Wing  <ben@xemacs.org>
5772
5773         * getloadavg.c: add prototype for getloadavg().  remove
5774         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5775         of the code).  remove duplicate header includes.
5776
5777         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5778
5779         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5780         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5781         useful load average.
5782
5783         * alloc.c (reinit_alloc_once_early): removed references to
5784         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5785         the lisp vars are the only things referencing the malloc_sbrk_*
5786         vars, and they were already if 0'd out.  these vars only exist
5787         in the older malloc.c, which is basically unused, and they're
5788         only for informational purposes.
5789
5790         * m\*.h: removed useless VIRT_ADDR_VARIES.
5791
5792         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5793
5794 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5795
5796         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5797         color if the image is a mono pixmap.
5798
5799 2000-07-30  Ben Wing  <ben@xemacs.org>
5800
5801         * Makefile.in.in (release):
5802         Remove stray @.
5803
5804         * buffer.c (directory_is_current_directory):
5805         * dired-msw.c (mswindows_get_files):
5806         * dired.c:
5807         * dired.c (Fdirectory_files):
5808         * dired.c (file_name_completion_stat):
5809         * dired.c (Ffile_attributes):
5810         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5811         preprocessor tricks, to avoid problems on some machines
5812         (e.g. SCO).
5813
5814         * callproc.c (egetenv): GC docs.
5815
5816         * console-msw.h:
5817         * console-msw.h (struct mswindows_dialog_id):
5818         * lrecord.h (lrecord_type):
5819         New object for use with MSW dialogs.
5820
5821         * console.h (struct console_methods):
5822         New enable/disable frame methods, for proper modal dialogs.
5823
5824         * device-msw.c (msprinter_default_printer): Fix to follow
5825         proper Mule conventions.
5826
5827         * device-msw.c:
5828         * device-msw.c (signal_open_printer_error):
5829         * device-msw.c (msprinter_init_device):
5830         * device-msw.c (ensure_not_printing):
5831         * device-msw.c (plist_get_margin):
5832         * device-msw.c (Fmsprinter_select_settings):
5833         * device-msw.c (finalize_devmode):
5834         * device-msw.c (Fmsprinter_settings_despecialize):
5835         * device-msw.c (signal_enum_priner_error):
5836         * extents.c (decode_extent):
5837         * extents.c (decode_map_extents_flags):
5838         * extents.c (decode_extent_at_flag):
5839         * extents.c (Fextent_at):
5840         * extents.c (Fextents_at):
5841         * extents.c (symbol_to_glyph_layout):
5842         [[[[2]]]] Use structured errors.
5843
5844         * dialog-msw.c:
5845         * dialog-msw.c (mswindows_is_dialog_msg):
5846         * dialog-msw.c (mark_mswindows_dialog_id):
5847         * dialog-msw.c (dialog_proc):
5848         * dialog-msw.c (handle_question_dialog_box):
5849         * dialog-msw.c (syms_of_dialog_mswindows):
5850         Define new object to clean up marking; use it as a dialog identifier.
5851         Call new delete-dialog-box-hook.
5852
5853         * dialog-x.c (dbox_selection_callback):
5854         * dialog-x.c (dbox_descriptor_to_widget_value):
5855         * dialog-x.c (x_make_dialog_box_internal):
5856         Call new delete-dialog-box-hook.
5857         Return an id.
5858
5859         * dialog.c:
5860         * dialog.c (syms_of_dialog):
5861         * dialog.c (vars_of_dialog):
5862         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5863
5864         * eval.c:
5865         * eval.c (signal_call_debugger):
5866         when noninteractive, output stack traces on the console instead
5867         of in a (never-seen) buffer.
5868
5869         * eval.c (signal_type_error):
5870         * eval.c (invalid_argument_2):
5871         * lisp.h:
5872         new funs for use w/structured errors.
5873
5874         * event-Xt.c:
5875         * event-Xt.c (x_to_emacs_keysym):
5876         * event-Xt.c (describe_event):
5877         * event-Xt.c (emacs_Xt_event_handler):
5878         * event-Xt.c (vars_of_event_Xt):
5879         * event-msw.c:
5880         * event-msw.c (mswindows_wnd_proc):
5881         * event-msw.c (vars_of_event_mswindows):
5882         rename {x,mswindows}-debug-events to debug-{}-events for
5883         consistency with other debug-foo variables.
5884
5885         * event-stream.c:
5886         document next-event more clearly.
5887
5888         * fileio.c (Ffile_name_directory):
5889         * fileio.c (Ffile_name_nondirectory):
5890         * fileio.c (Funhandled_file_name_directory):
5891         * fileio.c (file_name_as_directory):
5892         * fileio.c (Ffile_name_as_directory):
5893         * fileio.c (directory_file_name):
5894         * fileio.c (Fdirectory_file_name):
5895         * fileio.c (Fmake_temp_name):
5896         * fileio.c (Ffile_truename):
5897         * fileio.c (Fsubstitute_in_file_name):
5898         * fileio.c (expand_and_dir_to_file):
5899         * fileio.c (barf_or_query_if_file_exists):
5900         * fileio.c (check_executable):
5901         * fileio.c (Ffile_exists_p):
5902         * fileio.c (Ffile_writable_p):
5903         * fileio.c (Ffile_directory_p):
5904         * fileio.c (Ffile_regular_p):
5905         * fileio.c (Ffile_modes):
5906         * fileio.c (Ffile_newer_than_file_p):
5907         * fileio.c (Fverify_visited_file_modtime):
5908         * fileio.c (Fset_visited_file_modtime):
5909         * fileio.c (auto_save_1):
5910         (1). (2).
5911         fix up gcpro's.
5912
5913         * frame-msw.c:
5914         * frame-msw.c (mswindows_init_frame_1):
5915         * frame-msw.c (mswindows_enable_frame):
5916         * frame-msw.c (error_frame_unsizable):
5917         * frame-msw.c (msprinter_init_frame_1):
5918         * frame-msw.c (msprinter_init_frame_3):
5919         * frame-msw.c (console_type_create_frame_mswindows):
5920         (2).
5921         implement new enable/disable frame methods.
5922
5923         * frame-x.c:
5924         * frame-x.c (x_enable_frame):
5925         * frame-x.c (console_type_create_frame_x):
5926         implement new enable/disable frame methods.
5927
5928         * frame.c:
5929         * frame.c (Fdisable_frame):
5930         * frame.c (syms_of_frame):
5931         * frame.h (struct frame):
5932         implement new enable/disable frame methods/functions.
5933
5934         * general-slots.h:
5935         add initial-focus.
5936
5937         * glyphs-msw.c (mswindows_widget_instantiate):
5938         comment that initial-focus should be implemented.
5939
5940         * glyphs-widget.c:
5941         * glyphs-widget.c (check_valid_instantiator):
5942         * glyphs-widget.c (check_valid_orientation):
5943         * glyphs-widget.c (check_valid_tab_orientation):
5944         * glyphs-widget.c (check_valid_justification):
5945         * glyphs-widget.c (check_valid_border):
5946         * glyphs-widget.c (check_valid_callback):
5947         * glyphs-widget.c (check_valid_int_or_function):
5948         * glyphs-widget.c (check_valid_string_or_vector):
5949         * glyphs-widget.c (check_valid_item_list_1):
5950         * glyphs-widget.c (widget_validate):
5951         * glyphs-widget.c (combo_box_validate):
5952         * glyphs-widget.c (widget_instantiate):
5953         * glyphs-widget.c (syms_of_glyphs_widget):
5954         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5955         * glyphs-widget.c (image_instantiator_combo_box):
5956         * glyphs-widget.c (image_instantiator_scrollbar):
5957         * glyphs-widget.c (image_instantiator_tab_control):
5958         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5959         (2).
5960         support (unimplemented) keyword initial-focus.
5961         reindent long macros.
5962
5963         * glyphs-x.c (x_redisplay_widget):
5964         * glyphs-x.c (x_button_instantiate):
5965         * glyphs-x.c (x_button_redisplay):
5966         * glyphs-x.c (x_progress_gauge_instantiate):
5967         * glyphs-x.c (x_edit_field_instantiate):
5968         * glyphs-x.c (x_combo_box_instantiate):
5969         * glyphs-x.c (x_tab_control_instantiate):
5970         * glyphs-x.c (x_label_instantiate):
5971         * gui-x.c:
5972         * gui-x.c (button_item_to_widget_value):
5973         * gui-x.c (gui_items_to_widget_values_1):
5974         * gui-x.c (gui_item_children_to_widget_values):
5975         * gui-x.c (gui_items_to_widget_values):
5976         * gui-x.h:
5977         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5978         add new flag to gui-parsing routines to indicate whether
5979         accelerator specs should be supported.
5980
5981         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5982
5983         * glyphs.h (struct Lisp_Image_Instance):
5984         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5985         add initial-focus flag.
5986
5987         * gui.c:
5988         * gui.c (syms_of_gui):
5989         * gui.c (vars_of_gui):
5990         clean up menu-no-selection-hook.
5991
5992         * gui.h:
5993         support delete-dialog-box-hook.
5994
5995         * lread.c (Fload_internal):
5996         * lread.c (locate_file_in_directory_mapper):
5997         (1).
5998
5999         * lrecord.h:
6000         * lrecord.h (struct toolbar_button):
6001         * lrecord.h (syms_of_toolbar):
6002         document how to create a new object.
6003
6004         * menubar-msw.c (mswindows_char_is_accelerator):
6005         may be called on frames w/o menus.
6006
6007         * menubar.c (vars_of_menubar):
6008         clean up :filter docs.
6009
6010         * nt.c (readdir):
6011         * ntproc.c:
6012         (1).
6013
6014         * process-nt.c:
6015         * process-nt.c (validate_signal_number):
6016         * process-nt.c (signal_cannot_launch):
6017         * process-nt.c (nt_create_process):
6018         * process-nt.c (nt_send_process):
6019         * process-nt.c (nt_kill_child_process):
6020         * process-nt.c (nt_open_network_stream):
6021         * process-nt.c (syms_of_process_nt):
6022         (2).
6023         delete quote-handling.  call new lisp code that does it better.
6024
6025         * process-unix.c (connect_to_file_descriptor):
6026         * process-unix.c (allocate_pty):
6027         * process-unix.c (unix_send_process):
6028         * process-unix.c (unix_kill_child_process):
6029         * process-unix.c (unix_open_network_stream):
6030         * process-unix.c (unix_open_multicast_group):
6031         (1). (2).
6032
6033         * process.c:
6034         * process.c (Fstart_process_internal):
6035         (2).  need to canonicalize process path even if absolute.
6036
6037         * select-msw.c (symbol_to_ms_cf):
6038         * select-msw.c (ms_cf_to_symbol):
6039         * select-msw.c (cf_is_autofreed):
6040         * select-msw.c (mswindows_destroy_selection):
6041         * select.c:
6042         * select.c (syms_of_select):
6043         * select.h:
6044         support dibv5, fix bugs. (from Mike Alexander)
6045
6046         * select.c (Fget_selection_internal):
6047         * select.c (select_convert_out):
6048
6049         * sysdep.c:
6050         * sysdep.c (xemacs_stat):
6051         renamed.
6052
6053         * sysdep.c (mkdir):
6054         * sysdep.c (rmdir):
6055         but keep original stat() here because we provide encapsulation
6056         around these funs.
6057
6058         * sysfile.h:
6059         * sysfile.h (fstat):
6060         remove stat garbage.
6061
6062         * syswindows.h:
6063         fix X/MSW conflict.
6064         don't include tchar.h.  it's inappropriate because it makes
6065         compile-time distinctions when we want runtime distinctions.
6066         (we provide our own tchar replacements)
6067
6068         * toolbar.c:
6069         use default object printer for toolbar-button.
6070
6071         * unexcw.c:
6072         make sure we don't encapsulate.
6073
6074         * window.c (vars_of_window):
6075         emphasize that temp-buffer-show-hook is obsolete.
6076
6077 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6078
6079         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6080         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6081
6082         * events.c (Fevent_timestamp_lessp):
6083         Not 64-bit clean.  Use EMACS_INT, not int.
6084
6085 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6086
6087         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6088         unsigned int and changed the last enum to
6089         lrecord_type_last_built_in_type.
6090         (lrecord_implementations_table): changed prototype to know how
6091         long the array is supposed to be.
6092         (lrecord_type_count): new unsigned int to keep track of the
6093         current number of lisp lrecord types.
6094         (DEFINE_EXTERNAL_LRECORD):
6095         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6096         dynamic-modules to declare new lisp types. They are the same
6097         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6098         int for each new type, and increment lrecord_type_count by 1.
6099
6100         * alloc.c (lrecord_implementations_table): Changed to reference
6101         lrecord_type_last_built_in_type for the size of the array.
6102         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6103
6104 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6105
6106         * glyphs.h (check_valid_item_list): Renamed from
6107         check_valid_item_list_1.
6108
6109 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6110
6111         * select.c (Qselect_coerce): New.
6112         * select.c (Vselection_coercion_alist): New.
6113         * select.c (syms_of_select): Declare.
6114         * select.c (get-selection-internal): Use it.
6115         Use the new select-coerce functionality.
6116
6117         * select.c (select_coerce): New.
6118         * select.h (select_coerce): Declare.
6119         New function to coerce one type of data into another.
6120
6121 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6122
6123         * callproc.c (Fcall_process_internal):
6124         (Fcall_process_internal):
6125         * process-unix.c (unix_create_process):
6126         Save and restore the value of errno, so that error messages are accurate.
6127
6128 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6129
6130         * elhash.c (print_hash_table):
6131         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6132         Prettify docstrings and indentation.
6133
6134 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6135
6136         * window.c (Fwindow_pixel_edges): Subtract frame border and
6137         gutter size.
6138
6139 2000-07-31  Andy Piper  <andy@xemacs.org>
6140
6141         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6142         will acknowledge the change.
6143
6144         * glyphs.h: declare tab_control_order_only_changed.
6145
6146         * glyphs-x.c (x_tab_control_redisplay): use
6147         tab_control_order_only_changed.
6148
6149         * glyphs-widget.c (tab_control_order_only_changed): new function.
6150
6151         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6152         tab_control_order_only_changed.
6153
6154         * gui.c (gui_item_equal_sans_selected): new function.
6155         (gui_item_equal): use it.
6156
6157         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6158         :properties in favor of :items..
6159
6160         * glyphs-widget.c (check_valid_item_list): rename from
6161         check_valid_item_list_1.
6162         (check_valid_item_list_1): renamed.
6163         (combo_box_validate): deprecate :properties in favor of :items.
6164         (widget_instantiate): ditto.
6165         (tab_control_update): ditto.
6166         (image_instantiator_combo_box): ditto.
6167         (image_instantiator_tree_view): ditto.
6168         (image_instantiator_tab_control): ditto.
6169         (layout_post_instantiate): remove dead code.
6170
6171         * print.c (debug_print_no_newline): only write to debugger if in
6172         WIN32_NATIVE.
6173
6174         * elhash.c (Fmake_hash_table): update doc string.
6175
6176         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6177         messages whilst in GC. This at least stops XEmacs crashing but has
6178         the potential for wierd behaviour.
6179
6180 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6181
6182         * config.h.in:
6183         Make existence of s&m files optional.
6184
6185         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6186         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6187         * s/gnu.h: Remove HAVE_GETLOADAVG.
6188         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6189         * s/sol2.h: Remove HAVE_GETLOADAVG.
6190         * lisp.h: Remove getloadavg() declaration.
6191         * fns.c:
6192         Include <sys/loadavg.h> if available.
6193         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6194         * config.h.in:  Group together getloadavg()-related macros.
6195         Use only configure-time tests to detect getloadavg().
6196
6197 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6198
6199         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6200
6201 2000-07-25  Andy Piper  <andy@xemacs.org>
6202
6203         * syswindows.h: add tchar.h for native builds.
6204
6205         * frame.c (syms_of_frame): remove set-glyph-image.
6206
6207         * general-slots.h: add Qset_glyph_image.
6208
6209         * glyphs-widget.c (layout_update): add domain arg to
6210         set-glyph-image.
6211         (syms_of_glyphs_widget): remove set-glyph-image.
6212
6213 2000-07-23  Ben Wing  <ben@xemacs.org>
6214
6215         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6216         Vpopup_frame_list.
6217
6218 2000-07-22  Andy Piper  <andy@xemacs.org>
6219
6220         * symsinit.h: add syms_of_win32().
6221
6222         * gui-msw.c (syms_of_gui_mswindows): remove
6223         Fmswindows_shell_execute.
6224         (Fmswindows_shell_execute): moved to win32.c.
6225
6226         * emacs.c (main_1): add syms_of_win32 ().
6227
6228         * win32.c (init_potentially_nonexistent_functions): rewrite in
6229         compiler-friendly terms.
6230         (Fmswindows_shell_execute): move here from gui-msw.c.
6231         (syms_of_win32): new.
6232
6233         * device-msw.c (Fmswindows_printer_list): clean up args to
6234         EnumPrinters.
6235         Don't include tchar under cygwin or mingw.
6236         (msprinter_default_printer): make cygwin-friendly.
6237
6238 2000-07-21  Andy Piper  <andy@xemacs.org>
6239
6240         * glyphs-widget.c (image_instantiator_tree_view): use tab
6241         control's update function.
6242         (layout_property): new function. Retrieve items.
6243
6244         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6245         function. Re-populate the tree view from the pending items.
6246
6247         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6248         is designated the parent if the domain is an image instance. This
6249         is needed so that dirtiness can be cascade up the hierarchy and
6250         thus for layout children to be redisplayed correctly.
6251         (allocate_image_instance): rename glyph -> parent.
6252
6253         * redisplay.h: change redisplay_output_layout signature.
6254
6255         * redisplay-msw.c (mswindows_output_display_block): use domain
6256         arg.
6257
6258         * redisplay-x.c (x_output_display_block): use domain arg.
6259
6260 2000-07-10  Andy Piper  <andy@xemacs.org>
6261
6262         * window.c (Fset_window_configuration): add comment.
6263
6264         * redisplay-output.c (compare_runes):
6265         (redisplay_output_subwindow): redisplay rather than update subwindow.
6266         (redisplay_output_layout): ditto.
6267
6268         * redisplay-msw.c (mswindows_frame_output_end):
6269         (mswindows_frame_output_end): make defer window pos optional.
6270
6271         * lisp.h: add Flast.
6272
6273         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6274         normalize method. Change update method to be for changed
6275         instantiators. Add redisplay method. Change signature of layout
6276         method.
6277         (struct Lisp_Image_Instance): add instantiator.
6278         (IMAGE_INSTANCE_INSTANTIATOR): new.
6279         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6280         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6281         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6282
6283         * glyphs.c:
6284         (find_instantiator_differences): new function.
6285         (Fset_instantiator_property): new convenience function.
6286         (check_image_instance_structure): strictly check for vector
6287         instantiators.
6288         (normalize_image_instantiator): make non-static.
6289         (instantiate_image_instantiator): pass on dest_mask and use new
6290         signatures for image_instance_layout and friends.
6291         (mark_image_instance): mark the instantiator. Mark the subwindow
6292         face not the widget face.
6293         (image_instance_equal): add instantiator.
6294         (image_instance_hash): ditto.
6295         (allocate_image_instance): ditto.
6296         (Fset_image_instance_property): removed.
6297         (Fimage_instance_file_name): ditto.
6298         (Fcolorize_image_instance): ditto.
6299         (image_instance_layout): add offsets to be set.
6300         (update_image_instance): new function. update an image instance
6301         from its changed instantiator.
6302         (inherit_normalize): add dest_mask.
6303         (xbm_normalize): ditto.
6304         (xface_normalize): ditto.
6305         (xpm_normalize): ditto.
6306         (text_update): set_property -> update.
6307         (image_instantiate): use the glyph identity as a hash key, not the
6308         instantiator.
6309         (glyph_width): use new image_instance_layout signature.
6310         (glyph_ascent): ditto.
6311         (glyph_descent): ditto.
6312         (glyph_height): ditto.
6313         (glyph_query_geometry): ressurrect.
6314         (glyph_layout): ditto.
6315         (redisplay_subwindow): update -> redisplay.
6316         (syms_of_glyphs): add Fset_instantiator_property.
6317         (image_instantiator_format_create): set_property -> update.
6318
6319         * glyphs-x.c:
6320         (autodetect_normalize): add dest_maks to signature.
6321         (x_redisplay_subwindow): update -> redisplay.
6322         (x_redisplay_widget): ditto.
6323         (x_button_redisplay): ditto.
6324         (x_progress_gauge_redisplay): ditto.
6325         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6326         stacking order.
6327         (console_type_create_glyphs_x): update -> redisplay.
6328         (image_instantiator_format_create_glyphs_x): ditto.
6329
6330         * glyphs-widget.c:
6331         (check_valid_instantiator): disallow glyphs in the instantiator,
6332         they must now be vectors.
6333         (check_valid_instantiator_list): ditto.
6334         (glyph_instantiator_to_glyph): use internal symbol rather than
6335         intern.
6336         (widget_update): renamed from widget_set_property. Call cascaded
6337         update methods.
6338         (redisplay_widget): renamed from update_widget.
6339         (widget_layout): image_instance_layout now takes position as well
6340         as size.
6341         (widget_normalize): ditto.
6342         (widget_instantiate): ditto.
6343         (tab_control_query_geometry) ditto.:
6344         (tab_control_update): renamed from tab_control_set_property.
6345         (progress_gauge_update): set_property -> update.
6346         (layout_normalize): rewrite so that child instantiators are
6347         normalized also.
6348         (layout_update): new function. Create glyphs from the normalized
6349         children and cope with any other layout keywords. We do not
6350         instantiate children here that will be take care of by
6351         redisplay_output_layout.
6352         (layout_instantiate): call layout_update and not much else.
6353         (layout_post_instantiate): not sure whether this is needed
6354         anymore.
6355         (layout_query_geometry): query glyph geometry rather than
6356         image_instance geometry.
6357         (layout_layout): set offsets from pass in parameters. Use glyph
6358         geometry and layout functions rather than image instance ones.
6359         (native_layout_layout): ditto.
6360         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6361         (image_instantiator_widget): set_property -> update.
6362         (image_instantiator_buttons): ditto.
6363         (image_instantiator_progress_guage): ditto.
6364         (image_instantiator_tab_control): ditto.
6365         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6366         (image_instantiator_layout): add update method.
6367
6368         * glyphs-msw.c (bmp_normalize):
6369         (mswindows_resource_normalize): add dest_mask so that it can be
6370         proprogated by layout_normalize.
6371         (begin_defer_window_pos): make optional because it may not be the
6372         right thing to do and it introduces differences with X.
6373         (mswindows_unmap_subwindow): ditto.
6374         (mswindows_map_subwindow): ditto.
6375         (mswindows_redisplay_subwindow): renamed from
6376         mswindows_update_subwindow.
6377         (mswindows_redisplay_widget): ditto.
6378         (mswindows_button_redisplay): renamed from
6379         mswindows_button_update. Update is now what the instantiation
6380         function does for a changed instantiator.
6381         (mswindows_progress_gauge_instantiate): set the progress value
6382         here if appropriate.
6383         (mswindows_tab_control_redisplay): cope with re-ordering of the
6384         members of the tab widget by simply selecting the new top
6385         widget. This makes things appear ok if you click on a tab.
6386         (mswindows_combo_box_instantiate): image_instance_layout now takes
6387         position as well as size.
6388         (mswindows_progress_gauge_redisplay): renamed from
6389         mswindows_progress_gauge_update.
6390         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6391         (image_instantiator_format_create_glyphs_mswindows): ditto.
6392
6393         * glyphs-eimage.c (jpeg_normalize):
6394         (gif_normalize):
6395         (png_normalize):
6396         (tiff_normalize): add dest_mask so that it can be proprogated by
6397         layout_normalize.
6398
6399         * elhash.c:
6400         (print_hash_table):
6401         (hash_table_weakness_validate):
6402         (decode_hash_table_weakness):
6403         (Fhash_table_weakness):
6404         (Fhash_table_type):
6405         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6406
6407         * console.h (struct console_methods): move update_* to
6408         redisplay_*.
6409
6410 2000-07-20  Ben Wing  <ben@xemacs.org>
6411
6412         * *.[ch] (XSETOBJ): remove unused middle argument.
6413         lisp-disunion.h: correct wrap_object() to one argument.
6414
6415 2000-07-15  Ben Wing  <ben@xemacs.org>
6416
6417         * s/cygwin32.h:
6418         * s/cygwin32.h (CYGWIN_CONV_PATH):
6419         Add missing logb prototype for v1.1.
6420         Use post-b20 names and alias to pre-b20 names when pre-b20.
6421
6422         * s/windowsnt.h: [5].
6423
6424 2000-07-15  Ben Wing  <ben@xemacs.org>
6425
6426         * Makefile.in.in (x_objs):
6427         * Makefile.in.in (sheap_objs):
6428         * Makefile.in.in (objs):
6429         added win32.o, cosmetic cleanups.
6430
6431         * alloc.c (Fmake_byte_code):
6432         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6433         etc. macros which declare their own args now.
6434
6435         * alloc.c (syms_of_alloc):
6436         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6437
6438         * buffer.c:
6439         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6440
6441         * buffer.c (Fget_file_buffer):
6442         Fixed GCPRO problem.
6443
6444         * buffer.c (get_truename_buffer):
6445         Fixed comment about GC checking.
6446
6447         * buffer.c (syms_of_buffer):
6448         Undeclared those dedicated frame funs.
6449         [2].
6450
6451         * buffer.h:
6452         Define convenience macros for internal/external conversions.
6453         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6454         and Qenvironment_variable_encoding for cleaner code.
6455
6456         * bufslots.h:
6457         Remove dedicated-frame; in lisp.
6458
6459         * bytecode.c (funcall_compiled_function):
6460         [1].
6461
6462         * bytecode.c (syms_of_bytecode):
6463         [2].
6464
6465         * console-msw.c:
6466         * console-msw.c (mswindows_show_console): Rewrote.
6467
6468         * console-msw.c (Fmswindows_debugging_output): New.
6469         Sends to OutputDebugString (special MSWin debugger interface).
6470
6471         * console-msw.c (Fmswindows_message_box):
6472         Fixed stupid bugs so it works when called from kill-emacs.
6473
6474         * console-msw.c (syms_of_console_mswindows):
6475         Declare Fmswindows_debugging_output.
6476
6477         * console-msw.h:
6478         New MSWin prototypes.
6479
6480         * console-msw.h (struct mswindows_frame):
6481         New entry last-click-mods for improved button-modifier support.
6482
6483         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6484         New struct entry `popup' with corresponding accessor.
6485
6486         * console-x.c:
6487         * console-x.c (split_up_display_spec):
6488         * console-x.c (get_display_arg_connection):
6489         * console-x.c (x_semi_canonicalize_console_connection):
6490         * console-x.c (x_canonicalize_device_connection):
6491         [[[6]]]: Change char to more specific type.
6492         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6493
6494         * console-x.c (x_semi_canonicalize_console_connection):
6495         * console-x.c (x_canonicalize_device_connection):
6496         [[[9]]]: Fix up error signalling to use new structured error system.
6497
6498         * console-x.h:
6499         [[[4]]]: Define codesys aliases:
6500         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6501         Qx_color_name_encoding, Qx_display_name_encoding.
6502
6503         * console.h (struct console_methods):
6504         New method make_dialog_box_internal supersedes older
6505         popup_dialog_box method.
6506
6507         * data.c:
6508         Define many new errors, part of new structured errors.
6509
6510         * data.c (init_errors_once_early):
6511         * data.c (syms_of_data):
6512         [2].
6513
6514         * device-msw.c (mswindows_init_device):
6515         [[[5]]]: Cleanup to support NT 3.51.
6516
6517         * device-msw.c (decode_devmode): Cleanup.
6518
6519         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6520         * device-msw.c (mswindows_handle_print_dialog_box):
6521         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6522         * device-msw.c (syms_of_device_mswindows):
6523         Delete the dialog box primitives recently introduced by Kirill and
6524         instead interface to general dialog box interface.
6525
6526         * device-x.c:
6527         * device-x.c (compute_x_app_name):
6528         * device-x.c (x_init_device):
6529         * device-x.c (Fx_valid_keysym_name_p):
6530         * device-x.c (Fx_set_font_path):
6531         [6].
6532         [7].
6533
6534         * device.h (wrap_device): New.
6535         First of its kind; meant to replace XSETDEVICE.
6536
6537         * dialog-msw.c: Many file-dialog symbols.
6538
6539         * dialog-msw.c (mswindows_register_popup_frame): New.
6540         * dialog-msw.c (mswindows_is_dialog_msg): New.
6541         For supporting kbd traversal in dialog boxes.
6542
6543         * dialog-msw.c (dialog_proc):
6544         Support hitting ESC in dialogs.
6545
6546         * dialog-msw.c (struct):
6547         Common dialog box errors.
6548
6549         * dialog-msw.c (handle_file_dialog_box): New.
6550         Add file dialog code.
6551
6552         * dialog-msw.c (handle_question_dialog_box):
6553         Redo existing code to support new question dialog syntax.
6554
6555         * dialog-msw.c (console_type_create_dialog_mswindows):
6556         We support new dialog console method.
6557
6558         * dialog-msw.c (syms_of_dialog_mswindows):
6559         * dialog-msw.c (vars_of_dialog_mswindows):
6560         New file dialog symbols, vars.
6561
6562         * dialog-x.c:
6563         * dialog-x.c (maybe_run_dbox_text_callback):
6564         * dialog-x.c (dbox_descriptor_to_widget_value):
6565         * dialog-x.c (x_make_dialog_box_internal):
6566         * dialog-x.c (console_type_create_dialog_x):
6567         Mule-ize entire file.
6568         Redo to support question dialog syntax.
6569         [6].
6570
6571         * dialog.c:
6572         * dialog.c (Fmake_dialog_box_internal):
6573         * dialog.c (syms_of_dialog):
6574         Kill old popup-dialog-box, replace with new primitive.
6575         Just call device method or signal error.
6576
6577         * eldap.c (Fldap_open):
6578         * eldap.c (Fldap_search_basic):
6579         * eldap.c (Fldap_add):
6580         * eldap.c (Fldap_modify):
6581         [1].
6582         [7].
6583
6584         * emacs.c:
6585         * emacs.c (make_arg_list_1):
6586         * emacs.c (make_arg_list):
6587         Mule-ize call to dll_init().
6588         [6].
6589         [8].
6590
6591         * emacs.c (make_argc_argv):
6592         * emacs.c (free_argc_argv):
6593         * emacs.c (init_cmdargs):
6594         * emacs.c (main_1):
6595         * emacs.c (Fkill_emacs):
6596         * emacs.c (Fdump_emacs):
6597         Update comments about what can be used in syms_* etc.
6598         Call init_win32() when necessary.
6599         Fix up MS Win dialog box in kill-buffer to actually work right.
6600         [7].
6601
6602         * eval.c:
6603         * eval.c (For):
6604         * eval.c (Fand):
6605         * eval.c (Fprogn):
6606         * eval.c (Fprog1):
6607         * eval.c (Fprog2):
6608         * eval.c (FletX):
6609         * eval.c (Flet):
6610         * eval.c (condition_case_3):
6611         * eval.c (Feval):
6612         * eval.c (function_argcount):
6613         * eval.c (funcall_lambda):
6614         [1].
6615
6616         * eval.c (type_error): New.
6617         * eval.c (maybe_type_error): New.
6618         * eval.c (continuable_type_error): New.
6619         * eval.c (maybe_continuable_type_error): New.
6620         * eval.c (type_error_with_frob): New.
6621         * eval.c (maybe_type_error_with_frob): New.
6622         * eval.c (continuable_type_error_with_frob): New.
6623         * eval.c (maybe_continuable_type_error_with_frob): New.
6624         New functions for use with structured errors.
6625
6626         * event-Xt.c:
6627         * event-Xt.c (x_event_to_emacs_event):
6628         Buttons are now modifiers too.
6629
6630         * event-Xt.c (emacs_Xt_current_event_timestamp):
6631         Implement new event method.
6632         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6633
6634         * event-msw.c:
6635         * event-msw.c (ntpipe_shove_writer): [5].
6636         * event-msw.c (mswindows_enqueue_mouse_button_event):
6637         * event-msw.c (mswindows_drain_windows_queue):
6638         * event-msw.c (mswindows_wnd_proc): [7].
6639         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6640         * event-msw.c (mswindows_modifier_state):
6641         Throughout: support new button modifiers.
6642
6643         * event-msw.c (emacs_mswindows_current_event_timestamp):
6644         Implement new event method.
6645         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6646
6647         * event-stream.c:
6648         * event-stream.c (event_stream_current_event_timestamp): New.
6649         * event-stream.c (maybe_kbd_translate): New functionality.
6650         * event-stream.c (vars_of_event_stream):
6651         Document new kbd-translate-table functionality.
6652
6653         * event-stream.c (Fcurrent_event_timestamp): New.
6654         New primitive for use in fabricated events.
6655         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6656
6657         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6658
6659         * events.c:
6660         * events.c (Fmake_event):
6661         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6662         [1].
6663         [9].
6664
6665         * events.c (format_event_object): fix gcc warnings.
6666
6667         * events.c (Fevent_timestamp): Document new primitives.
6668
6669         * events.c (TIMESTAMP_HALFSPACE): New.
6670
6671         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6672         comparing timestamps correctly (half-space algorithm).
6673
6674         * events.c (Fevent_modifier_bits): Doc fix.
6675
6676         * events.c (Fevent_modifiers): Major doc addition.
6677         * events.c (event_x_y_pixel_internal): Typo fix.
6678         * events.c (syms_of_events): Declare new primitives.
6679
6680         * events.h:
6681         Update long comment for button modifiers, timestamps.
6682
6683         * events.h (struct event_stream):
6684         New current_event_timestamp method.
6685
6686         * extents.c:
6687         * extents.c (extent_in_region_p):
6688         * extents.c (decode_extent):
6689         * extents.c (Fset_extent_parent):
6690         * extents.c (decode_map_extents_flags):
6691         Fix gcc warnings.
6692         [9].
6693
6694         * extents.c (struct extent_at_arg):
6695         * extents.c (decode_extent_at_flag):
6696         * extents.c (extent_at_mapper):
6697         * extents.c (extent_at_bytind):
6698         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6699         * extents.c (Fextents_at): New primitive. [9].
6700         * extents.c (symbol_to_glyph_layout): [9].
6701         Support new primitive `extents-at'.
6702
6703
6704         * extents.c (get_text_property_bytind):
6705         extent_at_bytind has another arg.
6706         [9].
6707
6708         * extents.c (syms_of_extents): New primitive.
6709
6710         * file-coding.c (Fmake_coding_system): [1].
6711         * file-coding.c (subsidiary_coding_system): fix gcc warning
6712         * file-coding.c (syms_of_file_coding): [2].
6713
6714         * fileio.c (Fexpand_file_name):
6715         * fileio.c (Fsysnetunam):
6716         * fileio.c (Ffile_exists_p):
6717         * fileio.c (Ffile_executable_p):
6718         * fileio.c (Fverify_visited_file_modtime):
6719         Clean up GCPROing.
6720
6721         * fileio.c (syms_of_fileio): [2].
6722
6723         * filelock.c (lock_file_1):
6724         * filelock.c (current_lock_owner):
6725         * filelock.c (lock_if_free):
6726         * filelock.c (lock_file):
6727         * filelock.c (unlock_file):
6728         Clean up GCPROing.
6729
6730         * fns.c (concat): Fix gcc warning.
6731
6732         * fns.c (Fmember):
6733         * fns.c (Fold_member):
6734         * fns.c (Fmemq):
6735         * fns.c (Fold_memq):
6736         * fns.c (memq_no_quit):
6737         * fns.c (Fassoc):
6738         * fns.c (Fold_assoc):
6739         * fns.c (Fassq):
6740         * fns.c (Fold_assq):
6741         * fns.c (assq_no_quit):
6742         * fns.c (Frassoc):
6743         * fns.c (Fold_rassoc):
6744         * fns.c (Frassq):
6745         * fns.c (Fold_rassq):
6746         * fns.c (rassq_no_quit):
6747         * fns.c (Fdelete):
6748         * fns.c (Fold_delete):
6749         * fns.c (Fdelq):
6750         * fns.c (Fold_delq):
6751         * fns.c (delq_no_quit):
6752         * fns.c (Fremassoc):
6753         * fns.c (Fremassq):
6754         * fns.c (remassq_no_quit):
6755         * fns.c (Fremrassoc):
6756         * fns.c (Fremrassq):
6757         * fns.c (remrassq_no_quit):
6758         * fns.c (Freverse):
6759         * fns.c (mapcar1):
6760         [1].
6761
6762         * frame-msw.c (mswindows_init_frame_1):
6763         * frame-msw.c (mswindows_delete_frame):
6764         Register popups with dialog code so keyboard traversing works.
6765
6766         * frame-tty.c (tty_raise_frame_no_select): [1].
6767
6768         * frame-x.c:
6769         * frame-x.c (x_set_frame_text_value):
6770         * frame-x.c (x_set_frame_properties):
6771         * frame-x.c (x_create_widgets):
6772         [7].
6773
6774         * frame.c:
6775         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6776
6777         * frame.h (wrap_frame): New.
6778         Macro like wrap_device.
6779
6780         * general.c:
6781         * general.c (SYMBOL):
6782         * general.c (syms_of_general):
6783         Major reorg.  This is now just a wrapper and symbols themselves
6784         are listed in general-slots.h.
6785
6786         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6787         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6788
6789         * glyphs-msw.c (mswindows_native_layout_instantiate):
6790         Add DS_CONTROL so keyboard traversal will work.
6791
6792         * glyphs-widget.c:
6793         * glyphs-widget.c (syms_of_glyphs_widget):
6794         Move some symbols to general-slots.h.
6795
6796         * glyphs-x.c:
6797         * glyphs-x.c (xbm_instantiate_1):
6798         * glyphs-x.c (x_xbm_instantiate):
6799         * glyphs-x.c (x_xface_instantiate):
6800         * glyphs-x.c (autodetect_instantiate):
6801         * glyphs-x.c (cursor_font_instantiate):
6802         * glyphs-x.c (x_update_widget):
6803         * glyphs-x.c (x_widget_instantiate):
6804         * glyphs.c (bitmap_to_lisp_data):
6805         * glyphs.c (pixmap_to_lisp_data):
6806         [7].
6807
6808         * glyphs.c (syms_of_glyphs):
6809         [2].
6810
6811         * gui-x.c:
6812         * gui-x.c (print_widget_value):
6813         * gui-x.c (menu_separator_style_and_to_external):
6814         * gui-x.c (add_accel_and_to_external):
6815         * gui-x.c (button_item_to_widget_value):
6816         * gui-x.c (gui_items_to_widget_values_1):
6817         * gui-x.c (gui_items_to_widget_values):
6818         * gui-x.c (syms_of_gui_x):
6819         * gui-x.c (vars_of_gui_x):
6820         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6821         [9].
6822
6823         * gui-x.h:
6824         Muleize, prototype changes matching gui-x.c.
6825
6826         * gui.c:
6827         * gui.c (separator_string_p):
6828         * gui.c (gui_item_add_keyval_pair):
6829         * gui.c (make_gui_item_from_keywords_internal):
6830         * gui.c (signal_too_long_error):
6831         * gui.c (parse_gui_item_tree_item):
6832         * gui.c (syms_of_gui):
6833         * gui.c (vars_of_gui):
6834         * gui.h:
6835         menu-no-selection-hook moved here (used by MSWin).
6836         Move some symbols to general-slots.h.
6837         [6].
6838         [9].
6839
6840         * insdel.c (get_buffer_pos_char):
6841         * insdel.c (get_buffer_range_char):
6842         Add GC comments.
6843
6844         * keymap.c (keymap_lookup_directly):
6845         * keymap.c (keymap_store):
6846         * keymap.c (ensure_meta_prefix_char_keymapp):
6847         * keymap.c (describe_map):
6848         * keymap.h:
6849         Support new button modifiers.
6850
6851         * lisp-disunion.h (wrap_object):
6852         * lisp-disunion.h (XSETOBJ):
6853         Rename make_obj to wrap_object.
6854
6855         * lisp-union.h:
6856         * lisp-union.h (make_int):
6857         * lisp-union.h (make_char):
6858         Support wrap_object.
6859
6860         * lisp.h:
6861         * lisp.h (LIST_LOOP):
6862         * lisp.h (EXTERNAL_LIST_LOOP):
6863         * lisp.h (LIST_LOOP_2):
6864         * lisp.h (EXTERNAL_LIST_LOOP_1):
6865         * lisp.h (EXTERNAL_LIST_LOOP_2):
6866         * lisp.h (EXTERNAL_LIST_LOOP_3):
6867         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6868         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6869         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6870         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6871         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6872         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6873         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6874         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6875         * lisp.h (struct Lisp_Symbol):
6876         * lisp.h (maybe_continuable_error_with_frob):
6877         Fix up section comments.
6878         Add new types for char to indicate usage.
6879         Delete symbols auto-generated from general-slots.h.
6880         Add prototypes for structured error functions.
6881         Add long comments describing looping macros and change interface
6882         so that lvalues are automatically declared.
6883         Add NO_DECLARE macro in case callers want to declare lvalues
6884         themselves.
6885
6886         * lread.c (read_syntax_error):
6887         * lread.c (continuable_read_syntax_error):
6888         * lread.c (read_structure):
6889         * lread.c (sequence_reader):
6890         * lread.c (read_list_conser):
6891         * lread.c (read_compiled_function):
6892         Rename syntax_error and continuable_syntax_error to avoid clash
6893         with same-named structured error functions.
6894
6895         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6896         * menubar-msw.c (populate_menu_add_item):
6897         * menubar-msw.c (populate_or_checksum_helper):
6898         [5].
6899         [9].
6900
6901         * menubar-x.c:
6902         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6903         Mule-ize whole file.
6904
6905         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6906
6907         * mule-charset.c (Fmake_charset):
6908         * mule-wnnfns.c (Fwnn_set_param):
6909         [1].
6910
6911         * ntproc.c (create_child):
6912         * ntproc.c (Fwin32_set_current_locale):
6913         Add comments portending doom.
6914
6915         * objects-msw.c:
6916         * objects-msw.c (old_font_enum_callback_2):
6917         * objects-msw.c (font_enum_callback_1):
6918         * objects-msw.c (mswindows_enumerate_fonts):
6919         [5].
6920
6921         * objects-x.c:
6922         * objects-x.c (allocate_nearest_color):
6923         * objects-x.c (x_parse_nearest_color):
6924         * objects-x.c (x_initialize_color_instance):
6925         * objects-x.c (x_print_color_instance):
6926         * objects-x.c (x_finalize_color_instance):
6927         * objects-x.c (x_valid_color_name_p):
6928         * objects-x.c (x_initialize_font_instance):
6929         * objects-x.c (x_print_font_instance):
6930         * objects-x.c (valid_x_font_name_p):
6931         * objects-x.c (truename_via_FONT_prop):
6932         * objects-x.c (truename_via_random_props):
6933         * objects-x.c (truename_via_XListFonts):
6934         * objects-x.c (x_font_truename):
6935         * objects-x.c (x_font_instance_truename):
6936         * objects-x.c (x_font_instance_properties):
6937         * objects-x.c (x_list_fonts):
6938         * objects-x.c (x_find_charset_font):
6939         Mule-ize entire file.
6940         [7].
6941
6942         * objects-x.h:
6943         Mule-verify.
6944
6945         * print.c:
6946         * print.c (std_handle_out_external):
6947         * print.c (debug_print_no_newline):
6948         * print.c (syms_of_print):
6949         Output to all debugger kinds in debug-print.
6950         Fix console-output code under MSWin to actually work.
6951
6952         * process-nt.c (send_signal):
6953         * process-nt.c (nt_create_process):
6954         Use newer Unicode macros.
6955
6956         * process-unix.c (unix_create_process):
6957         * process-unix.c (unix_canonicalize_host_name):
6958         * process-unix.c (unix_open_network_stream):
6959         [7].
6960
6961         * scrollbar-x.c:
6962         Mule-verify.
6963
6964         * search.c (syms_of_search):
6965         [2].
6966
6967         * select-msw.c (mswindows_destroy_selection):
6968         Use LIST_LOOP_2.
6969
6970         * select-x.c (symbol_to_x_atom):
6971         [7].
6972
6973         * select.c (syms_of_select):
6974         [2].
6975
6976         * sound.c (Fplay_sound_file):
6977         [7].
6978
6979         * specifier.c:
6980         * specifier.c (decode_specifier_type):
6981         * specifier.c (Fvalid_specifier_locale_type_p):
6982         * specifier.c (check_valid_locale_or_locale_type):
6983         * specifier.c (decode_locale):
6984         * specifier.c (decode_locale_type):
6985         * specifier.c (decode_locale_list):
6986         * specifier.c (check_valid_domain):
6987         * specifier.c (decode_specifier_tag_set):
6988         * specifier.c (Fcanonicalize_tag_set):
6989         * specifier.c (Fdefine_specifier_tag):
6990         * specifier.c (Fspecifier_tag_predicate):
6991         * specifier.c (check_valid_inst_list):
6992         * specifier.c (check_valid_spec_list):
6993         * specifier.c (decode_how_to_add_specification):
6994         * specifier.c (check_modifiable_specifier):
6995         * specifier.c (specifier_add_spec):
6996         * specifier.c (boolean_validate):
6997         * specifier.c (display_table_validate):
6998         [9].
6999
7000         * specifier.c (syms_of_specifier):
7001         Move some symbols to general-slots.h.
7002         [2].
7003
7004         * symbols.c:
7005         * symbols.c (Fmapatoms):
7006         * symbols.c (Fapropos_internal):
7007         Add GCPROs.
7008
7009         * symbols.c (set_default_buffer_slot_variable):
7010         * symbols.c (set_default_console_slot_variable):
7011         [1].
7012
7013         * symbols.c (defsymbol_massage_name_1):
7014         * symbols.c (defkeyword_massage_name):
7015         * symbols.c (deferror_1):
7016         * symbols.c (deferror):
7017         * symbols.c (deferror_massage_name_and_message):
7018         * symeval.h:
7019         * symeval.h (DEFSYMBOL):
7020         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7021
7022         * symbols.c (syms_of_symbols):
7023         [2].
7024
7025         * symsinit.h:
7026         * symsinit.h (init_win32): New.
7027         Also new is syms_of_dialog_mswindows.
7028
7029         * syswindows.h:
7030         Add new Unicode macros, missing Cygwin wide-char functions,
7031         convenience conversion macros for Qmswindows_tstr, macros for
7032         encapsulating required MSWin <-> Cygwin filename conversions,
7033         prototype for dynamically-extracted (not in NT 3.51) functions.
7034
7035         * toolbar-x.c:
7036         Mule-verify.
7037
7038         * tooltalk.c (Fadd_tooltalk_message_arg):
7039         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7040         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7041         [7].
7042
7043         * tooltalk.c (syms_of_tooltalk):
7044         [2].
7045
7046         * unexnt.c:
7047         * unexnt.c (unexec):
7048         Fix up headers, declaration of unexec() to be more standard.
7049
7050 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7051
7052         * offix.h: Revert change to guard macros - they're used in offix.c!
7053
7054 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7055
7056         * lisp.h: Defsubred Fdelete.
7057
7058         * console-msw.h:  (msprinter_default_printer): Added.
7059
7060         * console-msw.c (msprinter_canonicalize_console_connection):
7061         (msprinter_canonicalize_device_connection): Added.
7062
7063         * device-msw.c (msprinter_default_printer):
7064         (Fmswingows_get_default_printer):
7065         (signal_enum_priner_error):
7066         (Fmswingows_printer_list): Added.
7067
7068 2000-07-19  Martin Buchholz <martin@xemacs.org>
7069
7070         * XEmacs 21.2.35 is released.
7071
7072 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7073
7074         * select-x.c (x_handle_selection_request):
7075         Text selected in xemacs and pasted into xterm failed to appear.
7076         Spelling fixes and cosmetic changes.
7077
7078 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7079
7080         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7081         XEmacs frame (fix for doubling chars in dialog boxes).
7082
7083 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7084
7085         * select.c (select_convert_in, select_convert_out):
7086         Don't call intern() every time.
7087
7088         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7089         * select.c (vars_of_select): Initialise them.
7090
7091 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7092
7093         * select.c (selection-coercible-types): New.
7094
7095         * select.c (own-selection-internal):
7096         * select.c (get-selection-internal):
7097         MULE bug fix - these should default to COMPOUND_TEXT and not
7098         STRING for MULE. I think.
7099
7100         * select.c (select_convert_out): Use selection-coercible-types
7101         to find types that we can attempt to perform coercions on.
7102
7103 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7104
7105         * mule-wnnfns.c:
7106         * mule-canna.c:
7107         Add coding: cookie to identify encoding.
7108
7109         * mule-canna.c (CANNA_mode_keys): make static.
7110         Use proper prototypes, even for functions of no arguments.
7111         Remove external prototype for Fding().
7112
7113         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7114
7115         * select.c (syms_of_select): Add missing DEFSUBR.
7116
7117 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7118
7119         * select.c (get_selection_internal, own_selection_internal):
7120         Make the type default to STRING, rather than placing a nil type
7121         into Vselection_alist.
7122
7123 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7124
7125         * gpmevent.c (tty_selection_exists_p):
7126         * gpmevent.c (tty_own_selection):
7127         Updated parameter lists.
7128
7129 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7130
7131         * select.h (selection-alist): Removed declaration.
7132
7133         * select.h (get_local_selection):
7134         * select.c (get_local_selection):
7135         Made static.
7136
7137         * select.h (convert_selection): Removed declaration.
7138         * select.c (convert_selection): Removed.
7139         This function belongs in Lisp.
7140
7141         * select.h (select_convert_in): Declare.
7142         * select.h (select_convert_out): Declare.
7143         * select.c (select_convert_in): New.
7144         * select.c (select_convert_out): New.
7145         New conversion functions for other files to call.
7146
7147         * select.h (select_notify_buffer_kill): Declare.
7148         * select.c (select_notify_buffer_kill): New.
7149         New functions that get called from kill-buffer.
7150
7151         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7152         X-specific lisp code.
7153
7154         * select.h: Declare some of the lisp-visible functions for
7155         external use.
7156
7157         * select.c (clean_local_selection_data): Removed. This was
7158         a disgusting function, and previously should have been in
7159         select-x.c in any case. The functionality is now provided
7160         in select-convert-from-integer (select.el).
7161
7162         * select.c (available-selection-types): Fixed stupidity where
7163         INTEGER and ATOM got added twice. Also add STRING when we see an
7164         extent.
7165
7166         * select.c (get-selection-internal): Removed symbol stripping. No
7167         longer causes conversion when data comes from the internal cache.
7168
7169         * select.c (syms_of_select): Added new functions.
7170
7171         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7172         error checking - previously this called abort!
7173
7174         * select-x.c (x_own_selection): Changed comment.
7175
7176         * select-x.c (x_handle_selection_request): Use select_convert_out.
7177         Don't mess with selection-alist; it's an internal variable of select.c.
7178
7179         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7180
7181         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7182         rather than messing with selection-alist.
7183
7184         * select-msw.c (mswindows_get_foreign_selection):
7185         Use TO_INTERNAL_FORMAT rather than hacking.
7186
7187 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7188
7189         * process-unix.c (unix_open_multicast_group):
7190         (unix_open_multicast_group): Remove useless casts.
7191
7192 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7193
7194         * sound.c (Fplay_sound): Fix `unused variable' warning.
7195
7196         * emacs.c (main): Use correct type for _environ on SCO5.
7197
7198 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7199
7200         * console.h (own_selection_method):
7201         * console.h (selection_exists_p_method):
7202         * console.h (available_selection_types_method): New.
7203         * console.h (register_selection_data_type_method): New.
7204         * console.h (selection_data_type_name): New.
7205
7206         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7207         function & alist to track GlobalAlloc()'d handles that need
7208         releasing when the clipboard data gets replaced or emptied.
7209
7210         * event-msw.c (mswindows_wnd_proc): Call it.
7211
7212         * lisp.h, general.c (Qappend): New symbol representing a
7213         `how-to-add' mode.
7214
7215         * select.c (own-selection-internal):
7216         * select.c (selection-exists-p):
7217         * select.c (available-selection-types): New.
7218         * select.c (register-selection-data-type): New.
7219         * select.c (selection-data-type-name): New.  New functions to deal
7220         with device-specific selection data formats.
7221         * select.c (selection-converter-out-alist): Renamed.
7222         * select.c (selection-converter-in-alist): New.
7223         * select.c (selection-appender-alist): New.  Added new alists.
7224         * select.c (syms_of_select, vars_of_select): Added new symbols &
7225         variables.
7226         * select.c (get_local_selection): Split.
7227         * select.c: Removed spurious type checking - selections may now be
7228         of any type, not just strings.
7229         * select.c (own-selection-internal):
7230
7231         * select.h, select.c (convert_selection): New. Created
7232         convert_selection() function based on get_local_selection().
7233         * select.h, select.c (QCF_*): New symbols representing mswindows
7234         clipboard formats.
7235         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7236         symbols representing `how-to-add' modes.
7237
7238         * select-msw.c (x_sym_p): New.
7239         * select-msw.c (symbol_to_ms_cf): New.
7240         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7241         symbols & clipboard formats. Can also handle string names.
7242         * select-msw.c (mswindows_own_selection):
7243         * select-msw.c (mswindows_selection_exists_p):
7244         Added `data-type' parameter. Use it.
7245         * select-msw.c (mswindows_available_selection_types): New.
7246         * select-msw.c (mswindows_register_selection_data_type): New.
7247         * select-msw.c (mswindows_selection_data_type_name): New.
7248         * select-msw.c (mswindows_own_selection):
7249         * select-msw.c (mswindows_get_foreign_selection):
7250         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7251         * select-msw.c (console_create_select_mswindows): Added new methods.
7252         * select-msw.c (mswindows_destroy_selection): New.
7253         * select-msw.c (Vhandle_alist): New list.
7254         * select-msw.c (mswindows_own_selection):
7255
7256         * select-x.c (x_own_selection):
7257         * select-x.c (x_selection_exists_p):
7258         * select-x.c: Added some comments about maybe using new
7259         functionality.
7260         * select-x.c (x_own_selection):
7261
7262         * specifier.c: Remove definition of Qappend (now in general.c)
7263         * specifier.c (syms_of_specifier): Remove Qappend.
7264
7265 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7266
7267         * config.h.in: Add socklen_t.
7268
7269         * s/decosf4-0.h: No special compiler flags needed or desired.
7270         In particular, undefine _BSD for DEC OSF 4.0.
7271
7272 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7273
7274         * redisplay-msw.c (msprinter_frame_output_end): Added.
7275         (console_type_create_redisplay_mswindows): Referred the above.
7276
7277         * frame.c (setup_frame_without_minibuffer): Do not create a
7278         default minibuffer frame on a printer device.
7279
7280         * frame-msw.c (apply_dc_geometry): Added.
7281         (msprinter_start_page):
7282         (msprinter_init_frame_3):
7283         (msprinter_eject_page): Use it.
7284
7285         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7286         and removed residual duplex and orientation properties.
7287
7288 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7289
7290         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7291
7292         * unexalpha.c: Remove system prototypes from C sources!
7293
7294 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7295
7296         * eval.c: Remove references to M-x edit-options in DEFUNs for
7297         `defvar' and `defconst'.
7298
7299 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7300
7301         * config.h.in: Remove SMART_INCLUDE hackery.
7302
7303         PostgreSQL hacking:
7304         * config.h.in: Don't use SMART_INCLUDE.
7305
7306         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7307         * inline.c: Simply #include "postgresql.h"
7308         * postgresql.c:
7309         - Don't use SMART_INCLUDE
7310         - Use simply "const".
7311         - Use standard doc string conventions.
7312         - Use correct type for result of PQstatus.
7313
7314 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7315
7316         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7317
7318         C++ compilation changes.
7319         * config.h.in (EXTERN_C): Define.
7320         * config.h.in (not): This is also a C++ keyword.
7321         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7322         * cm.c: Use EXTERN_C.
7323         * redisplay-tty.c: Use EXTERN_C.
7324         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7325
7326 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7327
7328         * general.c: Remove duplicate definition for Qfunction.
7329
7330 2000-07-08  Ben Wing  <ben@xemacs.org>
7331
7332         * device-msw.c (msprinter_init_device):
7333         * device-msw.c (sync_printer_with_devmode):
7334         * device-msw.c (handle_devmode_changes):
7335         * device-msw.c (print_dialog_worker):
7336         * device-msw.c (Fmsprinter_apply_settings):
7337         * device-msw.c (hash_devmode):
7338         * device-msw.c (Fmsprinter_settings_despecialize):
7339         use Qmswindows_tstr, not Qctext.
7340
7341         * vm-limit.c (check_memory_limits):
7342         avoid infinite loop printing warning messages.
7343
7344 2000-07-05  Craig Lanning  <lanning@scra.org>
7345
7346         * Makefile.in.in: Add support for including the Windows resources
7347         when building with the cygwin and mingw targets.
7348
7349         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7350         not set or not correct.
7351         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7352         (init_initial_directory): Don't try to use $PWD on the
7353         WIN32_NATIVE target.
7354
7355         * s\cygwin32.h:
7356         [[Add -mwindows to eliminate console window.]] not required --ben
7357         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7358         (MAIL_USE_POP): removed; now handled by configure.
7359
7360         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7361         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7362         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7363         (MAIL_USE_POP): removed; now handled by configure.
7364         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7365         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7366         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7367         constant string.
7368         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7369         up from <winsock.h> via systime.h.
7370         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7371         (getpagesize): from Dan Holmsand, added.
7372         Added #endif which was left dangling by Ben's mega patch; added
7373         comment to help prevent this in the future.
7374
7375         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7376
7377 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7378
7379         * console-msw.h (struct mswindows_device): Removed unnecessary
7380         cached device geometry values.
7381         Added update_tick and an accessor macro.
7382         (Lisp_Devmode): Added lrecord declaration.
7383         (struct msprinter_device): Contain devmode as a Lisp object.
7384         Added mswindows_get_selected_frame_hwnd();
7385
7386         * console.h (struct console_methods): Indentation nitpicking.
7387
7388         * device-msw.c (mswindows_init_device): Do not initialize geometry
7389         cache. Initialize update tick.
7390         (mswindows_device_system_metrics): Ask the device for its geometry.
7391         (global_free_2_maybe):
7392         (devmode_to_hglobal):
7393         (handle_printer_changes):
7394         (ensure_not_printing):
7395         (print_dialog_worker):
7396         (Fmsprinter_print_setup_dialog):
7397         (Fmsprinter_print_dialog):
7398         (plist_get_margin):
7399         (plist_set_margin):
7400         (Fmsprinter_page_setup_dialog): Added functions.
7401         (sync_printer_with_devmode):
7402         (handle_devmode_changes):
7403         (Fmsprinter_get_settings):
7404         (Fmsprinter_select_settings):
7405         (Fmsprinter_apply_settings):
7406         (allocate_devmode):
7407         (Fmsprinter_settings_copy):
7408         (Fmsprinter_settings_despecialize):
7409         (print_devmode):
7410         (finalize_devmode):
7411         (equal_devmode):
7412         (hash_devmode): Added functions
7413         (syms_of_device_mswindows): Init devmode lrecord class.
7414
7415         * device.h: Added an exfun for find-device.
7416
7417         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7418         geometry; although, recreate the device compatible DC.
7419
7420         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7421         (msprinter_init_frame_3):
7422         (msprinter_frame_property):
7423         (msprinter_internal_frame_property_p):
7424         (msprinter_frame_properties):
7425         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7426         print job properties (will move to device settings).
7427
7428         * lisp.h: Added symbols.
7429
7430         * general.c (syms_of_general): Declared them.
7431
7432         * hash.c (string_hash): Added.
7433
7434         * lrecord.h (lrecord_type): Added devmode lrecord type.
7435
7436 2000-07-02  Mike Sperber <mike@xemacs.org>
7437
7438         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7439         FreeBSD 4.0.
7440
7441 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7442
7443         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7444         integer.
7445
7446 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7447
7448         * data.c (Fstring_to_number): Don't recognize floating point if
7449         base is not 10.
7450
7451 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7452
7453         * glyphs-widget.c (tab_control_query_geometry):
7454         (widget_query_geometry):
7455         (button_query_geometry):
7456         * glyphs.c (text_query_geometry):
7457         Enforce type correctness.
7458
7459 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7460
7461         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7462         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7463
7464 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7465
7466         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7467         conflicts with gcc's fixincluded version of FOO.h.
7468
7469         * glyphs.h (image_instance_geometry): Remove trailing `,'
7470
7471 2000-06-08  Mike Alexander  <mta@arbortext.com>
7472
7473         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7474         (shove_thread): Don't write the same output twice
7475         (make_ntpipe_output_stream): Increase priority of shove thread
7476         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7477         chance to run
7478         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7479         it.
7480
7481 2000-06-12  Ben Wing  <ben@xemacs.org>
7482
7483         * s\mingw32.h (sigset):
7484         * s\windowsnt.h (sigset):
7485         rename msw_ to mswindows_ for consistency with general convention.
7486
7487 2000-06-12  Ben Wing  <ben@xemacs.org>
7488
7489         * console-msw.c:
7490         * console-msw.c (mswindows_get_console_hwnd):
7491         * console-msw.c (mswindows_ensure_console_allocated):
7492         * console-msw.c (mswindows_hide_console):
7493         * console-msw.c (mswindows_show_console):
7494         * console-msw.c (mswindows_ensure_console_buffered):
7495         * console-msw.c (mswindows_output_console_string):
7496         * console-msw.c (mswindows_windows9x_p):
7497         * console-msw.h:
7498         * device-msw.c (mswindows_get_workspace_coords):
7499         * device-msw.c (mswindows_device_system_metrics):
7500         * dialog-msw.c (mswindows_popup_dialog_box):
7501         * event-msw.c (mswindows_wnd_proc):
7502         * frame-msw.c (mswindows_size_frame_internal):
7503         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7504         * menubar-msw.c (displayable_menu_item):
7505         * menubar-msw.c (mswindows_char_is_accelerator):
7506         * nt.c:
7507         * nt.c (mswindows_sigset):
7508         * nt.c (mswindows_sigrelse):
7509         * nt.c (mswindows_sigpause):
7510         * nt.c (mswindows_raise):
7511         * nt.c (timer_proc):
7512         * ntproc.c:
7513         * ntproc.c (find_child_console):
7514         * ntproc.c (sys_kill):
7515         * print.c:
7516         * print.c (std_handle_out_external):
7517         * process-nt.c (find_child_console):
7518         * process-nt.c (send_signal_the_95_way):
7519         * process-nt.c (ensure_console_window_exists):
7520         * process-nt.c (nt_create_process):
7521         * syssignal.h:
7522         rename msw_ to mswindows_ for consistency with general convention.
7523
7524         * emacs.c:
7525         * dumper.c:
7526         include nt.h, not syswindows.h.
7527
7528         * nt.c (mswindows_fstat):
7529         * nt.c (mswindows_stat):
7530         prefix mswindows_ instead of attempting to directly override the
7531         library functions.  fix declarations.
7532
7533         * nt.h:
7534         include syswindows.h.  move some sysdep.h stuff here.
7535
7536         * ntheap.h:
7537         include syswindows.h, not <windows.h>.
7538
7539         * ntplay.c:
7540         clean up headers.
7541
7542         * sysdep.c:
7543         clean up headers.
7544
7545         * sysdep.c (sys_fstat):
7546         * sysdep.c (sys_stat):
7547         call mswindows versions when appropriate.
7548
7549         * sysdep.h:
7550         move mswin decls to nt.h.
7551
7552         * syswindows.h:
7553         add long comment describing appropriate use of the various windows
7554         headers.
7555
7556 2000-06-11  Ben Wing  <ben@xemacs.org>
7557
7558         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7559
7560 2000-06-10  Ben Wing  <ben@xemacs.org>
7561
7562         * Makefile.in.in (release):
7563         Correction to make sure xemacs.exe always dumped when correct.
7564
7565         * alloca.c:
7566         * balloon_help.c:
7567         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7568
7569         * buffer.c (set_buffer_internal):
7570         [[[[2]]]]: Remove HAVE_FEP code.
7571
7572         * buffer.c (init_initial_directory):
7573         [3].
7574
7575         * bytecode.c:
7576         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7577         individual files.
7578
7579         * callproc.c:
7580         * callproc.c (call_process_cleanup):
7581         * callproc.c (Fold_call_process_internal):
7582         * callproc.c (child_setup):
7583         * callproc.c (getenv_internal):
7584         * callproc.c (init_callproc):
7585         * callproc.c (vars_of_callproc):
7586         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7587         __CYGWIN32__ -> CYGWIN.
7588         DOS_NT -> WIN32_NATIVE.
7589         Remove MSDOS support/references, converting to WIN32_NATIVE
7590           where correct.
7591         __MINGW32__ -> MINGW.
7592         Fix windows.h includes.
7593         Remove bogus HAVE_NTGUI.
7594
7595         * config.h.in:
7596         [2].
7597
7598         * console-msw.c:
7599         mswindows_message_outputted added for use in allowing startup
7600         errors on the console to be seen.
7601
7602         * console-msw.c (msw_ensure_console_allocated):
7603         * console-msw.c (msw_output_console_string):
7604         * console-msw.c (DHEADER):
7605         * console-msw.c (DOPAQUE_DATA):
7606         * console-msw.c (DEVENT):
7607         * console-msw.c (DCONS):
7608         * console-msw.c (DCONSCDR):
7609         * console-msw.c (DSTRING):
7610         * console-msw.c (DVECTOR):
7611         * console-msw.c (DSYMBOL):
7612         * console-msw.c (DSYMNAME):
7613         Fix warnings.
7614
7615         * console-stream.c (stream_init_console):
7616         Fix text/binary problems.
7617
7618         * device-msw.c:
7619         * device-msw.c (mswindows_finish_init_device):
7620         * device-msw.c (mswindows_delete_device):
7621         [1].
7622
7623         * device.c (handle_asynch_device_change):
7624         [3].
7625
7626         * dgif_lib.c:
7627         * dgif_lib.c (DGifOpenFileName):
7628         * dgif_lib.c (DGifOpenFileHandle):
7629         * dgif_lib.c (DGifGetLine):
7630         * dgif_lib.c (DGifGetPixel):
7631         Added config.h/lisp.h, fix up includes.
7632         [1].
7633
7634         * dired-msw.c:
7635         [4].
7636
7637         * dired.c:
7638         * dired.c (file_name_completion):
7639         * dired.c (Ffile_attributes):
7640         * dired.c (syms_of_dired):
7641         [1].
7642
7643         * dumper.c:
7644         * dumper.c (pdump_file_unmap):
7645         * dumper.c (pdump_load):
7646         [1].
7647
7648         * editfns.c:
7649         * editfns.c (Ftemp_directory):
7650         * editfns.c (user_login_name):
7651         * editfns.c (Fuser_real_login_name):
7652         * editfns.c (get_home_directory):
7653         [1].
7654
7655         * elhash.c (finish_marking_weak_hash_tables):
7656         [[[[5]]]]: Fix GCC warnings.
7657
7658         * emacs.c:
7659         * emacs.c (mswindows_handle_hardware_exceptions):
7660         * emacs.c (make_arg_list_1):
7661         * emacs.c (main_1):
7662         * emacs.c (Fkill_emacs):
7663         * emacs.c (Fdump_emacs):
7664         [1].
7665         Fix problems with nested crashes, add long comment.
7666
7667         * event-Xt.c (init_event_Xt_late):
7668         [1].
7669
7670         * event-msw.c:
7671         * event-msw.c (mswindows_dde_callback):
7672         * event-msw.c (mswindows_handle_sticky_modifiers):
7673         * event-msw.c (mswindows_wnd_proc):
7674         [1].
7675         [5].
7676
7677         * events.c (character_to_event):
7678         [1].
7679
7680         * fileio.c:
7681         * fileio.c (Ffile_name_directory):
7682         * fileio.c (Ffile_name_nondirectory):
7683         * fileio.c (directory_file_name):
7684         * fileio.c (Fexpand_file_name):
7685         * fileio.c (Fsubstitute_in_file_name):
7686         * fileio.c (Ffile_name_absolute_p):
7687         * fileio.c (check_executable):
7688         * fileio.c (Ffile_readable_p):
7689         * fileio.c (Ffile_accessible_directory_p):
7690         * fileio.c (Ffile_modes):
7691         * fileio.c (Funix_sync):
7692         * fileio.c (vars_of_fileio):
7693         [1]. [4].
7694
7695         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7696
7697         Expand getdefdir defn.
7698         Fix bogus rename() comment.
7699
7700         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7701         to use standard XEmacs include files, e.g. sysfile.h, rather
7702         than system-specific includes.
7703
7704         * fns.c:
7705         * fns.c (Fsubseq):
7706         [5]. [6].
7707
7708         * frame.c (vars_of_frame):
7709         [1].
7710
7711         * getloadavg.c:
7712         * getloadavg.c (getloadavg):
7713         [1]. [6].
7714         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7715         (We don't use it elsewhere in the code; just add a comment.)
7716
7717         * gif_io.c:
7718         [6].
7719         Add config.h.
7720
7721         * glyphs-msw.c:
7722         * glyphs-msw.c (mswindows_resource_instantiate):
7723         [1].
7724
7725         * glyphs-x.c (x_native_layout_instantiate):
7726         [5].
7727
7728         * gui-msw.c (Fmswindows_shell_execute):
7729         [1].
7730
7731         * insdel.c:
7732         [4].
7733
7734         * lisp.h:
7735         [4]. [5].
7736
7737         * lread.c (locate_file_in_directory_mapper):
7738         [1].
7739
7740         * lstream.c:
7741         [4].
7742
7743         * mem-limits.h:
7744         * mem-limits.h (get_lim_data):
7745         [1].
7746
7747         * menubar-msw.c:
7748         [4].
7749
7750         * ndir.h:
7751         [1].
7752
7753         * nt.c:
7754         * nt.c (getwd):
7755         * nt.c (closedir):
7756         * nt.c (rva_to_section):
7757         * nt.c (mswindows_executable_type):
7758         [1]. [6].
7759         Fix closedir() defn.
7760
7761         * nt.h:
7762         [[[[8]]]]: *_OK defs moved to sysfile.h.
7763
7764         * ntproc.c:
7765         [6]. [7].
7766
7767         * objects-x.c:
7768         [4].
7769
7770         * print.c:
7771         * print.c (std_handle_out_external):
7772         [1]. [4].
7773
7774         * process-nt.c:
7775         * process-nt.c (nt_create_process):
7776         [6].
7777         try to fix process quoting somewhat.
7778
7779         * process-unix.c (unix_create_process):
7780         [1].
7781
7782         * process.c:
7783         * process.c (vars_of_process):
7784         Add Vnull_device.
7785
7786         * process.h:
7787         [1].
7788
7789         * realpath.c:
7790         * realpath.c (xrealpath):
7791         [1].
7792
7793         * redisplay-tty.c (init_tty_for_redisplay):
7794         [3].
7795
7796         * redisplay.c:
7797         [4]. [6].
7798
7799         * scrollbar-msw.c:
7800         [4].
7801
7802         * sheap.c:
7803         * sheap.c (more_static_core):
7804         * sheap.c (report_sheap_usage):
7805         [5]. [6].
7806
7807         * signal.c:
7808         * signal.c (alarm_signal):
7809         [1]. [6].
7810
7811         * sound.c:
7812         [6].
7813
7814         * strftime.c:
7815         * strftime.c (zone_name):
7816         [1]. [5].
7817
7818         * symsinit.h (init_sunpro):
7819         [1].
7820
7821         * syscommctrl.h:
7822         commctrl.h not in Cygwin b20.1.
7823
7824         * sysdep.c:
7825         * sysdep.c (endif):
7826         * sysdep.c (sys_subshell):
7827         * sysdep.c (init_baud_rate):
7828         * sysdep.c (emacs_get_tty):
7829         * sysdep.c (emacs_set_tty):
7830         * sysdep.c (tty_init_sys_modes_on_device):
7831         * sysdep.c (init_system_name):
7832         * sysdep.c (sys_open):
7833         * sysdep.c (interruptible_open):
7834         * sysdep.c (sys_fopen):
7835         * sysdep.c (sys_mkdir):
7836         * sysdep.c (sys_rename):
7837         * sysdep.c (get_process_times_1):
7838         [1]. [6].
7839
7840         * sysdep.h:
7841         [1].
7842
7843         * sysdir.h:
7844         * sysdir.h (DIRENTRY_NONEMPTY):
7845         [1]. [6].
7846
7847         * sysdll.c (dll_init):
7848         * sysdll.h:
7849         [1].
7850
7851         * sysfile.h:
7852         [1]. [6]. [8].
7853         added text/binary defs.
7854
7855         * sysfloat.h:
7856         [1].
7857
7858         * sysproc.h:
7859         * sysproc.h (EDESTADDRREQ):
7860         * sysproc.h (poll_fds_for_input):
7861         [1]. [6].
7862
7863         * syspwd.h:
7864         [6].
7865
7866         * syssignal.h:
7867         [1].
7868
7869         * systime.h:
7870         [1]. [6].
7871
7872         * systty.h:
7873         [1].
7874
7875         * syswindows.h:
7876         [1].
7877         Always define WIN32_LEAN_AND_MEAN.
7878
7879         * unexcw.c (unexec):
7880         [5].
7881
7882         * unexec.c:
7883         * unexec.c (copy_text_and_data):
7884         * unexec.c (adjust_lnnoptrs):
7885         [1].
7886
7887         * unexnt.c:
7888         * unexnt.c (_start):
7889         [1].
7890
7891 2000-06-07  Ben Wing  <ben@xemacs.org>
7892
7893         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7894         was used only as a model.  We've long since extracted any useful
7895         logic or code out of this. (I just did an exhaustive search.)
7896
7897         * s\msdos.h: Removed.
7898
7899         * s\windows95.h: Removed.
7900
7901 2000-06-10  Ben Wing  <ben@xemacs.org>
7902
7903         * s\cygwin32.h:
7904         [1]. [5].
7905         Don't use extern with fun defs.
7906
7907         * s\mingw32.h:
7908         [1]. [7].
7909         Remove nt\inc include.
7910         Remove getdisk, getdefdir. (The former is unused, the latter
7911         expanded in fileio.h.)
7912
7913         * s\windowsnt.h:
7914         * s\windowsnt.h (WIN32_NATIVE):
7915         * s\windowsnt.h (HAVE_STRCASECMP):
7916         [1]. [7].
7917         Add long comment about preprocessor changes.
7918         Remove getdisk, getdefdir. (The former is unused, the latter
7919         expanded in fileio.h.)
7920
7921 2000-06-10  Ben Wing  <ben@xemacs.org>
7922
7923         * m\arm.h:
7924         * m\delta.h:
7925         * m\intel386.h:
7926         * m\sequent.h:
7927         * m\template.h:
7928         * m\windowsnt.h:
7929         [1].
7930         Remove bogus/unused NO_SOCK_SIGIO.
7931
7932 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7933
7934         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7935         not an Emchar.
7936
7937 2000-06-04  Mike Sperber <mike@xemacs.org>
7938
7939         * casetab.c (set_case_table): For `set-standard-case-table',
7940         actually deposit the new case tables where the rest of XEmacs can
7941         see them.
7942
7943 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7944
7945         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7946
7947 2000-06-05  Ben Wing  <ben@xemacs.org>
7948
7949         * callproc.c (child_setup): Don't do close_load_descs() under
7950         MS Windows.  Put in a comment explaining why.
7951
7952 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7953
7954         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7955         Toolkit shell" which breaks `kill-compilation' on Windows NT
7956         native, retaining STDERR handling improvements.
7957
7958 2000-06-01  Andreas Jaeger  <aj@suse.de>
7959
7960         * s/s390.h: Support for S390, based on a patch by Martin
7961         Schwidefsky <schwidefsky@de.ibm.com>.
7962
7963 2000-05-30  Andy Piper  <andy@xemacs.org>
7964
7965         * window.c (allocate_window):
7966         (make_dummy_parent):
7967         (Fset_window_configuration): use new hashtable type.
7968
7969         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7970         (struct image_instantiator_methods):
7971         (struct Lisp_Image_Instance): make instance geometry signed.
7972
7973         * glyphs.c (instantiate_image_instantiator):
7974         (image_instance_query_geometry):
7975         (image_instance_layout):
7976         (image_instance_layout):
7977         (query_string_geometry):
7978         (text_query_geometry):
7979         (image_instantiate):
7980         (image_instantiate):
7981         (cache_subwindow_instance_in_frame_maybe):
7982         (subwindow_query_geometry): make instance geometry signed.
7983
7984         * glyphs-widget.c (widget_query_geometry):
7985         (widget_layout):
7986         (button_query_geometry):
7987         (tree_view_query_geometry):
7988         (tab_control_query_geometry):
7989         (layout_query_geometry):
7990         (layout_layout):
7991         (native_layout_layout): make instance geometry signed.
7992
7993 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7994
7995         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7996         constant.
7997
7998         * general.c (syms_of_general): Add Qfull_assoc symbol.
7999
8000         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8001         correctly.
8002         (decode_weak_list_type): Decode full-assoc type.
8003         (encode_weak_list_type): Encode full-assoc type.
8004         (Fmake_weak_list): Update doc string.
8005
8006 2000-05-30  Andy Piper  <andy@xemacs.org>
8007
8008         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8009
8010         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8011         (decode_hash_table_weakness): ditto.
8012         (Fhash_table_weakness): ditto.
8013         (Fhash_table_type): ditto.
8014         (finish_marking_weak_hash_tables): ditto.
8015         (hash_table_weakness_validate): ditto.
8016         (syms_of_elhash): ditto.
8017
8018 2000-05-28  Martin Buchholz <martin@xemacs.org>
8019
8020         * XEmacs 21.2.34 is released.
8021
8022 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8023
8024         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8025         start cache.
8026         (updating_line_start_cache): Gone.
8027         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8028         generic code to force a minimum of 1 line laid out in the
8029         CMOTION_DISP case.
8030
8031 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8032
8033         * glyphs.c (instantiate_image_instantiator): Check for initialized
8034         height & width no longer special cases IMAGE_NOTHING.
8035         (nothing_instantiate): Set height and width of instance.
8036
8037 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8038
8039         * unexelf.c (unexec): Search for ".data" section.
8040         Initialize new_data2_offset from old_data_index.
8041         Remove redundant check for ElfW.
8042
8043 2000-05-23  Andy Piper  <andy@xemacs.org>
8044
8045         * glyphs.c (get_image_instantiator_governing_domain): allow more
8046         specific domains as the governing domain rather than expecting an
8047         exact match. This fixes problems with layouts.
8048
8049 2000-05-22  Andy Piper  <andy@xemacs.org>
8050
8051         * redisplay-output.c (compare_runes): check for non-images
8052
8053         * glyphs.c (set_glyph_dirty_p): ditto.
8054         (update_glyph_cachel_data): ditto.
8055
8056         * glyphs-widget.c (layout_post_instantiate): ditto.
8057         (layout_post_instantiate): ditto.
8058
8059         * event-msw.c (mswindows_wnd_proc): warning removal.
8060
8061 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8062
8063         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8064
8065         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8066
8067         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8068
8069         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8070         (mswindows_executable_type): mingw32 now has enough headers for
8071         this to work.
8072
8073 2000-05-20  Andy Piper  <andy@xemacs.org>
8074
8075         * console-msw.c (mswindows_output_last_error): ; -> ,
8076
8077 2000-05-12  Andy Piper  <andy@xemacs.org>
8078
8079         * console-msw.c (FROB): compare ints with ints.
8080
8081 2000-05-11  Andy Piper  <andy@xemacs.org>
8082
8083         * glyphs-x.c (x_finalize_image_instance): make minimal build
8084         happy.
8085
8086 2000-05-20  Ben Wing  <ben@xemacs.org>
8087
8088         * event-Xt.c:
8089         * event-Xt.c (vars_of_event_Xt):
8090         move modifier-keys-are-sticky to event-stream.c.
8091
8092         * event-msw.c:
8093         * event-msw.c (mswindows_enqueue_mouse_button_event):
8094         * event-msw.c (key_needs_default_processing_p):
8095         * event-msw.c (XEMSW_LCONTROL):
8096         * event-msw.c (mswindows_handle_sticky_modifiers):
8097         * event-msw.c (FROB):
8098         * event-msw.c (clear_sticky_modifiers):
8099         * event-msw.c (output_modifier_keyboard_state):
8100         * event-msw.c (output_alt_keyboard_state):
8101         * event-msw.c (mswindows_wnd_proc):
8102         * event-msw.c (mswindows_modifier_state):
8103         * event-msw.c (emacs_mswindows_handle_magic_event):
8104         implement sticky modifiers.
8105
8106         * event-stream.c:
8107         * event-stream.c (vars_of_event_stream):
8108         move modifier-keys-are-sticky here.
8109
8110         * lisp.h:
8111         add CHECK_FUNCTION.
8112
8113         * rangetab.c:
8114         implement map-range-table.
8115
8116
8117 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8118
8119         * redisplay-tty.c (reset_tty_modes):
8120         (tty_redisplay_shutdown): Adjust argument type to
8121         tty_frame_output_end.
8122
8123 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8124
8125         * eval.c (Fbacktrace): Don't output a line with only right
8126         parenthesis.
8127
8128 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8129
8130         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8131         (Fpq_reset_poll): Ditto.
8132
8133 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8134
8135         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8136
8137 2000-05-16  Ben Wing  <ben@xemacs.org>
8138
8139         * buffer.c:
8140         * buffer.c (dfc_convert_to/from_internal_format):
8141         * buffer.c (reinit_vars_of_buffer):
8142         Fix conversion functions to allow reentrancy.
8143
8144         * console-msw.c:
8145         * console-msw.c (mswindows_output_last_error):
8146         New fun, generally useful -- output a human-readable
8147         version of GetLastError() on the console.
8148
8149         * console-msw.h:
8150         * console-msw.h (struct mswindows_frame):
8151         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8152
8153         * console-stream.c (stream_output_begin):
8154         * console-stream.c (stream_output_end):
8155         * console-stream.c (stream_output_vertical_divider):
8156         * console-stream.c (stream_clear_region):
8157         * console-stream.c (stream_flash):
8158         * console-stream.c (console_type_create_stream):
8159         Delete blank stream methods, not needed.
8160
8161         * console.h (struct console_methods):
8162         Split begin/end methods into window and frame.
8163
8164         * event-msw.c:
8165         * event-msw.c (mswindows_handle_paint):
8166         * event-msw.c (output_alt_keyboard_state):
8167         * event-msw.c (mswindows_wnd_proc):
8168         * event-msw.c (vars_of_event_mswindows):
8169         Comment about problems with ignored-expose.
8170         Define mswindows-debug-events; not really implemented.
8171
8172         * frame-msw.c (mswindows_init_frame_1):
8173         random cleanups.
8174
8175         * glyphs-msw.c:
8176         * glyphs-msw.c (begin_defer_window_pos):
8177         * glyphs-msw.c (mswindows_unmap_subwindow):
8178         * glyphs-msw.c (mswindows_map_subwindow):
8179         * glyphs-msw.c (mswindows_resize_subwindow):
8180         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8181
8182         * glyphs.c (make_image_instance_1):
8183         Fix crash.
8184
8185         * gutter.c (Fredisplay_gutter_area):
8186         Use new begin/end methods.
8187
8188         * lisp.h (Dynarr_new2):
8189         New creation fun.
8190
8191         * redisplay-msw.c:
8192         * redisplay-msw.c (mswindows_frame_output_begin):
8193         * redisplay-msw.c (mswindows_frame_output_end):
8194         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8195         New begin/end methods -- handle DeferWindowPos.
8196
8197         * redisplay-output.c (redisplay_move_cursor):
8198         * redisplay-output.c (redraw_cursor_in_window):
8199         * redisplay-output.c (redisplay_update_line):
8200         * redisplay-output.c (redisplay_output_window):
8201         New begin/end methods.
8202
8203         * redisplay-tty.c:
8204         * redisplay-tty.c (tty_frame_output_begin):
8205         * redisplay-tty.c (tty_frame_output_end):
8206         * redisplay-tty.c (console_type_create_redisplay_tty):
8207         New begin/end methods.
8208
8209         * redisplay-x.c:
8210         * redisplay-x.c (x_window_output_begin):
8211         * redisplay-x.c (x_window_output_end):
8212         * redisplay-x.c (console_type_create_redisplay_x):
8213         New begin/end methods.
8214
8215         * redisplay.c (redisplay_frame):
8216         * redisplay.c (Fredisplay_echo_area):
8217         New begin/end methods.
8218         use MAYBE_DEVMETH for clear_frame; it may not exist.
8219
8220         * window.h (WINDOW_XFRAME):
8221         WINDOW_XFOO macros -- get locale and decode struct pointer.
8222
8223
8224 2000-05-12  Ben Wing  <ben@xemacs.org>
8225
8226         * emacs.c:
8227         * emacs.c (ensure_no_quitting_from_now_on):
8228         * emacs.c (fatal_error_signal):
8229         * emacs.c (mswindows_handle_hardware_exceptions):
8230         * emacs.c (main):
8231         * emacs.c (Fkill_emacs):
8232         * emacs.c (shut_down_emacs):
8233         * emacs.c (assert_failed):
8234         various improvements in fatal error handling.
8235
8236         * eval.c:
8237         move preparing_for_armageddon to emacs.c.
8238
8239         * lisp.h:
8240         declare fatal_error_in_progress.
8241
8242         * print.c:
8243         * print.c (std_handle_out_external):
8244         * print.c (std_handle_out_va):
8245         * print.c (stderr_out):
8246         * print.c (stdout_out):
8247         use console under mswin when no standard output.
8248         don't do code conversion during fatal error.
8249
8250         * scrollbar.c (Fscrollbar_page_up):
8251         * scrollbar.c (Fscrollbar_page_down):
8252         fix missing else.  reindent.
8253
8254 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8255
8256         Emergency fix.
8257
8258         * glyphs.h (GLYPH_CACHEL_DESCENT):
8259         (GLYPH_CACHEL_DESCENT):
8260         (GLYPH_CACHEL_DESCENT):
8261         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8262         used in case these are inline functions.
8263         Use more absurd values to error check.
8264
8265         include window.h for error check functions.
8266
8267 2000-05-11  Ben Wing  <ben@xemacs.org>
8268
8269         * cmdloop.c (Freally_early_error_handler):
8270         Display message box under windows; otherwise, message will disappear
8271         before it can be viewed.
8272
8273         * console-msw.c:
8274         * console-msw.c (Fmswindows_message_box):
8275         * console-msw.c (FROB):
8276         * console-msw.c (syms_of_console_mswindows):
8277         Define new fun `mswindows-message-box'.
8278         #### I will merge this into `popup-dialog-box'; just give me
8279         a bit of time.
8280
8281         * general.c:
8282         * general.c (syms_of_general):
8283         Some new symbols used in `mswindows-message-box'.
8284
8285         * glyphs.c:
8286         * glyphs.c (Fset_image_instance_property):
8287         put warning in this fun.
8288
8289         * glyphs.h:
8290         * glyphs.h (GLYPH_CACHEL_WIDTH):
8291         * glyphs.h (GLYPH_CACHEL_ASCENT):
8292         * glyphs.h (GLYPH_CACHEL):
8293         * glyphs.h (GLYPH_CACHEL_GLYPH):
8294         define error-checking versions to try to catch a bug i've seen --
8295         redisplay gets in an infinite loop because the glyph width of the
8296         continuation glyph is 65535.
8297
8298         * lisp.h:
8299         Extern message-box stuff.
8300
8301         * window.c (allocate_window):
8302         * window.c (make_dummy_parent):
8303         * window.c (Fset_window_configuration):
8304         Use EQUAL not EQ for subwindow caches to make them work a bit
8305         better. (Something is still very broken.)
8306
8307
8308 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8309
8310         * glyphs.c (image_instantiate): Suppress gcc warnings.
8311         (Fmake_image_instance): Fix doc string.
8312         * specifier.c (Fmake_specifier): Ditto.
8313
8314 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8315
8316         * paths.h.in (PATH_LOCK): Removed.
8317         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8318         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8319
8320 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8321
8322         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8323         Document (featurep '(and xemacs 21.02)).
8324
8325 2000-05-09  Ben Wing  <ben@xemacs.org>
8326
8327         * buffer.c (complex_vars_of_buffer):
8328         update modeline-format doc.
8329
8330         * device.h:
8331         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8332
8333         * emacs.c:
8334         timeline of all released versions of Emacs, for use in creating
8335         authorship comments and in synching up.
8336
8337         * glyphs-widget.c (image_instantiator_buttons):
8338         * glyphs-widget.c (image_instantiator_edit_fields):
8339         * glyphs-widget.c (image_instantiator_combo_box):
8340         * glyphs-widget.c (image_instantiator_scrollbar):
8341         * glyphs-widget.c (image_instantiator_progress_guage):
8342         * glyphs-widget.c (image_instantiator_tree_view):
8343         * glyphs-widget.c (image_instantiator_tab_control):
8344         * glyphs-widget.c (image_instantiator_labels):
8345         * glyphs-widget.c (image_instantiator_layout):
8346         * glyphs-widget.c (image_instantiator_native_layout):
8347         rename decode_domain method to governing_domain.
8348
8349         * glyphs.c:
8350         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8351         * glyphs.c (add_entry_to_device_ii_format_list):
8352         make sure we don't put an entry more than once into the list.
8353         * glyphs.c (check_instance_cache_mapper):
8354         *************************************************************
8355         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8356         HAVE BEEN GETTING.
8357         *************************************************************
8358         * glyphs.c (get_image_instantiator_governing_domain):
8359         clean up, expand on new concept of governing domain.
8360         * glyphs.c (instantiate_image_instantiator):
8361         * glyphs.c (allocate_image_instance):
8362         use governing_domain instead of cache_domain in naming.
8363         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8364         * glyphs.c (make_image_instance_1):
8365         * glyphs.c (Fmake_image_instance):
8366         allow for any domain (not just device), and process the
8367         governing domain correctly.  very big doc fix.
8368         * glyphs.c (Fimage_instance_domain):
8369         new primitive, to retrieve the governing domain of an image instance.
8370         * glyphs.c (image_instantiate):
8371         use new governing_domain stuff.  this fixes a crash you could get
8372         by instantiating certain widget glyphs in frame locales. (should
8373         signal an error instead of crashing.)
8374         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8375         * glyphs.c (Fglyphp): clean up doc.
8376         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8377         * glyphs.c (syms_of_glyphs):
8378         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8379         * glyphs.c (image_instantiator_format_create): add some comments about
8380         bogus code.
8381         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8382         for current-display-table. (Apparently Hrjove implemented in 1998 a
8383         design I wrote up in 1996, but didn't update the doc string.)
8384
8385         * glyphs.h: clean up a doc string.
8386         * glyphs.h (governing_domain):
8387         * glyphs.h (struct image_instantiator_methods):
8388         changes for governing_domain stuff.
8389
8390         * gutter.c:
8391         * gutter.c (Fgutter_specifier_p):
8392         * gutter.c (Fgutter_size_specifier_p):
8393         * gutter.c (Fgutter_visible_specifier_p):
8394         * objects.c:
8395         * objects.c (Fcolor_specifier_p):
8396         * objects.c (Ffont_specifier_p):
8397         * objects.c (Fface_boolean_specifier_p):
8398         doc strings moved to make-*-specifier.
8399
8400         * redisplay.c (add_disp_table_entry_runes_1):
8401         * redisplay.c (generate_fstring_runes):
8402         * redisplay.c (screen):
8403         add random comments and doc strings.
8404
8405         * specifier.c:
8406         * specifier.c (Fmake_specifier):
8407         major overhaul of this doc string.
8408
8409         * specifier.c (Fvalid_specifier_domain_p):
8410         comment about the bogosity of image instances being domains.
8411         * specifier.c (decode_domain):
8412         now non-static, used in glyphs.c.
8413         * specifier.c (specifier_instance):
8414         comment about the bogosity of image instances being domains.
8415         * specifier.c (Fgeneric_specifier_p):
8416         move doc string to make-generic-specifier.
8417         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8418         rebackslashify.
8419
8420         * specifier.h:
8421         * specifier.h (DOMAIN_FRAME):
8422         * specifier.h (DOMAIN_LIVE_P):
8423         * specifier.h (DOMAIN_XDEVICE):
8424         rebackslashify.
8425         add comments about problems with these macros.
8426         prototype for decode_domain.
8427
8428         * toolbar.c:
8429         * toolbar.c (Ftoolbar_specifier_p):
8430         move doc string to `make-toolbar-specifier'.
8431
8432         * window.c (window_unmap_subwindows_cache_mapper):
8433         *************************************************************
8434         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8435         HAVE BEEN GETTING.
8436         *************************************************************
8437
8438 2000-05-09  Andy Piper  <andy@xemacs.org>
8439
8440         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8441
8442         * window.c (Fset_window_configuration): reset the frame subwindow
8443         cache and re-initialize the window subwindow caches.
8444
8445         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8446
8447 2000-05-09  Ben Wing  <ben@xemacs.org>
8448
8449         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8450         DWORD.
8451
8452 2000-04-26  Mike Woolley  <mike@bulsara.com>
8453
8454         * ntheap.c: Changed recreate_heap to limit the amount reserved
8455         for the heap to that which is actually available. Also now
8456         displays a message box (with some dignostics) in the event that
8457         it still can't start.
8458
8459 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8460
8461         * callproc.c (Fold_call_process_internal): GCPRO path
8462
8463 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8464
8465         Patch by Bill Perry.
8466
8467         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8468         back data instead of #ifdef.
8469         (Fscrollbar_page_down): ditto.
8470
8471 2000-05-07  Ben Wing  <ben@xemacs.org>
8472
8473         * buffer.h:
8474         Kludge for defining Qmswindows_tstr.
8475
8476         * nt.c:
8477         * nt.c (open_input_file):
8478         * nt.c (open_output_file):
8479         * nt.c (rva_to_section):
8480         * nt.c (mswindows_executable_type):
8481         Move all memory-mapped-file routines here (some were in unexnt.c,
8482         which is bad because they are used by process-nt.c, and unexnt
8483         won't be around when portable dumping).  Synched the above routines
8484         with FSF 20.6.
8485
8486         * nt.h:
8487         Removed ifdef'd out bogus code.
8488         Fixed some prototypes.
8489
8490         * nt.h (file_data):
8491         * nt.h (OFFSET_TO_RVA):
8492         * nt.h (RVA_TO_OFFSET):
8493         * nt.h (RVA_TO_PTR):
8494         Moved the memory-mapped-file structures, macros and prototypes
8495         here, to parallel nt.c.  ntheap.h should really be removed
8496         entirely, and it's a non-portable-dumper specific file.
8497
8498         * ntheap.h (round_to_next):
8499         Moved the memory-mapped-file structures, macros and prototypes
8500         to nt.h.
8501
8502         * ntproc.c (compare_env):
8503         Moved rva_to_section and mswindows_executable_type to nt.c.
8504         Moved compare_env to process-nt.c.
8505         ntproc.c will die, one day.
8506
8507         * ntproc.c (sys_spawnve):
8508         Account for win32_ -> mswindows_.
8509
8510         * process-nt.c:
8511         * process-nt.c (struct nt_process_data):
8512         * process-nt.c (ensure_console_window_exists):
8513         * process-nt.c (compare_env):
8514         * process-nt.c (nt_create_process):
8515         * process-nt.c (nt_kill_process_by_pid):
8516         * process-nt.c (syms_of_process_nt):
8517         * process-nt.c (vars_of_process_nt):
8518         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8519         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8520         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8521         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8522         Move compare_env here from ntproc.c.
8523
8524         * process.c (Fprocess_send_region):
8525         Takes an optional fourth argument, BUFFER, which should fix some
8526         problems with call-process.
8527
8528         * syscommctrl.h:
8529         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8530
8531         * syswindows.h:
8532         Move ICC_BAR_CLASSES to syscommctrl.h.
8533         Add preliminary macros for MSWindows/Mule.  More to come.
8534
8535         * unexnt.c:
8536         * unexnt.c (unexec):
8537         open_output_file moved to nt.c.
8538
8539
8540 2000-05-05  Andy Piper  <andy@xemacs.org>
8541
8542         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8543         instance from the frame cache also since GC may catch up too late
8544         to make frame deletion sane.
8545
8546 2000-05-04  Andy Piper  <andy@xemacs.org>
8547
8548         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8549         (x_finalize_image_instance): ungcpro on deletion.
8550
8551         * glyphs.c (image_instantiator_format_create): give pointers a
8552         query geometry method so that the geometry is at least set.
8553
8554         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8555         initialize layouts if using widgets.
8556
8557 2000-05-03  Andy Piper  <andy@xemacs.org>
8558
8559         * nt.c: remove bogus reference to sysmmsystem.h
8560
8561         * gui-x.c (popup_selection_callback): fix no selection abort.
8562
8563 2000-05-02  Andy Piper  <andy@xemacs.org>
8564
8565         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8566         (mswindows_widget_instantiate): ditto.
8567
8568         * glyphs-widget.c (initialize_widget_image_instance): initialize
8569         children correctly.
8570         (widget_instantiate): cope with children and items in the same
8571         instance.
8572
8573         * glyphs.c (mark_image_instance): cope with children as a first
8574         class member.
8575         (image_instance_equal): ditto.
8576         (image_instance_hash): ditto.
8577         (image_instance_changed): ditto.
8578
8579 2000-04-30  Andy Piper  <andy@xemacs.org>
8580
8581         * glyphs.c (subwindow_query_geometry): new function. Return some
8582         defaults.
8583         (subwindow_instantiate): don't assign dimensions if none have been
8584         given.
8585         (image_instantiator_format_create): add subwindow_query_geometry.
8586         (print_image_instance): cope with layouts as widgets.
8587
8588 2000-04-29  Andy Piper  <andy@xemacs.org>
8589
8590         * frame.c (delete_frame_internal): call
8591         free_frame_subwindow_instance_cache so that all subwindows are
8592         finalized before their parent.
8593         (mark_frame): remove subwindow_cachels.
8594         (Fmake_frame): remove subwindow_cachel manipulation.
8595         (allocate_frame_core): subwindow_instance_cache is a weak list.
8596         (delete_frame_internal): set subwindow_instance_cache to nil.
8597
8598         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8599         finalization safe.
8600         (mswindows_finalize_image_instance): use the device
8601         not the domain as the domain may have died already.
8602
8603         * glyphs-x.c (x_finalize_image_instance): ditto.
8604         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8605         HEIGHT.
8606
8607         * redisplay-output.c (redisplay_unmap_subwindows): update for
8608         subwindow instance cache as a weak list.
8609         (redisplay_unmap_subwindows_maybe): ditto.
8610         (redisplay_unmap_subwindows_except_us): ditto.
8611
8612         * glyphs.c (unmap_subwindow): error checking will check the domain
8613         so don't deal with it here. Don't use cachels anymore.
8614         (map_subwindow): ditto.
8615         (update_subwindow_cachel_data): remove old accessor names.
8616         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8617         (Fresize_subwindow): don't update cachel.
8618         (mark_subwindow_cachels):
8619         (update_subwindow_cachel_data):
8620         (add_subwindow_cachel):
8621         (get_subwindow_cachel_index):
8622         (update_subwindow_cachel):
8623         (reset_subwindow_cachels):
8624         (mark_subwindow_cachels_as_not_updated): deleted.
8625         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8626         subwindow instance to the frame cache.
8627         (find_matching_subwindow): update for subwindow instance cache as
8628         a weak list.
8629         (update_widget_instances): ditto.
8630         (image_instance_type_to_mask):inlined.
8631         (free_frame_subwindow_instance_cache): new function. finalize all
8632         subwindows that are instantiated.
8633
8634         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8635         of cachel information.
8636         (IMAGE_INSTANCE_DISPLAY_X):
8637         (IMAGE_INSTANCE_DISPLAY_Y):
8638         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8639         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8640         (XIMAGE_INSTANCE_DISPLAY_X):
8641         (XIMAGE_INSTANCE_DISPLAY_Y):
8642         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8643         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8644         remove subwindow_cachel structure and function references.
8645         (image_instance_type_to_mask): inline from glyphs.c
8646
8647         * redisplay.c (redisplay_frame): remove subwindow_cachel
8648         references.
8649
8650         * frame.h (struct frame): remove subwindow_cachels.
8651         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8652
8653         * frameslots.h: add subwindow_instance_cache.
8654
8655         * window.c (replace_window): check subwindow cache of replacement.
8656         (window_unmap_subwindows_cache_mapper):
8657         (window_unmap_subwindows): new functions. Unmap all subwindows
8658         cached on this window.
8659         (mark_window_as_deleted): unmap all subwindows.
8660
8661 2000-04-27  Andy Piper  <andy@xemacs.org>
8662
8663         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8664
8665         * glyphs-widget.c (widget_layout): return something.
8666         (layout_layout): return something. Fail if not initialized.
8667         (layout_query_geometry): ditto.
8668         (image_instantiator_native_layout): new function. Initialized the
8669         native layout type.
8670         (widget_instantiate): don't do layout stuff here.
8671
8672         * glyphs.c (instantiate_image_instantiator): reorded calling or
8673         instantiate and post_instantiate with layout in between.
8674         (image_instance_layout): be more selective about deciding whether
8675         the layout has been done or not.
8676
8677         * glyphs.h (struct image_instantiator_methods): return a value
8678         from layout_method.
8679
8680 2000-04-26  Andy Piper  <andy@xemacs.org>
8681
8682         * glyphs.c (allocate_image_instance): make initial width and
8683         height unspecified. Set initialized to 0.
8684
8685         * syscommctrl.h new file. Encapsulates commctrl.h.
8686
8687         * syswindows.h new file. Encapsulates windows.h.
8688
8689         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8690         * nt.c: ditto.
8691         * console-msw.h: ditto.
8692
8693         * redisplay-tty.c (tty_output_display_block): remove layout references.
8694
8695         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8696         window handle rather than just the frame.
8697
8698         * glyphs.c (mark_image_instance): remove layout references.
8699         (print_image_instance): ditto.
8700         (image_instance_equal): ditto.
8701         (image_instance_hash): ditto.
8702         (decode_image_instance_type): ditto.
8703         (encode_image_instance_type): ditto.
8704         (image_instantiate): ditto.
8705         (allocate_glyph): ditto.
8706         (Fimage_instance_height): ditto.
8707         (Fimage_instance_width): ditto.
8708         (update_subwindow): ditto.
8709
8710         * redisplay-x.c (x_output_display_block): recode for layouts as
8711         widgets.
8712
8713         * redisplay-output.c (redisplay_output_layout): recode for layouts
8714         as widgets.
8715         (compare_runes): remove layout references.
8716
8717         * redisplay-msw.c (mswindows_output_display_block): recode for
8718         layouts as widgets.
8719
8720         * glyphs-widget.c (image_instantiator_layout): remove
8721         layout_possible_dest_types.
8722         (layout_possible_dest_types): deleted.
8723
8724         * glyphs.h (image_instance_type): remove layout references.
8725         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8726         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8727         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8728
8729 2000-04-25  Andy Piper  <andy@xemacs.org>
8730
8731         * glyphs-widget.c (image_instantiator_buttons):
8732         (image_instantiator_edit_fields):
8733         (image_instantiator_combo_box):
8734         (image_instantiator_scrollbar):
8735         (image_instantiator_progress_guage):
8736         (image_instantiator_tree_view):
8737         (image_instantiator_tab_control):
8738         (image_instantiator_labels):
8739         (image_instantiator_layout): call default post_instantiate method.
8740         (widget_post_instantiate): new function. Simply lays out the
8741         widgets.
8742
8743         * glyphs.h (struct image_instantiator_methods): add
8744         post_instantiate method.
8745
8746         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8747         method calls.
8748
8749 2000-04-23  Andy Piper  <andy@xemacs.org>
8750
8751         * glyphs.h (struct image_instantiator_methods): add
8752         decode_domain_method.
8753         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8754         derived from the domain.
8755         (IMAGE_INSTANCE_FRAME): new accessor.
8756         (XIMAGE_INSTANCE_FRAME): ditto.
8757
8758         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8759         instead of _SUBWINDOW_FRAME.
8760         (finalize_image_instance): ditto.
8761         (Fimage_instance_foreground): ditto.
8762         (Fimage_instance_background): ditto.
8763         (image_instantiate): ditto.
8764         (update_subwindow_cachel): ditto.
8765         (update_subwindow): ditto.
8766         (unmap_subwindow): ditto.
8767         (map_subwindow): ditto
8768         (subwindow_instantiate): ditto.
8769         * glyphs-msw.c (mswindows_update_widget): ditto.
8770         (mswindows_progress_gauge_instantiate): ditto.
8771         (mswindows_tab_control_update): ditto.
8772         * glyphs-x.c (x_update_widget): ditto.
8773         (x_widget_instantiate): ditto.
8774         (x_tab_control_instantiate): ditto.
8775         (x_tab_control_update): ditto.
8776         * event-msw.c (mswindows_wnd_proc): ditto
8777
8778         * glyphs-widget.c (image_instantiator_layout): use
8779         subwindow_decode_domain.
8780         (image_instantiator_buttons): ditto.
8781         (image_instantiator_edit_fields): ditto.
8782         (image_instantiator_combo_box): ditto.
8783         (image_instantiator_scrollbar): ditto.
8784         (image_instantiator_progress_guage): ditto.
8785         (image_instantiator_tree_view): ditto.
8786         (image_instantiator_tab_control): ditto.
8787         (image_instantiator_labels): ditto.
8788         (image_instantiator_layout): ditto.
8789
8790         * glyphs.c: add instance error checking to many functions.
8791         (instantiate_image_instantiator): decode device from cache_domain.
8792         (image_instantiate): partially rewrite by using
8793         decode_image_instantiator_domain to determine what domain the
8794         instance needs to be cached in.
8795         (decode_image_instantiator_domain): new function. Determine what
8796         domain the image needs to be cached in.
8797         (check_window_subwindow_cache): new error checking function.
8798         (check_instance_cache_mapper): ditto.
8799         (check_image_instance_structure): ditto.
8800         (subwindow_decode_domain): new function. Encodes a window as a
8801         subwindow's cache domain.
8802         (image_instantiator_format_create): use it for text and
8803         subwindows.
8804
8805 2000-04-21  Andy Piper  <andy@xemacs.org>
8806
8807         * glyphs.c (image_instance_device): new function.
8808         (image_instance_frame): new function.
8809         (image_instance_window): new function.
8810         (image_instance_live_p): new function.
8811
8812         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8813         cache to nil.
8814
8815         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8816         (IMAGE_INSTANCE_DOMAIN): new accessor.
8817         (XIMAGE_INSTANCE_DOMAIN): ditto.
8818
8819         * glyphs-x.c (x_finalize_image_instance): device->domain.
8820
8821         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8822         (mswindows_finalize_image_instance): ditto.
8823
8824         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8825         (gif_instantiate): ditto.
8826         (png_instantiate): ditto.
8827         (tiff_instantiate): ditto.
8828
8829         * glyphs.c (instantiate_image_instantiator): use domain rather
8830         than device.
8831         (mark_image_instance): device -> domain.
8832         (print_image_instance): ditto.
8833         (finalize_image_instance): ditto.
8834         (image_instance_equal): ditto.
8835         (allocate_image_instance): ditto.
8836         (Fcolorize_image_instance): ditto.
8837         (query_string_geometry): ditto.
8838         (image_instantiate): ditto
8839         (query_string_font): ditto.
8840         (image_instantiate): ditto.
8841         (update_subwindow): ditto.
8842         (unmap_subwindow): ditto.
8843         (map_subwindow): ditto.
8844         (subwindow_instantiate): ditto.
8845
8846         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8847         (DOMAIN_FRAME): ditto.
8848         (DOMAIN_WINDOW): ditto.
8849         (DOMAIN_LIVE_P): ditto.
8850         (XDOMAIN_DEVICE): ditto.
8851         (XDOMAIN_FRAME): ditto.
8852         (XDOMAIN_WINDOW): ditto.
8853
8854         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8855         a valid specifier domain.
8856
8857 2000-04-19  Andy Piper  <andy@xemacs.org>
8858
8859         * glyphs-widget.c (syms_of_glyphs_widget): remove
8860         widget-callback-current-channel.
8861         (vars_of_glyphs_widget): ditto.
8862         * glyphs.h: ditto
8863
8864         * gui.c (get_gui_callback): revert to previous behaviour.
8865
8866 2000-04-18  Andy Piper  <andy@xemacs.org>
8867
8868         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8869         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8870         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8871
8872         * glyphs.c (image_instance_equal): add margin_width.
8873         (image_instance_hash): ditto.
8874
8875         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8876         (layout_query_geometry): ditto.
8877         (layout_layout): ditto.
8878         (syms_of_glyphs_widget): add margin-width.
8879         (image_instantiator_layout): allow margin-width.
8880
8881         * glyphs.c (update_widget_instances): make a normal function.
8882         (syms_of_glyphs): remove Qupdate_widget_instances.
8883         * glyphs.h: ditto.
8884
8885         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8886         so that we don't corrupt ideas about the last event or
8887         command. Remove widget-callback-current-channel fiddling.
8888         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8889
8890 2000-05-01  Martin Buchholz <martin@xemacs.org>
8891
8892         * XEmacs 21.2.33 is released.
8893
8894 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8895
8896         * make-src-depend: Allow dots in header file name.
8897
8898 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8899
8900         * mule-charset.h (struct charset_lookup): Add
8901         next_allocated_1_byte_leading_byte and
8902         next_allocated_2_byte_leading_byte.
8903         * mule-charset.c: Move above two variables so that those values
8904         will be dumped.
8905
8906 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8907
8908         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8909         when string length is zero.
8910         (find_charsets_in_emchar_string): Ditto.
8911
8912 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8913
8914         * lisp.h: extern Qdialog and Qmenubar.
8915
8916         * gui-x.c: added events.h.
8917                 also fixed typo which made the file uncompilable.
8918
8919         * general.c: Added Qmenubar and Qdialog
8920
8921 2000-04-28  Ben Wing  <ben@xemacs.org>
8922
8923         * frame-msw.c (mswindows_init_frame_1):
8924         * frame-msw.c (mswindows_mark_frame):
8925         * event-msw.c (mswindows_enqueue_dispatch_event):
8926         * console-msw.h:
8927         * console-msw.h (struct mswindows_frame):
8928         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8929         there are now three hash tables for callbacks.
8930         mswindows_enqueue_dispatch_event is no longer static.
8931
8932         * dialog-x.c (maybe_run_dbox_text_callback):
8933         * dialog-x.c (dbox_descriptor_to_widget_value):
8934         switch to new cons3 form for callbacks.
8935
8936         * glyphs-msw.c (mswindows_register_gui_item):
8937         * glyphs-msw.c (mswindows_widget_instantiate):
8938         * glyphs-msw.c (add_tree_item):
8939         * glyphs-msw.c (add_tab_item):
8940         new image instance parameter, so it can be passed to callback-ex.
8941         respect :callback-ex as well as :callback.
8942
8943         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8944         add :callback-ex.
8945
8946         * glyphs.c (print_image_instance):
8947         prettify, e.g. now prints widget type.
8948
8949         * gui-x.h:
8950         certain funs have new image instance parameter.
8951
8952         * gui.c:
8953         * gui.c (get_gui_callback):
8954         * gui.c (gui_item_add_keyval_pair):
8955         * gui.c (gui_item_init):
8956         * gui.c (gui_add_item_keywords_to_plist):
8957         * gui.c (mark_gui_item):
8958         * gui.c (gui_item_hash):
8959         * gui.c (gui_item_equal):
8960         * gui.c (copy_gui_item):
8961         * gui.c (syms_of_gui):
8962         recognize callback-ex in a number of places.
8963         also, fix the annoying "can't get out of yes-no dialog" bug.
8964
8965         * gui.h:
8966         * gui.h (struct Lisp_Gui_Item):
8967         recognize callback-ex in a number of places.
8968
8969         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8970         new parameter in button_item_to_widget_value.
8971
8972         * glyphs-x.c (x_update_widget):
8973         * glyphs-x.c (x_button_instantiate):
8974         * glyphs-x.c (x_button_update):
8975         * glyphs-x.c (x_progress_gauge_instantiate):
8976         * glyphs-x.c (x_edit_field_instantiate):
8977         * glyphs-x.c (x_combo_box_instantiate):
8978         * glyphs-x.c (x_tab_control_instantiate):
8979         * glyphs-x.c (x_label_instantiate):
8980         new image instance parameter in various places.
8981
8982         * event-Xt.c:
8983         * event-Xt.c (enqueue_Xt_dispatch_event):
8984         this fun gets exported.
8985
8986         * gui-msw.c:
8987         * gui-msw.c (mswindows_handle_gui_wm_command):
8988         handle both :callback and :callback-ex, and generate our own
8989         event because it's one of the callback-ex arguments.
8990
8991         * gui-x.c:
8992         * gui-x.c (popup_selection_callback):
8993         handle both :callback and :callback-ex, and generate our own
8994         event because it's one of the callback-ex arguments.
8995         * gui-x.c (button_item_to_widget_value):
8996         * gui-x.c (gui_items_to_widget_values_1):
8997         * gui-x.c (gui_item_children_to_widget_values):
8998         * gui-x.c (gui_items_to_widget_values):
8999         new image instance parameter in various places.
9000
9001         * fns.c (Freplace_list):
9002         fix small typo in doc string.
9003
9004         * lisp.h:
9005         declare enqueue_Xt_dispatch_event.
9006
9007 2000-04-28  Ben Wing  <ben@xemacs.org>
9008
9009         * buffer.c:
9010         * buffer.c (Frecord_buffer):
9011         * buffer.c (syms_of_buffer):
9012         delete record-buffer-hook.
9013
9014         * fns.c:
9015         * fns.c (Freplace_list):
9016         * fns.c (syms_of_fns):
9017         new primitive replace-list.
9018
9019         * frameslots.h:
9020         slot for old buffer-alist.
9021
9022         * lisp.h:
9023         exfun replace-list.
9024
9025         * redisplay.c:
9026         * redisplay.c (redisplay_frame):
9027         * redisplay.c (syms_of_redisplay):
9028         * redisplay.c (vars_of_redisplay):
9029         new hook buffer-list-changed-hook.
9030         call it.
9031
9032 2000-04-27  Ben Wing  <ben@xemacs.org>
9033
9034         * extents.h: extern in_modeline_generation.
9035
9036         * redisplay.c (generate_formatted_string_db): set
9037         in_modeline_generation.
9038
9039         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9040         flags if in modeline generation.  otherwise frame-modified-tick
9041         is ticked far too often.
9042         Declare in_modeline_generation.
9043
9044 2000-04-26  Ben Wing  <ben@xemacs.org>
9045
9046         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9047         option.
9048         (vars_of_emacs): add quick-build as an error-checking option.
9049         A bit kludgy, but there doesn't seem much point in creating
9050         a real var for this.
9051
9052         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9053
9054 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9055
9056         * redisplay.h (struct display_line): Add a new variable,
9057         line_continuation.
9058
9059         * redisplay.c (create_text_block): Set dl->line_continuation if
9060         the line continues.
9061         (create_string_text_block): Ditto.
9062         (regenerate_window_incrementally): Use line_continuation instead
9063         of searching continuation glyph.
9064         (add_margin_runes): Call add_glyph_rune.
9065         (add_glyph_rune): Handle margin glyph.
9066
9067 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9068
9069         * filelock.c (fill_in_lock_file_name):
9070         ANSIfy.
9071         Check for IS_ANY_SEP instead of '/'.
9072         (lock_file_1):
9073         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9074         Never check errno without first seeing that system call failed.
9075         (unlock_file): Add GCPRO.
9076         (Flock_buffer): Fix docstring.
9077         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9078
9079 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9080
9081         * sysdep.c (get_pty_max_bytes):
9082         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9083         strings longer than 252 bytes.
9084
9085         * md5.c: Unconditionally include ANSI header <limits.h>
9086
9087         * glyphs-x.c (convert_EImage_to_XImage):
9088         * lisp-union.h (union Lisp_Object):
9089         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9090
9091 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9092
9093         * filelock.c (current_lock_owner): Remove unused variable o, p.
9094
9095 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9096
9097         * callint.c: Remove multiply defined symbol Qlet
9098         (syms_of_callint): ditto.
9099
9100 2000-04-14  Andy Piper  <andy@xemacs.org>
9101
9102         * general.c (syms_of_general): add last-command, this-command, let
9103         and funcall.
9104
9105         * lisp.h: declare various symbols.
9106
9107         * glyphs.h: declare Qwidget_callback_current_channel;
9108
9109         * glyphs-widget.c (syms_of_glyphs_widget): add
9110         Qgui_callback_current_channel.
9111         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9112
9113         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9114         widget-callback-current-channel when invoking the interactive
9115         arg. Also bind last-command and next-command when invoking the
9116         widget updates.
9117         * gui-x.c (popup_selection_callback): ditto.
9118
9119         * gui.c (get_gui_callback): massage args so that we are always
9120         calling eval. This allows us to add our own variable bindings
9121         outside.
9122
9123         * glyphs-x.c (x_button_instantiate): use
9124         gui_items_to_widget_values since this is GC safe.
9125         (x_progress_gauge_instantiate): ditto.
9126         (x_edit_field_instantiate): ditto.
9127         (x_label_instantiate): ditto.
9128
9129         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9130         (emacs_Xt_event_widget_focus_out): new function
9131         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9132         focus.
9133         (emacs_Xt_event_add_widget_actions): new function. add focus
9134         functions as actions.
9135         (init_event_Xt_late): use it.
9136
9137 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9138
9139         * event-stream.c (Fdispatch_event): Doc fix.
9140
9141 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9142
9143         * postgresql.c: Remove all references to PQsetenv*.
9144
9145         * postgresql.h: Remove references to PGsetenvHandler object.
9146         * lrecord.h (lrecord_type): Ditto.
9147
9148 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9149
9150         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9151         real_heigh and real_width members, and accessor macros for these.
9152
9153         * glyphs-msw.c (init_image_instance_geometry): New function.
9154         (init_image_instance_from_dibitmap): Use it.
9155         (mswindows_resource_instantiate): Use it.
9156         (init_image_instance_from_xbm_inline): Use it.
9157         (mswindows_initialize_image_instance_mask): Use real bitmap
9158         geometry.
9159         (mswindows_create_resized_bitmap): Ditto.
9160         (mswindows_create_resized_mask): Ditto.
9161
9162         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9163         and bitmap to their surface size.
9164
9165 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9166
9167         * process-unix.c (unix_send_process): Guard against process MIA
9168         after Faccept_process_output.
9169
9170 2000-04-11  Ben Wing  <ben@xemacs.org>
9171
9172         * eval.c (unbind_to_hairy): fix brokenness introduced by
9173         nanosecond speed improvements.
9174
9175 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9176
9177         * sunplay.c (init_device): To play sounds correctly, the device
9178         apparently needs to be initialized at least once by XEmacs.  Make
9179         it so.
9180
9181 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9182
9183         * redisplay.c (add_margin_runes): Add text image glyph
9184           handling.
9185
9186 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9187
9188         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9189         gcc is newer than 2.5.
9190
9191 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9192
9193         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9194
9195         * fns.c (size_bit_vector):
9196         * alloc.c (size_vector):
9197         (make_vector_internal):
9198         (make_bit_vector_internal):
9199         (sweep_bit_vectors_1):
9200         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9201
9202 2000-04-06  Andy Piper  <andy@xemacs.org>
9203
9204         * gmalloc.c (malloc): undo previous change.
9205         (malloc): ditto.
9206         (free): ditto.
9207         (realloc): ditto.
9208
9209 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9210
9211         * line-number.c (buffer_line_number): Revert to former version.
9212
9213 2000-04-06  Andy Piper  <andy@xemacs.org>
9214
9215         * gmalloc.c (malloc): add error checking.
9216         (malloc): ditto.
9217         (free): ditto.
9218         (realloc): ditto.
9219
9220         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9221         button_item_to_widget_value arg.
9222
9223         * glyphs-x.c (x_button_instantiate): add extra
9224         button_item_to_widget_value arg.
9225         (x_progress_gauge_instantiate): ditto.
9226         (x_edit_field_instantiate): ditto.
9227         (x_label_instantiate): ditto.
9228
9229         * gui-x.c (gui_items_to_widget_values_1): add extra
9230         button_item_to_widget_value arg.
9231         (button_item_to_widget_value): add extra menu_item_p arg.
9232
9233         * gui-x.h: change signature of button_item_to_widget_value.
9234
9235         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9236         button_item_to_widget_value arg.
9237
9238 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9239
9240         * buffer.h (struct buffer): auto_save_modified should be long.
9241
9242 2000-04-05  Andy Piper  <andy@xemacs.org>
9243
9244         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9245         type.
9246         (button_query_geometry): give a little more room so that athena
9247         buttons fit.
9248
9249 2000-04-05  Andy Piper  <andy@xemacs.org>
9250
9251         * faces.c (complex_vars_of_faces): The widget face should inherit
9252         the font of the gui-element face.
9253
9254 2000-04-04  Andy Piper  <andy@xemacs.org>
9255
9256         * glyphs-x.c (x_button_update): new function. unconditionally
9257         update a button's state when the instance is dirty.
9258         (image_instantiator_format_create_glyphs_x): add x_button_update.
9259         (x_widget_instantiate): remove old resize cruft.
9260
9261 2000-04-02  Andy Piper  <andy@xemacs.org>
9262
9263         * frame.c (change_frame_size_1): The introduction of gutters means
9264         that we need to allow 0 as a potential frame dimension.
9265
9266 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9267
9268         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9269         image glyph if allow_cursor.
9270         (add_hscroll_rune): Don't allow cursor to border glyph.
9271         (create_text_block): Ditto.
9272
9273         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9274         text not in buffer.
9275         (redisplay_output_layout): Call ensure_face_cachel_complete for
9276         text image glyph.
9277
9278
9279 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9280
9281         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9282
9283         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9284         not in buffer
9285
9286         * redisplay-tty.c (tty_output_display_block): Delete the routine
9287         for text image glyph
9288         * redisplay-x.c (x_output_display_block): ditto
9289         * redisplay-msw.c (mswindows_output_display_block): ditto
9290
9291 2000-02-02  Mike Alexander  <mta@arbortext.com>
9292
9293         Note: Some of these were committed by accident as part of other
9294         patches.
9295
9296         * regex.c (regex_compile): Avoid compiler warnings.
9297
9298         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9299
9300         * nt.h: Declare term_ntproc correctly.
9301
9302         * nt.c: Remove incorrect declaration of get_home_directory which
9303         is declared correctly in lisp.h.
9304
9305         * keymap.c (get_keyelt): Avoid compiler warnings.
9306         (raw_lookup_key_mapper): Avoid compiler warnings.
9307
9308         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9309
9310         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9311
9312         * filemode.c (mode_string): Avoid compiler warnings.
9313
9314         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9315         avoid warning.
9316
9317         * events-mod.h: Undef some things that winuser.h defines differently.
9318
9319         * data.c (Faset): Avoid compiler warnings.
9320
9321         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9322
9323 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9324
9325         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9326         Fall through to simple beep on error.
9327         Replace "extern" by real header file.
9328
9329         * linuxplay.c: Use nativesound.h
9330         (play_sound_data): Return error code. Be less verbose on error.
9331
9332         * sunplay.c: Use nativesound.h
9333         (play_sound_data): Return error code. Be less verbose on error.
9334
9335         * ntplay.c: Use nativesound.h
9336         (play_sound_data): Return fake error code
9337
9338         * sgiplay.c: Use nativesound.h
9339         (play_sound_data): Return error code
9340
9341         * hpplay.c: Use nativesound.h, partially implement
9342         new error code. Break compilation until finished.
9343         (play_sound_data): error code.
9344
9345         * nativesound.h (play_sound_file):
9346           (play_sound_data): Prototype in new header.
9347
9348 2000-03-31  Andy Piper  <andy@xemacs.org>
9349
9350         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9351         for toggle and radio buttons.
9352         (image_instantiator_buttons): use it.
9353
9354 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9355
9356         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9357         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9358         found. Scrollbar event probably belonged to some old config.
9359
9360 2000-03-31  Andy Piper  <andy@xemacs.org>
9361
9362         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9363         than 1.
9364         (initialize_widget_image_instance): default layout to
9365         LAYOUT_HORIZONTAL rather than 0.
9366         (widget_instantiate): reverse the item list at the end rather than
9367         every iteration.
9368         (layout_layout): re-code for the border text at the front of the
9369         item list rather than at the end.
9370         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9371         provided by the user.
9372         (widget_query_geometry): comment.
9373
9374 2000-03-30  Andy Piper  <andy@xemacs.org>
9375
9376         * glyphs-widget.c (image_instantiator_layout): allow standard
9377         widget keywords in layouts.
9378
9379         * gutter.c (output_gutter): cope with nil gutter contents.
9380
9381         * frame.c (Fset_frame_properties): add gutter docs.
9382
9383 2000-03-29  Andy Piper  <andy@xemacs.org>
9384
9385         * toolbar-msw.c (TBSTYLE_FLAT): add.
9386         (mswindows_output_toolbar): minor fiddling.
9387
9388 2000-03-29  Andy Piper  <andy@xemacs.org>
9389
9390         * gutter.c (output_gutter): force gutter size recalculation if
9391         what we are trying to display won't fit.
9392         (update_gutter_geometry): new function. A per-gutter version of
9393         update_frame_gutter_geometry.
9394         (update_frame_gutter_geometry): use it.
9395         (redraw_exposed_gutter): add extra debugging output.
9396
9397 2000-03-28  Mike Alexander  <mta@arbortext.com>
9398
9399         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9400         (pdump_file_unmap): Implement it on Windows
9401         (pdump_file_get): Save alocated handles for pdump_file_unmap
9402
9403 2000-03-28  Andy Piper  <andy@xemacs.org>
9404
9405         * gui.c (get_gui_callback): treat Quit specially.
9406
9407 2000-03-27  Andy Piper  <andy@xemacs.org>
9408
9409         * glyphs.c (image_instantiate): be careful to check in the same
9410         way we assigned.
9411
9412 2000-03-27  Didier Verna  <didier@xemacs.org>
9413
9414         * config.h.in: define the proper SMART_INCLUDE macro.
9415         handle renaming of `foo_h_path' to `foo_h_file'.
9416
9417         * database.c: ditto.
9418
9419         * emacs.c: ditto.
9420
9421         * linuxplay.c: ditto.
9422
9423         * terminfo.c: ditto.
9424
9425         * tooltalk.h: ditto.
9426
9427 2000-03-27  Andy Piper  <andy@xemacs.org>
9428
9429         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9430         gets updated whenever the face might have changed.
9431
9432 2000-03-26  Mike Alexander  <mta@arbortext.com>
9433
9434         * dumper.c (pdump_resource_free): Fix the comment.
9435
9436 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9437
9438         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9439
9440 2000-03-22  Mike Alexander  <mta@arbortext.com>
9441
9442         * dumper.c: Include Windows headers on Windows
9443         (pdump_resource_free): Add a body to the function
9444         (pdump_load): exe_name -> exe_path and add some comments.
9445
9446 2000-03-25  Mike Alexander  <mta@arbortext.com>
9447
9448         * gui.c (copy_gui_item_tree): Return a value in all cases
9449
9450 2000-03-21  Didier Verna  <didier@xemacs.org>
9451
9452         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9453         lwlib/config.h.in.
9454         (SMART_INCLUDE): new macro.
9455         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9456         the proper location.
9457
9458         * postgresql.c: use it.
9459
9460         * inline.c: ditto.
9461
9462 2000-03-24  Andy Piper  <andy@xemacs.org>
9463
9464         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9465         do this.
9466
9467 2000-03-24  Andy Piper  <andy@xemacs.org>
9468
9469         * redisplay-output.c (compare_runes): use image_instance_changed
9470         to detect changes. Do not depend on glyphs_changed, only depend on
9471         dirtiness.
9472          (redisplay_output_layout): add debug messages.
9473         (compare_runes): ditto.
9474
9475         * glyphs.h: declare new functions.
9476         (struct Lisp_Image_Instance): remove percent and associated
9477         accessors.
9478
9479         * gui.h: declare new copying functions.
9480
9481         * gui.c (copy_gui_item_tree): new function.
9482         (copy_gui_item): new function.
9483         (gui_item_id_hash): revert to standard hash.
9484         (gui_item_hash): ditto.
9485         (gui_item_hash_internal): deleted.
9486         (mark_gui_item): mark value.
9487         (gui_item_add_keyval_pair): add value.
9488         (gui_item_init): ditto.
9489         (gui_add_item_keywords_to_plist): ditto.
9490         (gui_item_equal): ditto.
9491         (syms_of_gui): add Q_value.
9492
9493         * glyphs-x.c (x_progress_gauge_update): use pending items and
9494         value for setting the state.
9495         (x_update_widget): don't set items from pending here.
9496
9497         * glyphs-widget.c (update_widget): update items here.
9498         (progress_gauge_set_property): use items for storing value. Put
9499         new value in pending items.
9500
9501         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9502         items for new value. Convert percent -> value.
9503         (mswindows_tab_control_update): don't update items here.
9504
9505         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9506         (update_subwindow): ditto.
9507         (image_instance_changed): new function. Compare hash values and
9508         past and present widget items.
9509         (image_instantiate): We more careful about where we instantiate
9510         things.
9511         (image_instantiate): add error checking.
9512
9513         * gutter.c (syms_of_gutter): use -hook.
9514
9515 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9516
9517         * console-tty.c (Fset_console_tty_input_coding_system): Use
9518         Qkeyboard.
9519         (Fset_console_tty_output_coding_system): Use Qterminal.
9520         (tty_init_console): Use Qkeyboard and Qterminal.
9521
9522 2000-03-21  Ben Wing  <ben@xemacs.org>
9523
9524         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9525         From Mike Alexander <mta@arbortext.com>.
9526
9527 2000-03-21  Ben Wing  <ben@xemacs.org>
9528
9529         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9530         process brokenness.  Proper implementation to come.
9531         * callproc.c:
9532         Rename call-process-internal to old-call-process-internal.
9533         New impl. in process.el.
9534
9535 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9536
9537         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9538
9539 2000-03-20  Andy Piper  <andy@xemacs.org>
9540
9541         * glyphs.c (full_list_hash): make hashes of the same elements in
9542         different orders return different values.
9543
9544 2000-03-20  Martin Buchholz <martin@xemacs.org>
9545
9546         * XEmacs 21.2.32 is released.
9547
9548 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9549
9550         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9551         (DFC_MALLOC_USE_CONVERTED_DATA):
9552         Add aliasing-safe casts to allow use with char* or unsigned char*
9553         lvalues.
9554
9555         * eldap.c (Fldap_open):
9556         (Fldap_search_basic):
9557         (Fldap_add):
9558         (Fldap_modify):
9559         Make C++-compilable.
9560         Make sure GCPRO'ed variables are initialized.
9561         Use temp variables to avoid repeated calls to Flength.
9562
9563 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9564
9565         * sysfile.h:
9566         Make sure PATH_MAX is always defined.
9567         Include limits.h for PATH_MAX.
9568         Deprecate use of MAXPATHLEN.
9569
9570 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9571
9572         * emacs.c: Add reinit_vars_of_fileio.
9573         * symsinit.h: Add reinit_vars_of_fileio.
9574         * fileio.c (reinit_vars_of_fileio): New.
9575         * fileio.c (Fmake_temp_name):
9576         Initialize temp_name random number from microseconds to make
9577         collisions even less likely.  Initialize always at process startup
9578         time.  (make-temp-name) used to return the same file name twice in
9579         a row when PDUMP.
9580         Random stylistic fiddling.
9581         Comment fixes.
9582
9583 2000-03-20  Andy Piper  <andy@xemacs.org>
9584
9585         * glyphs.c (image_instantiate): allow text glyphs to be
9586         instantiated in the minibuffer window.
9587
9588 2000-03-19  Andy Piper  <andy@xemacs.org>
9589
9590         * glyphs.c (image_instance_hash): be careful about which items we
9591         hash on.
9592
9593         * glyphs-widget.c (tab_control_set_property): record into pending
9594         items rather than the actual items.
9595
9596         * glyphs-x.c (x_update_widget): use pending items to update with.
9597
9598         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9599         to update with.
9600
9601         * glyphs.c (mark_image_instance): mark pending items.
9602
9603         * window.c (Fset_window_configuration): record the buffer.
9604         (Fselect_window): totally revert previous change which breaks many
9605         things.
9606
9607 2000-03-18  Andy Piper  <andy@xemacs.org>
9608
9609         * glyphs-msw.c (mswindows_tab_control_update): force selected
9610         item.
9611
9612         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9613         window domain cache, otherwise we get inconsistencies at
9614         startup. There is something fishy at startup which can lead to the
9615         minibuffer being the selected window when the gutter content is
9616         instantiated.
9617
9618         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9619         gcpros.
9620         (parse_gui_item_tree_children): ditto.
9621         (parse_gui_item_tree_item): ditto.
9622
9623         * glyphs.c (Fupdate_widget_instances): return something.
9624
9625 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9626
9627         * window.c (Fselect_window): Undo 2000-03-17 change.
9628
9629 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9630
9631         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9632         against v7.0 libraries.  Insta-coredump city until the postgres
9633         folks fix it.
9634
9635 2000-03-17  Andy Piper  <andy@xemacs.org>
9636
9637         * faces.c (complex_vars_of_faces): don't give the widget face an
9638         inherited background pixmap.
9639
9640         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9641         selected item.
9642
9643         * event-stream.c (Fdispatch_non_command_events): return something.
9644
9645         * gutter.c (output_gutter): use widget face.
9646         (clear_gutter): ditto.
9647
9648         * NEWS: adjust again.
9649
9650         * window.c (Fselect_window): make sure this runs to completion to
9651         avoid oddities with Fset_window_configuration.
9652         (Fcurrent_window_configuration): in general do not save the
9653         minibuffer as the selected window.
9654
9655         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9656
9657 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9658
9659         * emacs.c (Frunning_temacs_p): Revert previous patch.
9660         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9661
9662 2000-03-16  Andy Piper  <andy@xemacs.org>
9663
9664         * glyphs-x.c (x_tab_control_update): if no widget values then
9665         return.
9666
9667         * NEWS: update for new features.
9668
9669         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9670         synthetic event to the native system.
9671         (reinit_vars_of_event_Xt): set force_event_pending to
9672         emacs_Xt_force_event_pending.
9673
9674         * events.h (struct event_stream): add force_event_pending.
9675
9676         * specifier.c (recompute_one_cached_specifier_in_window): add
9677         comment.
9678
9679         * redisplay.c (redisplay_frame): don't call
9680         update_frame_subwindows. Reset subwindow cachels when
9681         subwindows_changed, removing this was an optimization too far.
9682
9683         * redisplay-output.c (compare_runes): reorganize so that we catch
9684         glyph changes when we want them. Set optimize_output when this
9685         would help layouts.
9686         (redisplay_output_layout): remove frame_really_changed, use
9687         optimize_output instead.
9688
9689         * redisplay-msw.c (mswindows_output_display_block): reset
9690         optimize_output after outputting a glyph.
9691         * redisplay-x.c (x_output_display_block): ditto.
9692         * redisplay-tty.c (tty_output_display_block): ditto.
9693
9694         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9695         functions.
9696         (gutter_specs_changed): do specific gutter positions.
9697         (top_gutter_specs_changed): new function. Only update the
9698         specified gutter specs.
9699         (bottom_gutter_specs_changed): ditto.
9700         (left_gutter_specs_changed): ditto.
9701         (right_gutter_specs_changed): ditto.
9702
9703         * gui.c (gui_item_hash_internal): new function, does a real hash.
9704         (gui_item_id_hash): use it.
9705         (gui_item_hash): hash the eval'ed gui_item.
9706
9707         * gui-x.c (popup_selection_callback): send an eval event to call
9708         Fupdate_widget_instances.
9709
9710         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9711         to call Fupdate_widget_instances.
9712
9713         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9714         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9715
9716         * glyphs.c: (update_frame_subwindows): deleted.
9717         (Fupdate_widget_instances): new function for updating the dirty
9718         state of widgets that might have changed.
9719         (syms_of_glyphs): add Qupdate_widget_instances.
9720         (full_list_hash): hash a list completely.
9721         (image_instance_hash): use it for items and properties.
9722
9723         * frame-msw.c (mswindows_size_frame_internal): remove unused
9724         variable.
9725
9726         * faces.h (struct face_cachel): fix comment.
9727
9728         * event-stream.c (Fdispatch_non_command_events): new
9729         function. Process non-command events, forcing an event cycle
9730         beforehand.
9731         (syms_of_event_stream): declare.
9732         (event_stream_force_event_pending): new function. Force an event
9733         on the native event queue so that an event cycle will occur next
9734         time we check.
9735
9736         * event-msw.c:
9737         (struct ntpipe_shove_stream):
9738         (mswindows_enqueue_dispatch_event):
9739         (mswindows_dequeue_dispatch_event):
9740         (mswindows_cancel_dispatch_event):
9741         (mswindows_pump_outstanding_events):
9742         (mswindows_drain_windows_queue):
9743         (mswindows_handle_paint):
9744         (mswindows_wnd_proc):
9745         (mswindows_key_to_emacs_keysym):
9746         (get_process_input_waitable):
9747         (emacs_mswindows_delete_stream_pair): re-indent file.
9748         (mswindows_need_event): do not process further fds if the windows
9749         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9750         fixes the 100% cpu problem.
9751         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9752
9753 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9754
9755         * alloc.h: New.
9756         * dumper.h: New.
9757         * dumper.c: New.
9758
9759         * emacs.c: Moved dump file searching to dumper.c.
9760         (Frunning_temacs_p): Fixed.
9761
9762         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9763         last_lrecord_type_index_assigned.
9764
9765 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9766
9767         * symsinit.h: Added reinit parameter to init_console_stream
9768         declaration.
9769
9770         * lisp.h: Added file parameter to pdump_load declaration.
9771
9772         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9773         support.  Added dump file searching.
9774
9775         * config.h.in: Added EMACS_PROGNAME.
9776
9777         * console-stream.c (init_console_stream): Fix reinitialisation
9778         when running from temacs.
9779
9780         * alloc.c (pdump): Add id support.
9781         (pdump_load): Add file parameter and signature/id support.
9782
9783         * Makefile.in.in: Add full pdump support.
9784
9785 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9786
9787         * postgresql.c: Update documentation to reflect latest code
9788         status.
9789         (print_result): Show tuple counts in printed representation when
9790         appropriate.
9791         (Fpq_put_nbytes): MULE-ize.
9792         (Fpq_get_line_async): Ditto.
9793
9794 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9795
9796         * postgresql.c (Fpq_lo_import): Fix return value.
9797         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9798
9799 2000-03-13  Ben Wing  <ben@xemacs.org>
9800
9801         * alloc.c (pdump_load):
9802         Fix compile warning under mswin.
9803
9804 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9805
9806         * postgresql.c: Mule-ization, bug fixes.
9807         Use PG_CODING to encapsulate coding system name changes.
9808         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9809         (pg-coding-system): Create.
9810
9811         (Fpq_conn_defaults): Mule-ize.
9812         (Fpq_connectdb): Mule-ize & bug fix.
9813         (Fpq_connect_start): Mule-ize.
9814         (Fpq_set_client_encoding): Mule-ize.
9815         (Fpq_finish): Document `DEAD' connection status.
9816         (Fpq_clear): Ditto.
9817         (Fpq_pgconn): Mule-ize.
9818         (Fpq_exec): Mule-ize & bug fix.
9819         (Fpq_send_query): Ditto.
9820         (Fpq_get_result): Ditto.
9821         (Fpq_res_status): Mule-ize.
9822         (Fpq_result_error_message): Mule-ize.
9823         (Fpq_ntuples): fix comments.
9824         (Fpq_fname): Mule-ize.
9825         (Fpq_fnumber): Mule-ize.
9826         (Fpq_ftype): fix comments.
9827         (Fpq_get_value): Mule-ize.
9828         (Fpq_cmd_status): Ditto.
9829         (Fpq_cmd_tuples): Ditto.
9830         (Fpq_oid_value): Ditto.
9831         (Fpq_notifies): Ditto.
9832         (Fpq_lo_import): Ditto.
9833         (Fpq_lo_export): Ditto.
9834         (Fpq_get_line): Ditto.
9835         (Fpq_put_line): Mule-ize and bug fix.
9836         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9837
9838 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9839
9840         * postgresql.c (vars_of_postgresql): Mule-ize.
9841         (Fpq_conn_defaults): Ditto.
9842
9843 2000-03-12  Ben Wing  <ben@xemacs.org>
9844
9845         * alloc.c (Fmake_byte_code):
9846         * alloc.c (debug_string_purity_print):
9847         * alloc.c (pdump_backtrace):
9848         * alloc.c (pdump_get_indirect_count):
9849         * alloc.c (pdump_register_sub):
9850         * alloc.c (pdump_register_object):
9851         * alloc.c (pdump_register_struct):
9852         * alloc.c (pdump_dump_data):
9853         * alloc.c (pdump_reloc_one):
9854         Minor cleanups.
9855
9856         * console-msw.c:
9857         * console-msw.c (GetConsoleHwnd):
9858         * console-msw.c (msw_hide_console):
9859         * console-msw.c (msw_show_console):
9860         * console-msw.c (msw_ensure_console_buffered):
9861         * console-msw.c (msw_output_console_string):
9862         * console-msw.c (console_type_create_mswindows):
9863
9864         a) Added functions to manipulate the console window for use with
9865         shell support.
9866
9867         b) Added support for writing text to the console, which is now
9868         used under Windows when xemacs is not being run non-interactively,
9869         to write text that would otherwise be destined for stdout because
9870         under these circumstances, text written to stdout tends to
9871         disappear and not be seen.
9872
9873         * console-msw.h:
9874         * event-Xt.c:
9875         * event-Xt.c (x_event_to_emacs_event):
9876         * event-Xt.c (describe_event_window):
9877         * events-mod.h (XEMACS_MOD_CONTROL):
9878         * events.c:
9879         * events.c (Fmake_event):
9880         * events.c (character_to_event):
9881         * events.c (event_to_character):
9882         * events.c (format_event_object):
9883         * events.c (Fevent_modifiers):
9884         * events.h:
9885         * events.h (struct key_data):
9886         * events.h (struct button_data):
9887         * events.h (struct misc_user_data):
9888         * frame-x.c (Fcde_start_drag_internal):
9889         * frame-x.c (Foffix_start_drag_internal):
9890         * gpmevent.c (Freceive_gpm_event):
9891         * keymap.c:
9892         * keymap.c (bucky_sym_to_bucky_bit):
9893         * keymap.c (control_meta_superify):
9894         * keymap.c (make_key_description):
9895         * keymap.c (keymap_lookup_directly):
9896         * keymap.c (create_bucky_submap):
9897         * keymap.c (keymap_store):
9898         * keymap.c (define_key_check_and_coerce_keysym):
9899         * keymap.c (define_key_parser):
9900         * keymap.c (define_key_alternate_name):
9901         * keymap.c (Fdefine_key):
9902         * keymap.c (raw_lookup_key_mapper):
9903         * keymap.c (struct map_keymap_unsorted_closure):
9904         * keymap.c (map_keymap_unsorted_mapper):
9905         * keymap.c (map_keymap_sort_predicate):
9906         * keymap.c (map_keymap_sorted):
9907         * keymap.c (accessible_keymaps_mapper_1):
9908         * keymap.c (where_is_recursive_mapper):
9909         * keymap.c (describe_map_mapper):
9910         * keymap.c (describe_map_sort_predicate):
9911         * keymap.c (describe_map):
9912         * keymap.c (complex_vars_of_keymap):
9913         And a number of other files, the key modifier preprocessor
9914         constants that xemacs uses have names that conflict with constants
9915         defined under MS Windows for other purposes, so they were renamed
9916         to begin with the prefix XEMACS_. The variables that hold such
9917         modifiers were changed to consistently be of type int to fix
9918         various compile warnings.
9919
9920         * console.c (complex_vars_of_console):
9921         * device.c:
9922         * device-msw.c:
9923         * device-msw.c (mswindows_finish_init_device):
9924         * device-msw.c (msw_get_workspace_coords):
9925         * device-msw.c (mswindows_device_system_metrics):
9926         and various other files, added support for a new
9927         device property called offset-workspace which returns the position
9928         of the upper left corner of the workspace area and goes along with
9929         the existing size-workspace property.
9930
9931         * dialog-msw.c:
9932         * dialog-msw.c (push_bufbyte_string_as_unicode):
9933         * dialog-msw.c (mswindows_popup_dialog_box):
9934         Added support for XEmacs-style accelerator specifications in
9935         button text.  Note: I didn't add support for this under X Windows,
9936         and somebody needs to do this.
9937
9938         * dialog.c:
9939         * dialog.c (Fpopup_dialog_box):
9940         Documented the support for accelerators that was just mentioned.
9941
9942         editfns.c (get_home_directory): Changed behavior under Windows
9943         when HOME not defined; former behavior was irretrievably broken.
9944
9945         * emacs.c:
9946         * emacs.c (main_1):
9947         * emacs.c (main):
9948         * minibuf.c (clear_echo_area_internal):
9949         * minibuf.c (echo_area_append):
9950         * print.c:
9951         * print.c (std_handle_out_external):
9952         * print.c (std_handle_out_va):
9953         * print.c (fatal):
9954         * print.c (write_string_to_stdio_stream):
9955         * print.c (output_string):
9956         * print.c (debug_print):
9957         * print.c (debug_backtrace):
9958         * print.c (debug_short_backtrace):
9959         Cleaned up the code that prints text to stdout so that this can be
9960         changed to output into a console window instead under MS Windows,
9961         as described above.
9962
9963         * eval.c:
9964         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9965         * eval.c (internal_catch):
9966         * eval.c (unwind_to_catch):
9967         * eval.c (throw_or_bomb_out):
9968         * eval.c (condition_case_1):
9969         * eval.c (signal_1):
9970         * eval.c (check_error_state_sanity):
9971         * eval.c (call_with_suspended_errors_1):
9972         * eval.c (call_with_suspended_errors):
9973         * eval.c (reinit_vars_of_eval):
9974         Added code to catch throw loops and check for a pesky bug that may
9975         be gone now.
9976
9977         * event-msw.c:
9978         * event-msw.c (key_needs_default_processing_p):
9979         * event-msw.c (mswindows_wnd_proc):
9980         * event-msw.c (mswindows_modifier_state):
9981         * event-msw.c (emacs_mswindows_quit_p):
9982         * event-msw.c (vars_of_event_mswindows):
9983         a) Added support for using the alt key to select menu items as is
9984         standard under MS Windows.  This is controlled using the variable
9985         menu-accelerator-enabled, just like under X Windows.  There is an
9986         option on the options menu to turn this support on.  I really
9987         think that it should be on by default under Windows, but I'm not
9988         going to make this change yet.
9989
9990         b)  Added support for dynamic display size changes under Windows.
9991
9992         * event-stream.c:
9993         * event-stream.c (maybe_echo_keys):
9994         * event-stream.c (Fnext_event):
9995         * event-stream.c (command_builder_find_leaf):
9996         * event-stream.c (lookup_command_event):
9997         * event-stream.c (execute_command_event):
9998         * event-stream.c (pre_command_hook):
9999         * event-stream.c (post_command_hook):
10000         * event-stream.c (syms_of_event_stream):
10001         * event-stream.c (vars_of_event_stream):
10002         * event-stream.c (complex_vars_of_event_stream):
10003         * events.h (struct command_builder):
10004
10005         a) Tried to clean up a little bit the horribly written x-specific
10006         accelerator code that crept into this file.  I moved this code
10007         into menubar-x.c where it belongs. I also needed to move the
10008         command builder structure into the file events.h because it is
10009         accessed directly by this accelerator code.  What I didn't do, but
10010         which should be done at some point, is to properly abstract this
10011         code using device methods instead of the kludgy way that it
10012         currently hooks into the event code.
10013
10014         b) Added the lisp variables this-command-properties and
10015         last-command- properties, which should be used to synchronize two
10016         adjacent commands in preference to playing games with the variable
10017         this-command, which is typically what happens.
10018
10019         c) Added some slightly nasty code to hook into the lisp support
10020         for shifted- motion-key selection.  This is actually necessary for
10021         somewhat complicated reasons, which are described in
10022         simple.el. (NB: I think the proper thing would be to have the code
10023         that calls the pre and post command hooks also call out to generic
10024         lisp functions in simple.el, where all built-in stuff could be
10025         added.  I will think about this more.)
10026
10027         * event-unixoid.c (poll_fds_for_input):
10028         * lread.c (readchar):
10029         * redisplay-tty.c (tty_clear_frame):
10030         * redisplay-x.c (x_get_gc):
10031         * signal.c (interrupt_signal):
10032         And a whole bunch of other files: fixed up places that printed
10033         directly to stderr to instead call the function stderr_out so that
10034         the changes I made under Windows work correctly.
10035
10036         * filemode.c (mode_string):
10037         Warning fixes.
10038
10039         * frame-msw.c:
10040         * frame-msw.c (mswindows_size_frame_internal):
10041         Fixed the computation of frame size and position to keep the frame
10042         within the workspace area, rather than within the physical
10043         dimensions of the screen, so that the frame doesn't overlap window
10044         manager decorations, such as the start menu and toolbar, typically
10045         at the bottom of the screen.
10046
10047         * frame.c (vars_of_frame):
10048         Changed the default frame title format under MS Windows to consist
10049         of buffername-XEmacs, which is standard under MS Windows.  I think
10050         it might be a good idea to change this everywhere because I think
10051         it is superior to the current frame title format, but this is the
10052         kind of change that is likely to cause some people to get annoyed,
10053         so I'm not making it.
10054
10055         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10056
10057         * gui-msw.c (mswindows_handle_gui_wm_command):
10058         Fixed compile warnings.
10059
10060         * gui-x.c:
10061         * gui-x.c (strdup_and_add_accel):
10062         * gui-x.c (button_item_to_widget_value):
10063         * gui-x.h:
10064         Added code to automatically put an accelerator onto the beginning
10065         of menu items that don't have one as is now the standard, and is
10066         described more later.  Also fixed things so that the menu item
10067         name can be an evaluated expression, again a new standard.
10068
10069         * gui.c:
10070         * gui.c (gui_item_add_keyval_pair):
10071         * gui.c (make_gui_item_from_keywords_internal):
10072         * gui.c (gui_add_item_keywords_to_plist):
10073         * gui.c (gui_item_accelerator):
10074         * gui.c (gui_name_accelerator):
10075         * gui.c (gui_item_included_p):
10076         * gui.c (gui_item_display_flush_left):
10077         * gui.c (gui_item_display_flush_right):
10078         * gui.c (parse_gui_item_tree_item):
10079         * gui.c (parse_gui_item_tree_children):
10080         * gui.c (parse_gui_item_tree_list):
10081         Mule-ized.  Cleanup.  GCPRO addition.
10082
10083         * line-number.c (buffer_line_number):
10084         * lisp.h:
10085         * lisp.h (EMACS_INT_MAX):
10086         Added the manifest constant EMACS_INT_MIN corresponding to the
10087         existing constant EMACS_INT_MAX.  This is partially to fix compile
10088         warnings under Windows, and partly for cleanliness.
10089
10090         * menubar-msw.c:
10091         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10092         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10093         * menubar-msw.c (displayable_menu_item):
10094         * menubar-msw.c (populate_menu_add_item):
10095         * menubar-msw.c (populate_or_checksum_helper):
10096         * menubar-msw.c (populate_menu):
10097         * menubar-msw.c (update_frame_menubar_maybe):
10098         * menubar-msw.c (prune_menubar):
10099         * menubar-msw.c (msw_char_is_accelerator):
10100         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10101         * menubar-msw.c (mswindows_handle_wm_command):
10102         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10103         * menubar-msw.c (mswindows_handle_wm_initmenu):
10104         * menubar-msw.c (mswindows_update_frame_menubars):
10105         * menubar-msw.c (mswindows_free_frame_menubars):
10106         * menubar-msw.c (mswindows_popup_menu):
10107         Fixed a bug in handling accelerators where an extra character
10108         would be displayed in the menu item.  Also generalized the
10109         function displayable_menu_item because it is now used by the
10110         dialog box code as well.  And finally, added code in the functions
10111         that create the menubar to extract a list of accelerators for the
10112         top level menubar, which is used in the event code to determine
10113         whether a particular alt-key combination should be used to invoke
10114         a menu item, or should be passed through to access the standard
10115         XEmacs keymap binding for this key combination.
10116
10117         Much needed GCPROing.
10118
10119         * menubar-x.c:
10120         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10121         * menubar-x.c (menu_item_descriptor_to_widget_value):
10122         * menubar-x.c (restore_in_menu_callback):
10123         * menubar-x.c (x_popup_menu):
10124         * menubar-x.c (menu_move_up):
10125         * menubar-x.c (menu_move_down):
10126         * menubar-x.c (menu_move_left):
10127         * menubar-x.c (menu_move_right):
10128         * menubar-x.c (menu_select_item):
10129         * menubar-x.c (command_builder_operate_menu_accelerator):
10130         * menubar-x.c (menu_accelerator_junk_on_error):
10131         * menubar-x.c (command_builder_find_menu_accelerator):
10132         * menubar-x.c (Faccelerate_menu):
10133         * menubar.h:
10134         Moved a whole bunch of code here that was previously in
10135         event-stream.c as described above.  There is also code connected
10136         to the new standard of adding an accelerator to the beginning of
10137         menu items that don't have one as described above and below.
10138
10139         * menubar.c:
10140         * menubar.c (menu_parse_submenu_keywords):
10141         * menubar.c (Fmenu_find_real_submenu):
10142         * menubar.c (Fnormalize_menu_item_name):
10143         * menubar.c (syms_of_menubar):
10144         * menubar.c (vars_of_menubar):
10145         * menubar.c (complex_vars_of_menubar):
10146
10147         a) Cleaned up a bunch of documentation and improved it.
10148
10149         b) XEmacs now automatically adds an accelerator onto the beginning
10150         of any menu items that don't have one.  I did this because there
10151         will inevitably be some menu items on the main menubar that don't
10152         have accelerators on them because the package that adds that
10153         particular menu item hasn't yet been fixed up to have accelerators
10154         in them and it looked rather strange to have some items with and
10155         some items without accelerators, especially since even in items
10156         without accelerators, you can, at least under windows, still
10157         access the item through an accelerator corresponding to the first
10158         character in the item's name.  If people don't like this behavior,
10159         I can add a variable to turn it off optionally, but I'm not sure
10160         this is a good idea because we really do need to have accelerators
10161         on all of the menu items, and if a package doesn't like the
10162         accelerators being put on the first character, then it should put
10163         the accelerators where they belong.
10164
10165         c) I made a behavior change, which is that the descriptor that
10166         specifies the text of the menu item, which formerly was just a
10167         string, can now also be an evaluated expression.  This makes this
10168         descriptor parallel with all of the others, which could also be
10169         evaluated expressions.  This also obviates the need for the
10170         keyword :label, which was previously listed in the documentation
10171         as unimplemented, and which was for the same purpose.
10172
10173         d) GCPROing.
10174
10175         * ntproc.c:
10176         * ntproc.c (new_child):
10177         * ntproc.c (sys_spawnve):
10178         * ntproc.c (find_child_console):
10179         * ntproc.c (sys_kill):
10180         Fixed compile warnings.  By the way, this file should really go
10181         away entirely, and this will happen as soon as Kirill makes his
10182         final round of process cleanups, which affect the function
10183         call-process.
10184
10185         * process-nt.c:
10186         * process-nt.c (struct nt_process_data):
10187         * process-nt.c (find_process_from_pid):
10188         * process-nt.c (send_signal_the_nt_way):
10189         * process-nt.c (enable_child_signals):
10190         * process-nt.c (find_child_console):
10191         * process-nt.c (send_signal_the_95_way):
10192         * process-nt.c (nt_finalize_process_data):
10193         * process-nt.c (ensure_console_window_exists):
10194         * process-nt.c (nt_create_process):
10195         * process-nt.c (nt_kill_child_process):
10196         * process-nt.c (nt_kill_process_by_pid):
10197         * process-nt.c (nt_open_network_stream):
10198         * process-nt.c (vars_of_process_nt):
10199         Copied over code from Emacs 20.5 to correctly send signals to sub-
10200         processes under Windows 95.  Also added code to automatically
10201         create and hide console window when a sub-process is created under
10202         Windows 95, which obviates the need for the separate runemacs.exe
10203         executable, and finally implemented some variables that were
10204         implemented in Emacs 20.5, but previously not in XEmacs.  These
10205         include mswindows- start-process-share-console and
10206         mswindows-start-process-inherit-error-mode. (Both of these only
10207         apply to Windows 95.)
10208
10209         * regex.c (regex_compile): Fixed a compile warning.
10210
10211         * select-msw.c:
10212         * select-msw.c (mswindows_own_selection):
10213         * select-msw.c (mswindows_get_foreign_selection):
10214         * select-msw.c (mswindows_disown_selection):
10215         * select-msw.c (console_type_create_select_mswindows):
10216         * select-msw.c (syms_of_select_mswindows):
10217         Cleaned up the file and implemented the device method
10218         selection_exists_p, which had accidentally been left out.  Also
10219         removed four lisp functions that were remnants from before the
10220         time when the selection code was properly device abstracted.
10221         These functions are no longer needed because there are generic
10222         equivalents, and because they were added recently and don't exist
10223         in FSF Emacs, I don't think there's any problem with just deleting
10224         them.
10225
10226         * sysdep.c:
10227         * sysdep.c (sys_subshell):
10228         Fixed a compile warning, although in this case there's probably
10229         something wrong with this code, and it ought to be looked into
10230         more thoroughly by somebody who understands it.
10231
10232         * window.c:
10233         * window.c (Fwindow_text_area_height):
10234         * window.c (Fwindow_width):
10235         * window.c (Fwindow_full_width):
10236         * window.c (Fwindow_pixel_width):
10237         * window.c (debug_print_window):
10238         * window.c (syms_of_window):
10239         Added functions window-text-area-height and window-full-width,
10240         which are functions for returning various width and height
10241         characteristics of a window. (One of these functions is necessary
10242         for making the file dialog box work correctly, and the other one
10243         was added for completeness.)  Also added a table to the
10244         documentation for window-height which describes the entire scheme
10245         for accessing width and height characteristics of a window.
10246
10247 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10248
10249         * nt.c (fstat): Added a comment for another problem with
10250         non-encapsulated [f]stat(), reported by Adrian Aichner
10251         <aichner@ecf.teradyne.com>.
10252
10253 2000-03-11  Andy Piper  <andy@xemacs.org>
10254
10255         * window.c (make_dummy_parent): initialize subwindow instance
10256         cache.
10257         (Fset_window_configuration): zero extent_modiff.
10258
10259 2000-03-10  Andy Piper  <andy@xemacs.org>
10260
10261         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10262         more changes can be triggered.
10263         (Fredisplay_frame): ditto.
10264         (Fredraw_device): ditto.
10265         (Fredisplay_device): ditto.
10266         (redisplay_frame): make non-static.
10267         (redisplay_frame): call update_frame_gutter_geometry outside of
10268         display proper.
10269
10270         * gutter.h: declare update_frame_gutter_geometry.
10271
10272         * redisplay.h: declare redisplay_frame.
10273
10274         * gutter.c (update_frame_gutter_geometry): move geometry changes
10275         in update_frame_gutters here. Geometry changes can only occur
10276         outside of redisplay.
10277         (update_frame_gutters): remove geometry change code.
10278         (Fredisplay_gutter_area): make sure that we are in display when we
10279         update and that we have flushed any size changes.
10280
10281 2000-03-11  Andy Piper  <andy@xemacs.org>
10282
10283         * alloc.c (pdump_dump_data): remove i & count shadows.
10284
10285 2000-02-27  Mike Alexander  <mta@arbortext.com>
10286
10287         * sysdep.h: Declare pdump_read_file
10288
10289         * sysdep.c (pdump_read_file): New function
10290
10291         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10292         dump data
10293
10294 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10295
10296         * lrecord.h: add `lrecord_type_pgsetenv'.
10297
10298 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10299
10300         * symsinit.h: declare (vars|syms)_of* functions.
10301         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10302
10303 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10304
10305         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10306
10307         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10308         GCCs.
10309
10310         * emacs.c (main_1): Call postgres initialization code.
10311
10312         * postgresql.h: New file.  PostgreSQL RDBMS support.
10313         * postgresql.c: New file.
10314
10315 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10316
10317         * redisplay-output.c (redisplay_output_display_block): Disable
10318         redundant code.
10319
10320 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10321
10322         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10323         (Fcanna_henkan_next): Ditto.
10324         (Fcanna_bunsetu_henkou): Ditto.
10325         (Fcanna_henkan_kakutei): Ditto.
10326         (Fcanna_henkan_end): Ditto.
10327         (Fcanna_henkan_quit): Ditto.
10328         (Fcanna_henkan_next): Set retun value correctly.
10329         (c2mu): Use unsigned char instead of signed char.
10330
10331 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10332
10333         * emacs.c (main_1): Always call syms_of_gui.
10334         * inline.c: include gui.h
10335
10336 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10337
10338         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10339         converted to Lisp_Object.
10340         (Qtop_bottom): New variable.
10341         (syms_of_redisplay): Initialize it.
10342         * redisplay.h (Vvisible_bell): Ditto.
10343         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10344         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10345         only flash top and bottom.
10346
10347 2000-03-08  Andy Piper  <andy@xemacs.org>
10348
10349         * buffer.c (Frename_buffer): record new buffer name the right way.
10350
10351 2000-03-08  Andy Piper  <andy@xemacs.org>
10352
10353         * glyphs.c (update_subwindow): increase hash depth so that widget
10354         items get picked up properly.
10355
10356         * redisplay-output.c (compare_runes): increase hash depth so that
10357         widget items get picked up properly.
10358
10359 2000-03-08  Andy Piper  <andy@xemacs.org>
10360
10361         * gutter.c (output_gutter): add some debug.
10362
10363         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10364         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10365         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10366
10367         * redisplay-output.c (compare_runes): use display_hash to
10368         determine if glyphs really are not the same.
10369
10370         * glyphs.c (update_subwindow): check display_hash to see if
10371         anything really needs to be updated. If not then do
10372         nothing. Record the display_hash after updating.
10373         (image_instance_equal): compare the image_instance face also.
10374
10375 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10376
10377         * redisplay.h: Fix comment style.
10378
10379 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10380
10381         * consle-msw.h (struct mswindows_frame):
10382         Added new member paint_pending to indicate whether a WM_PAINT
10383         magic event has been queued for this frame.
10384
10385         * event-msw.c (mswindows_drain_windows_queue):
10386         Don't queue a WM_PAINT magic event if one is already queued.
10387         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10388
10389         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10390
10391 2000-03-07  Didier Verna  <didier@xemacs.org>
10392
10393         * dired.c: #include `regex.h' after `sysfile.h'.
10394
10395 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10396
10397         * sound.c (init_nas_sound): Fix compiler warning.
10398
10399         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10400         (FREE_STRUCT_P):
10401         (MARK_STRUCT_AS_FREE):
10402         (MARK_STRUCT_AS_NOT_FREE):
10403         Make `gcc -fstrict-aliasing' work properly.
10404
10405 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10406
10407         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10408         (mswindows_delete_device): Call CoUnnitialize().
10409
10410         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10411
10412 2000-02-25    <CraigL@DyCon.com>
10413
10414         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10415         <errno.h>.
10416
10417         * sysdep.c: This extern declaration for environ prevents MinGW
10418         from finding the variable in CRTDLL.DLL.
10419
10420         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10421         windows headers.
10422         (SHGFI_EXETYPE): ..
10423         (WM_MOUSEWHEEL): ..
10424         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10425         definitions.
10426         (MMRESULT): Removed, now defined in cygwin's windows headers.
10427         (TIMECAPS): ..
10428         (uid_t,gid_t,pid_t,ssize_t): ..
10429         (_timeb): Removed, MinGW defines both _timeb and timeb.
10430         (HAVE_H_ERRNO): Added.
10431         (HAVE_TZNAME): Added, configure is not detecting this.
10432
10433 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10434
10435         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10436         * syntax.c (syntax_match): Use it.
10437
10438         * cmds.c: Import auto-fill-chars from FSF Emacs.
10439         (Vauto_fill_chars): New variables.
10440         (internal_self_insert): Check Vauto_fill_chars.
10441         (vars_of_cmds):
10442         Declare auto-fill-chars as a Lisp variable and initialize it.
10443
10444 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10445
10446         * fileio.c (Fmake_symbolic_link):
10447         (Ffile_symlink_p):
10448         Run handlers even if local machine doesn't have symlinks.
10449
10450 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10451
10452         * event-msw.c (mswindows_drain_windows_queue):
10453         Don't generate paint magic events for non-XEmacs frames.
10454
10455 2000-03-05  Andy Piper  <andy@xemacs.org>
10456
10457         * redisplay.c (redisplay_frame): generate_displayable_area and
10458         friends assumes that we are not in GC, we therefore have to make
10459         sure that this doesn't happen.
10460
10461         * gutter.c (calculate_gutter_size): generate_displayable_area
10462         assumes that we are not in GC, we therefore have to make sure that
10463         this doesn't happen.
10464
10465 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10466
10467         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10468
10469 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10470
10471         * redisplay.c (regenerate_window): Make sure we set a sane value
10472         for end_pos even if we jump out of the loop.
10473         (regenerate_window): Answer Ben's question :-).
10474         (start_end_of_last_line): Add may_error argument.
10475         (start_of_last_line):
10476         (end_of_last_line): Pass may_error = 0.
10477         (end_of_last_line_may_error): New function.
10478         (pixel_to_glyph_translation): Use it, so we don't crash in
10479         event_to_glyph.
10480
10481 2000-03-04  Andy Piper  <andy@xemacs.org>
10482
10483         * window.h (struct window): add gutter_extent_modiff.
10484
10485         * window.c (allocate_window): zero out gutter_extent_modiff.
10486
10487         * redisplay.h: declare sync_display_line_structs.
10488
10489         * redisplay.c (add_glyph_rune): add a better comment.
10490
10491         * redisplay-output.c (sync_display_line_structs): made non-static.
10492         (compare_runes): remove unneccesary glyph cachel access.
10493
10494         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10495
10496         * gutter.c (output_gutter): don't output the gutter if extent
10497         changes only involve extents in buffers. use 4 sets of display
10498         lines.
10499         (gutter_extent_signal_changed_region_maybe): new function. Mark
10500         extents in gutters as changed.
10501         (update_frame_gutters): use 4 sets of display lines.
10502         (reset_gutter_display_lines): ditto.
10503         (free_frame_gutters): ditto.
10504         (redraw_exposed_gutter): force output of gutters.
10505
10506         * frame.h (struct frame): add 4 sets of gutter display lines.
10507
10508         * extents.c: (extent_changed_for_redisplay): signal changes to
10509         extents in strings in the gutter as well as extents in buffers.
10510
10511 2000-03-02  Andy Piper  <andy@xemacs.org>
10512
10513         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10514
10515         * frame.c (Fmake_frame): make sure the gutters get initialized
10516         after the frame is visible.
10517         (set_frame_selected_window): re-arrange compilation macros a
10518         little.
10519         (change_frame_size_1): mark gutters changed.
10520
10521         * device.c (Fset_device_class): mark gutters changed.
10522
10523 2000-03-01  Andy Piper  <andy@xemacs.org>
10524
10525         * window.c (window_top_frame_gutter_height): deleted.
10526         (window_bottom_frame_gutter_height): ditto.
10527         (window_left_frame_gutter_height): ditto.
10528         (window_right_frame_gutter_height): ditto.
10529         (window_top_gutter_height): don't use them.
10530         (window_bottom_gutter_height): ditto.
10531         (window_left_gutter_width): ditto.
10532         (window_right_gutter_width): ditto.
10533         (Fsplit_window): ditto.
10534         (Fwindow_pixel_edges): don't use border dimensions here.
10535
10536         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10537         (update_scrollbar_instance): ditto.
10538
10539         * redisplay.c (generate_modeline): don't take gutters into account.
10540         (generate_modeline): ditto.
10541         (redisplay_frame): small gutter display optimization.
10542
10543         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10544
10545         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10546         gutters into account.
10547
10548         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10549         for window position and type.
10550
10551         * gutter.c (get_gutter_coords): fix for frame gutters.
10552         (update_frame_gutters): update frame geometry if the gutters have
10553         changed.
10554         (init_frame_gutters): record current gutter geometries.
10555
10556         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10557         var.
10558         (mswindows_widget_instantiate): ditto.
10559
10560         * frame.h (struct frame): add current_gutter_bounds.
10561
10562         * frame.c (change_frame_size_1): position window and minibuffer
10563         appropriately taking into account the frame gutters.
10564
10565         * frame-x.c: (x_initialize_frame_size): take into account the
10566         frame gutters.
10567
10568 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10569
10570         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10571
10572 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10573
10574         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10575
10576 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10577
10578         * file-coding.c (reset_decoding_stream): Clear previous
10579         detection state when autodetect.
10580
10581 2000-02-29  Didier Verna  <didier@xemacs.org>
10582
10583         * extents.c (set_extent_glyph_1): don't require extents to be
10584         attached.
10585
10586 2000-02-27  Andy Piper  <andy@xemacs.org>
10587
10588         * gutter.c (Fset_default_gutter_position): don't default left and
10589         right gutter visibility to t.
10590         (Fset_default_gutter_position): run
10591         default-gutter-position-changed-hook.
10592         (syms_of_gutter): add default-gutter-position-changed-hook.
10593
10594 2000-02-26  Andy Piper  <andy@xemacs.org>
10595
10596         * specifier.c (Fmake_specifier): add gutter references.
10597
10598         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10599
10600         * lisp.h: declare Fvalid_plist_p.
10601
10602         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10603         as changed.
10604         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10605         well as its visibility so that it gets reconstructed.
10606         (construct_window_gutter_spec): new function. Construct a string
10607         to be displayed in the gutter from a plist of strings. Take care
10608         to only use elements that are declared as visible.
10609         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10610         WINDOW_GUTTER.
10611         (gutter_validate): allow plists of strings in the specifier.
10612         (gutter_specs_changed): construct the real_gutter from the gutter
10613         specs using construct_window_gutter_spec.
10614         (gutter_visible_validate): gutter-visible is a new specifier type.
10615         (Fgutter_visible_specifier_p): new function for the new specifier.
10616         (syms_of_gutter): declare gutter-visible and
10617         Fgutter_visible_specifier_p.
10618         (specifier_type_create_gutter): intitalize new gutter-visible
10619         specifier.
10620         (reinit_specifier_type_create_gutter): ditto.
10621         (specifier_vars_of_gutter): use new specifier type for gutter
10622         visibility.
10623         (init_frame_gutters): construct real_gutter correctly.
10624         (Fgutter_specifier_p): beef up documentation.
10625         (Fgutter_size_specifier_p): ditto.
10626
10627         * winslots.h: add real_gutter slots.
10628
10629 2000-02-25  Andy Piper  <andy@xemacs.org>
10630
10631         * device-msw.c: Be kind to older cygwin versions. From Raymond
10632         Toy <toy@rtp.ericsson.se>.
10633
10634         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10635         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10636
10637 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10638
10639         * elhash.c (MARK_OBJ): Practice macro hygiene.
10640
10641 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10642
10643         * miscplay.c: s/__inline__/inline/g;
10644         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10645         (get_device_compdc): INLINE ==> static inline
10646         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10647         find -name '*.h' | \
10648         xargs global-replace \
10649         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10650
10651 2000-02-25  Andy Piper  <andy@xemacs.org>
10652
10653         * window.c (window_top_frame_gutter_height): new function.
10654         (window_top_window_gutter_height): ditto.
10655         (window_top_gutter_height): use them.
10656         (window_bottom_frame_gutter_height): new function.
10657         (window_bottom_window_gutter_height): ditto.
10658         (window_bottom_gutter_height): use them.
10659         (window_left_window_gutter_width): new function.
10660         (window_left_frame_gutter_width): ditto.
10661         (window_left_gutter_width): use them.
10662         (window_right_window_gutter_width): new function.
10663         (window_right_frame_gutter_width): ditto.
10664         (window_right_gutter_width): use them.
10665         (window_pixel_height): new function. calulate window pixel height
10666         with frame gutter involvement.
10667         (Fsplit_window): calculate new sizes taking frame gutters into
10668         account.
10669         (window_char_height_to_pixel_height): don't include frame gutters.
10670         (window_char_height): use window_pixel_height.
10671         (window_pixheight): rename from window_pixel_height.
10672         (change_window_height): use it.
10673         (window_pixel_height_to_char_height): don't include frame gutters.
10674         (window_char_width_to_pixel_width): ditto.
10675
10676 2000-02-25  Andy Piper  <andy@xemacs.org>
10677
10678         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10679         if it is.
10680
10681 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10682
10683         * alloc.c (staticpro):
10684         (staticpro_nodump):
10685         (dumpstruct):
10686         (dumpopaque):
10687         (pdump_wire):
10688         (pdump_wire_list):
10689         (compact_string_chars):
10690         (pdump_dump_wired):
10691         Convert:  if (foo) abort();  ==>  assert (! foo);
10692
10693         * eldap.c (Fldap_search_basic):
10694         (Fldap_add):
10695         (Fldap_modify):
10696         (Fldap_delete):
10697         Fix compiler warnings, and possible crashes if (random) return
10698         value were to be used.
10699
10700 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10701
10702         * device-msw.c: Workaround ResetDC failure.
10703
10704         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10705         applying a devmode.
10706
10707         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10708         (mswindows_text_width): Do not start printer page.
10709
10710         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10711
10712         * glyphs-msw.c: Added image methods to msprinter console and
10713         msprinter-specific image instantiation.
10714
10715 2000-02-20  Mike Alexander  <mta@arbortext.com>
10716
10717         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10718         to avoid crashes when selection-sets-clipboard is on
10719         (mswindows_own_selection): ditto
10720
10721 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10722
10723         * glyphs-msw.c:
10724         * redisplay-msw.c (get_frame_dc):
10725         (get_frame_compdc):
10726         * console-msw.h:
10727         * device-msw.c (mswindows_init_device):
10728         (mswindows_delete_device):
10729         (msprinter_init_device):
10730         (msprinter_delete_device):
10731         * frame-msw.c (mswindows_init_frame_1):
10732         (mswindows_delete_frame):
10733         (msprinter_init_frame_3):
10734         (msprinter_delete_frame): Move compatible DC to device object from
10735         frame object, for both mswindows and msprinter. Only one at a time
10736         is needed, it is a real waste to have one per frame!
10737
10738 2000-02-23  Andy Piper  <andy@xemacs.org>
10739
10740         * glyphs.c: add dynamic width and height elements.
10741         (image_instance_equal): ditto.
10742
10743         * glyphs-widget.c (widget_query_geometry): calculate width and
10744         height dynamically if required.
10745         (initialize_widget_image_instance): initialize dynamic dimensions.
10746         (widget_instantiate): pick-up dynamic dimensions.
10747
10748         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10749         dynamic determination. Add appropriate macros.
10750
10751         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10752         dimensions safe.
10753         (WINDOW_GUTTER_SIZE): ditto.
10754         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10755
10756         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10757         inline.
10758         (get_frame_dc): ditto.
10759
10760         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10761         here.
10762
10763 2000-02-23  Martin Buchholz <martin@xemacs.org>
10764
10765         * XEmacs 21.2.31 is released.
10766
10767 2000-02-22  Ben Wing <ben@xemacs.org>
10768
10769         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10770
10771 2000-02-22  Andy Piper  <andy@xemacs.org>
10772
10773         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10774
10775 2000-02-21  Mike Sperber <mike@xemacs.org>
10776
10777         * .dbxrc:
10778         * .gdbinit:
10779         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10780         variables.
10781
10782 2000-02-21  Mike Sperber <mike@xemacs.org>
10783
10784         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10785
10786 2000-02-21  Martin Buchholz <martin@xemacs.org>
10787
10788         * XEmacs 21.2.30 is released.
10789
10790 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10791
10792         Performance hacking.
10793         * *.c (syms_of_*):
10794         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10795         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10796         * emacs.c (main_1):
10797         * lisp.h (DEFUN):
10798         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10799         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10800         * symeval.h (DEFVAR_SYMVAL_FWD):
10801         * symbols.c (guts_of_unbound_marker):
10802         Make all c_readonly objects also lisp_readonly and marked for life.
10803         * lrecord.h (struct lrecord_implementation):
10804         Document flags better.
10805         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10806         * lrecord.h (DECLARE_LRECORD):
10807         * lrecord.h (XSETRECORD):
10808         * lrecord.h (RECORDP):
10809         * lrecord.h (RECORD_TYPEP):
10810         * lrecord.h (RECORD_MARKER): New.
10811         * lrecord.h (error_check_*):
10812         * lrecord.h (CONCHECK_NONRECORD):
10813         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10814         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10815         * lrecord.h (set_lheader_implementation):
10816         * lrecord.h (enum lrecord_type): New.
10817         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10818         * alloc.c (disksave_object_finalization_1):
10819         * alloc.c (mark_object):
10820         * alloc.c (lrecord_type_index):
10821         * alloc.c (tick_lcrecord_stats):
10822         * alloc.c (Fgarbage_collect):
10823         * alloc.c (init_alloc_once_early):
10824         * alloc.c (pdump_load):
10825         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10826         * alloc.c (lrecord_type_index): Delete.
10827         Make lisp object type indexes be constant.
10828           Makes (byte-compile) 5% faster.
10829         Put all marker functions into their own array.
10830           Makes (garbage-collect) 5% faster.
10831         Optimize SYMBOL_VALUE_MAGIC_P.
10832           Makes (byte-compile) 2-3% faster.
10833         * config.h.in (gc_checking_assert): New.
10834         * alloc.c: Use gc_checking_assert().
10835         * .dbxrc: Make compatible with new object type implementation.
10836         * .gdbinit: Make compatible with new object type implementation.
10837         * alloc.c: Delete all symbols defined only for debugging, such as
10838         Lisp_Type_Vector and lrecord_charset.
10839
10840 2000-02-21  Andy Piper  <andy@xemacs.org>
10841
10842         * gui-msw.c (Fmswindows_shell_execute): fix file location
10843         problems.
10844
10845         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10846         unshowing so that set_window_buffer doesn't undo
10847         kill_buffer_hook's hard work.
10848
10849         * glyphs-widget.c (tab_control_query_geometry): don't count the
10850         first item when calculating geometry.
10851
10852         * glyphs.c (map_subwindow): remove redundant code.
10853         (update_frame_subwindows): be more circumspect about when to
10854         update subwindows.
10855
10856         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10857         when items haven't changed. Update faces if faces have changed as
10858         well as just the widget face.
10859         (x_tab_control_update): Update faces if faces have changed as well
10860         as just the widget face.
10861
10862 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10863
10864         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10865         registration.
10866         (build_syscolor_string): Use mswindows_color_to_string to try to
10867         get a named color.
10868         (mswindows_device_system_metrics): Reverse the foreground and
10869         background colors so that they match the documentation.
10870
10871         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10872         they match the default Windows palette.
10873         (mswindows_color_to_string): New function.
10874
10875 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10876
10877         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10878
10879 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10880
10881         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10882         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10883
10884         * symbols.c (init_symbols_once_early): Removed obsolete
10885         DATA_SEG_BITS related kludge.
10886         (defvar_magic): Ditto.
10887
10888         * malloc.c: Removed obsolete DATA_SEG_BITS
10889         * ralloc.c: Ditto.
10890         * mem-limits.h: Ditto.
10891
10892         * Makefile.in.in: Removed obsolete HAVE_SHM
10893         * emacs.c: Ditto.
10894
10895 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10896
10897         *  device-msw.c (mswindows_delete_device): Free DDE string
10898         handles.
10899
10900 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10901
10902         * keymap.c (get_keyelt):
10903         * unexnt.c (unexec):
10904         * vm-limit.c (memory_warnings):
10905         * ntheap.c (recreate_heap):
10906         * ntheap.h (UNINIT_PTR):
10907         * select-msw.c (Fmswindows_get_clipboard):
10908         (Fmswindows_set_clipboard):
10909         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10910         * objects-msw.c:
10911         * menubar-msw.c (displayable_menu_item):
10912         * glyphs-msw.c:
10913         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10914         * sysdep.c (sys_subshell):
10915         * process-nt.c (nt_create_process):
10916         * nt.c (normalize_filename):
10917         (dostounix_filename):
10918         (unixtodos_filename):
10919         * ntproc.c (win32_executable_type):
10920         * ntplay.c (play_sound_data_1):
10921         (play_sound_file):
10922         * editfns.c (get_home_directory):
10923         * event-msw.c (struct winsock_stream):
10924         (mswindows_dde_callback):
10925         * device-msw.c (msprinter_init_device):
10926         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10927
10928         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10929         mswindows_clear_toolbar were swapped!
10930
10931         * objects-msw.c:(colormap_t):
10932         (fontmap_t):
10933         * emacs.c (struct standard_args): Fixed const jumble.
10934
10935         * glyphs-widget.c (update_widget): Fixed comparison notation.
10936
10937         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10938
10939         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10940         __declspec(noreturn) syntax.
10941
10942 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10943
10944         * eldap.c (Fldap_open):
10945         (Fldap_search_basic):
10946         (Fldap_add):
10947         (Fldap_modify):
10948         Use new coding system conversion macros.
10949
10950 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10951
10952         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10953
10954 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10955
10956         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10957         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10958
10959         * eldap.c (Qadd, Qreplace): New constant symbols
10960         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10961         interruptions by XEmacs signals
10962         Remove unnecessary calls to slow_down_interrupts and
10963         speed_up_interrupts
10964         (Fldap_search_basic): Renamed from Fldap_search_internal
10965         Added new optional parameter VERBOSE that triggers the
10966         display of progress messages
10967         Remove unnecessary calls to slow_down_interrupts and
10968         speed_up_interrupts
10969         LDAP result code analysis rewritten
10970         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10971         (syms_of_eldap): Define the new symbols and functions
10972
10973
10974 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10975
10976         * realpath.c: Determine PATH_MAX maximally portably.
10977
10978         * insdel.c (bytecount_to_charcount): Optimize.
10979         The function used to be optimized for entirely ASCII sequences.
10980         Now it is optimized for successive characters from the same
10981         charset.  This also wins big for _mostly_ ASCII sequences.
10982
10983         * fileio.c (Ffile_truename): convert return from realpath() using
10984         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10985         - Rewrite GCPROing slightly.
10986
10987         * sysdep.c (sys_open): Do filename conversion, like all other
10988         sys_* functions.  Fixes bug:
10989         (let ((file-name-coding-system 'iso-8859-2))
10990            (write-region x y latin2-name))
10991         ==> writes filename using internal encoding.
10992
10993 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10994
10995         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10996         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10997         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10998         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10999         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11000         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11001         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11002         (CONST_IF_NOT_DEBUG): Delete.
11003         * alloc.c (this_one_is_unmarkable): Delete.
11004         (mark_object): Don't check for this_one_is_unmarkable. Use the
11005         c_readonly flag instead.
11006         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11007
11008 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11009
11010         * event-msw.c (mswindows_drain_windows_queue):
11011         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11012         away redundant repaint events.
11013
11014 2000-02-17  Andy Piper  <andy@xemacs.org>
11015
11016         * redisplay.h: declare mark_redisplay_structs.
11017
11018         * redisplay.c (redisplay_window):
11019         (redisplay_frame): don't check subwindows_state_changed.
11020         (mark_redisplay): mark gutters here.
11021
11022         * glyphs.c: (instantiate_image_instantiator): always layout if we
11023         haven't done so already.
11024         (allocate_image_instance): don't mark as dirty.
11025         (update_subwindow): bind inhibit_quit.
11026
11027         * gutter.c (mark_gutters): new function.
11028
11029         * glyphs-x.c (x_update_widget): Always resize to get round a
11030         widget bug.
11031
11032         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11033         breaking absolutely everything.
11034
11035         * gutter.h: declare mark_gutters.
11036
11037 2000-02-16  Martin Buchholz <martin@xemacs.org>
11038
11039         * XEmacs 21.2.29 is released.
11040
11041 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11042
11043         * fns.c (size_bit_vector): Fix computation of the size.
11044
11045 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11046
11047         * *.[ch]: Change CONST to const globally.
11048         find -name '*.[ch]' | \
11049         xargs global-replace \
11050         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11051         - Remove vestigial references to CONST_IS_LOSING
11052
11053 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11054
11055         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11056         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11057         events instead of dispatching them directly.
11058         (mswindows_handle_paint): New function to do repainting.
11059         (mswindows_wnd_proc):
11060         (emacs_mswindows_handle_magic_event): Call above function.
11061
11062 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11063
11064         * objects-msw.c (mswindows_create_font_variant): Return the new
11065         font handle.
11066         (initialize_font_instance): Get font metrics from the underlined
11067         variant of the font to cope with the case where the underlined
11068         font has a bigger descent.
11069
11070 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11071
11072         * gui.c (gui_item_accelerator): Return the first underlined
11073         character in item name.
11074
11075 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11076
11077         * lisp.h: Added Qprinter.
11078
11079         * general.c (syms_of_general): Initialized it.
11080
11081         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11082         (get_frame_dc):
11083         (get_frame_compdc): Made inline.
11084
11085         * console.h (struct console_methods): Added eject_page method.
11086
11087         * frame.h: Added FRAME_DISPLAY_P and friends.
11088         Aligned backslahes in many macros in more readable fashion.
11089         Added page_number to struct frame, and an accessor macro
11090         for it.
11091
11092         * defice.h: Added DEVICE_DISPLAY_P and friends.
11093
11094         * device.c (Fdevice_printer_p): Used these.
11095
11096         * frame.c (allocate_frame_core): Initialize page number.
11097         (Fprint_job_page_number):
11098         (Fprint_job_eject_page): Implemented.
11099
11100         * frame-msw.c (msprinter_eject_page): Added method.
11101         (msprinter_start_page): Added.
11102
11103         * window.c (Fwindow_truncated_p): Fixed docstring.
11104         (Fwindow_last_line_visible_height): Implemented.
11105
11106 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11107
11108         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11109
11110 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11111
11112         * syntax.c (scan_words): Always advance at least one character.
11113
11114 2000-02-13  Andy Piper  <andy@xemacs.org>
11115
11116         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11117         to make sure the glyph is in the cachels.
11118
11119         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11120         global image instance flag.
11121         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11122         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11123
11124         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11125         (Fset_image_instance_property): mark layout as changed.
11126         (invalidate_glyph_geometry_maybe): mark layout as changed.
11127         (glyph_width): use new NEEDS_LAYOUT macro.
11128         (glyph_ascent): ditto.
11129         (glyph_descent): ditto.
11130         (glyph_height): ditto.
11131         (image_instance_layout): mark layout as clean after laying out.
11132         (update_subwindow): don't mark layout as clean here.
11133
11134         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11135         should no longer be needed.
11136
11137         * glyphs-x.c (x_update_widget): sanitize asserts.
11138         (x_finalize_image_instance): sanitize assignment to widgets.
11139
11140         * glyphs-widget.c (widget_instantiate): don't need to clear the
11141         layout flag here.
11142
11143 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11144
11145         * sysdep.c (getcwd): Use standard prototype.
11146         * sysdep.h (getcwd): Use standard prototype.
11147
11148         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11149         (sequence, start, end).
11150         Remove redundant type checking.
11151         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11152         view of `caller-protects') to avoid a crash where the real fix was
11153         found elsewhere.
11154
11155 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11156
11157         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11158
11159         * s/sol2.h: Remove feature macro initialization.
11160
11161         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11162         (vector_hash): New.  Code from internal_hash.
11163         * lrecord.h:
11164         Fix up allocation subsystem comments.
11165
11166         * config.h.in: Add __EXTENSIONS__ for Solaris.
11167
11168         * systime.h (EMACS_GETTIMEOFDAY): New.
11169         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11170         Remove Solaris-specific code.
11171         Use void* for the (ignored) second arg for gettimeofday().
11172
11173         * elhash.c (hash_table_hash): Implement it, finally.
11174         * elhash.c:  Use hashcode_t.
11175
11176         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11177         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11178
11179         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11180         * fns.c (size_bit_vector):
11181         * alloc.c (size_vector):
11182         (make_vector_internal):
11183         (make_bit_vector_internal):
11184         (sweep_bit_vectors_1):
11185         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11186
11187 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11188
11189         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11190         Include strings.h to avoid warnings for bzero and strcasecmp.
11191
11192 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11193
11194         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11195         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11196
11197         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11198         sequence.
11199
11200 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11201
11202         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11203         use a value field instead.
11204         (symbol_value_forward_forward): Use value field.
11205         (DEFVAR_SYMVAL_FWD): Use value field.
11206         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11207         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11208         (DEFVAR_CONST_INT): Ditto.
11209         (DEFVAR_BOOL): Ditto.
11210         (DEFVAR_CONST_BOOL): Ditto.
11211         (DEFVAR_INT_MAGIC): Ditto.
11212         (DEFVAR_BOOL_MAGIC): Ditto.
11213
11214         * symbols.c (guts_of_unbound_marker): Use value field.
11215         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11216         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11217
11218         * lisp.h: Declare dumpopaque and noninteractive1.
11219
11220         * alloc.c (dumpopaque): Added.
11221         (pdump_dump_opaquevec): Added.
11222         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11223         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11224         noninteractive.
11225
11226 2000-02-10  Andy Piper  <andy@xemacs.org>
11227
11228         * glyphs.c (image_instance_layout): if the size changes, mark it
11229         as such.
11230
11231         * redisplay-output.c (redisplay_output_layout): Update the
11232         subwindow here.
11233         (redisplay_output_subwindow): ditto.
11234
11235         * glyphs.c (update_subwindow): make sure we reset flags for
11236         layouts as well as everything else.
11237
11238         * glyphs-widget.c (layout_layout): don't need to set the instances
11239         dimensions here.
11240
11241 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11242
11243         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11244         not HAVE_DLOPEN, which is a lower-level thing.
11245
11246         * .cvsignore: Ignore gmon.out
11247
11248 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11249
11250         * .cvsignore: Ignore portable dumper xemacs.dmp file
11251
11252 2000-02-09  Andy Piper  <andy@xemacs.org>
11253
11254         * redisplay-output.c (redisplay_output_layout): be more clever
11255         about when we output based on the changed flags.
11256
11257         * glyphs.h (struct image_instantiator_methods): add update_method.
11258         (struct Lisp_Image_Instance): add changed flags. Declare new
11259         macros for manipulating them.
11260
11261         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11262         (image_instance_parent_glyph): find an image_instance's parent
11263         glyph or image_instance.
11264         (image_instance_layout): mark the size as changed.
11265         (set_image_instance_dirty_p): new function. mark an image
11266         instance, plus all of its parents, as dirty.
11267         (Fset_image_instance_property): use it.
11268         (Fglyph_animated_timeout_handler): use it.
11269         (update_subwindow): call update_widget and device methods for
11270         update_subwindow. Mark all changed flags as clean.
11271         (Fresize_subwindow): mark size as changed.
11272
11273         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11274         failures.
11275         (x_update_subwindow): only resize subwindows here.
11276         (x_update_widget): new function. Update all changed properties of
11277         a widget.
11278         (x_resize_subwindow): deleted.
11279         (x_widget_set_property): deleted.
11280         (x_progress_gauge_set_property): deleted.
11281         (x_progress_gauge_update): new function. Implement recorded
11282         changes.
11283         (x_tab_control_update): ditto.
11284         (x_tab_control_set_property): deleted.
11285         (console_type_create_glyphs_x): declare new functions.
11286         (image_instantiator_format_create_glyphs_x): ditto.
11287
11288         * glyphs-widget.c (widget_set_property): mark text changed.
11289         (update_widget): new function. Update properties of a widget.
11290         (widget_instantiate): for layouts make sure we set their
11291         children's parent correctly.
11292         (tab_control_set_property): new function. Record changes that will
11293         take place under redisplay's control.
11294         (progress_gauge_set_property): ditto.
11295         (image_instantiator_progress_guage): declare new functions.
11296         (image_instantiator_tab_control): ditto.
11297
11298         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11299         now.
11300         (mswindows_update_widget): new function. Update all properties on
11301         a widget that have changed.
11302         (mswindows_button_update): new function. Update a button's set
11303         state.
11304         (mswindows_tab_control_update): new function. Update the items in
11305         a tab.
11306         (mswindows_tab_control_set_property): deleted.
11307         (mswindows_progress_gauge_update): new function. Update the
11308         progress gauge's progress.
11309         (mswindows_widget_set_property): deleted. This is all done
11310         asynchronously now.
11311         (mswindows_progress_gauge_set_property): ditto.
11312         (console_type_create_glyphs_mswindows): declare new methods.
11313         (image_instantiator_format_create_glyphs_mswindows): ditto.
11314
11315         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11316         (msprinter_set_frame_properties): ditto.
11317
11318         * console.h (struct console_methods): Add update_widget_method.
11319
11320 2000-02-09  Andy Piper  <andy@xemacs.org>
11321
11322         * gui-msw.c (Fmswindows_shell_execute): Make
11323         mswindows-shell-execute industrial strength.
11324
11325 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11326
11327         * lrecord.h: Make macro argument `props' match member function `plist'.
11328         * fns.c (Fget):
11329         * fns.c (Fput):
11330         * fns.c (Fremprop):
11331         * fns.c (Fobject_plist):
11332         * alloc.c:
11333         * symbols.c:
11334         Object property list frobbing cleanup.
11335         - Allow any lisp object (compared with `eq'), not just symbols, as
11336           keys in object plists.
11337         - Move symbol plist frobbing into symbols.c, where it belongs.
11338         - Move string plist frobbing into alloc.c, where it belongs.
11339         - Everything's an lrecord now, so no need to test for symbolp, etc.
11340         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11341
11342         * extents.c: Reorder code to remove declarations.
11343
11344         * frame.h (store_in_alist): Remove useless declaration.
11345
11346 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11347
11348         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11349         * config.h.in: Add HAVE_XCONVERTCASE.
11350
11351 2000-02-07  Andy Piper  <andy@xemacs.org>
11352
11353         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11354         it breaks many things.
11355
11356 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11357
11358         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11359         actually can start a common comment type.
11360         * src/syntax.h (SYNTAX_END_P): ditto for end.
11361
11362 2000-02-07  Martin Buchholz <martin@xemacs.org>
11363
11364         * XEmacs 21.2.28 is released.
11365
11366 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11367
11368         * event-Xt.c (x_keysym_to_character): New.
11369         (maybe_define_x_key_as_self_inserting_character): New.
11370         (x_has_keysym): New.
11371         Auto-define all keys on the keyboard as self-insert-key.
11372
11373 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11374
11375         * menubar.c (vars_of_menubar): A small code simplification.
11376
11377         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11378
11379         * ExternalShell.c:
11380         * ExternalClient.c:
11381         * EmacsShell-sub.c:
11382         * EmacsManager.c:
11383         * EmacsFrame.c:
11384         Use consistent style for specifying X resources.
11385
11386         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11387         This makes (dontusethis-set-symbol-value-handler) actually usable.
11388
11389         * lrecord.h (lrecord_decription_type):
11390         * alloc.c (pdump_register_sub):
11391         (pdump_dump_data):
11392         (pdump_reloc_one):
11393         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11394         Comply with XEmacs coding style.
11395         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11396         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11397
11398         * keymap.c (Faccessible_keymaps):
11399         Make (accessible-keymaps map "\C-h") do the Right Thing.
11400         Make (accessible-keymaps map []) do the Right Thing.
11401         Make (accessible-keymaps map "") do the Right Thing.
11402         (check_keymap_definition_loop): New function.
11403         (keymap_store_internal): Keep luser from shooting self in foot,
11404           via (define-key ctl-x-4-map "p" global-map).
11405         Remove fullness slot from struct Lisp_Keymap, since hash tables
11406         are now reliable.
11407         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11408
11409 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11410
11411         * redisplay.c (init_redisplay): Fix small memory leak.
11412         * elhash.h:
11413         * elhash.c (pdump_reorganize_hash_table):
11414         Rename from reorganize_hash_table. Change prototype.
11415         Reuse the original memory for hentries.  Save 100k.
11416         * alloc.c (PDUMP_READ): new macro.
11417         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11418         * alloc.c: No need to #ifndef before #undef.
11419
11420         * print.c: Allow debug_print() to print readably by modifying
11421         debug_print_readably.  Use consistent variable names.
11422
11423         * .dbxrc: Try to get things to work even if stopped in a function
11424         without source available by explicitly specifying source files.
11425 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11426
11427         * unexnt.c (_start): Removed bogus code which caused loading heap
11428         from differrent executable file.
11429         Removed bogus assignment to _fmode, which caused inconsistencies.
11430
11431 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11432
11433         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11434         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11435         Do not preliminary `#define signal sigset'.
11436
11437         * systime.h: Do not prototype environ on windows nt and cygwin,
11438         this conflicts with system header.
11439
11440         * syssignal.h: Use correct define for WINDOWSNT
11441
11442         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11443         with system header.
11444
11445         * sysdep.c (near start of file): Fixed commentary and rearranged
11446         ifdefs in readable order.
11447         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11448         (start_of_text):
11449         (end_of_text):
11450         (end_of_data): Do not compile in if using PDUMP.
11451
11452         * symsinit.h: Prototyped vars_of_nt().
11453
11454         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11455         (find_child_console): Use it.
11456         (sys_kill): Use it.
11457
11458         * ntheap.h: Do not extern os_subtype.
11459
11460         * ntheap.c (cache_system_info): Do not cache unneeded:
11461         nt_major_version, nt_minor_version and os_subtype.
11462         (recreate_heap): Do not compile in when PDUMPing.
11463
11464         * nt.c (geteuid and friends): Use the new varibale
11465         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11466         (init_user_info): Removed the above mentioned hackery.
11467         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11468         stat has been fixed in the C runtime.
11469         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11470
11471         * file-coding.c (struct file_coding_dump): Do not define
11472         ucs_to_mule_table in the struct if not MULE.
11473         (struct struct lrecord_description fcd_description_1): Do not dump
11474         the above.
11475
11476         * emacs.c (main_1): Call vars_of_nt().
11477         (right before Fdump_emacs_data): Don't need lastfile if using both
11478         portabe dumper and system malloc.
11479
11480         * alloc.c (Fmemory_limit): Conditionalized out.
11481         (pdump): Use OPEN_BINARY for the portable dump file.
11482         (pdump_load): Ditto.
11483
11484 2000-02-02  Mike Alexander  <mta@arbortext.com>
11485
11486         * nt.c (convert_time): Set tm_isdst before calling mktime and
11487         avoid calling it at all if the compiler supports 64 bit integers.
11488         Also initialize utc_base_ft before using it.
11489
11490 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11491
11492         * frame.c (change_frame_size_1): Take f->internal_border_width
11493         into consideration when calculating the width of the frame.
11494
11495 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11496
11497         * window.c (frame_min_height):
11498         (frame_size_valid_p):
11499         (frame_pixsize_valid_p): Added.
11500         (check_frame_size): Generalized.
11501
11502         * window.h: Prototyped the above.
11503
11504         * lisp.h:
11505         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11506         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11507         Deleted Vwin32_* and Vbinary_process_* unused variables.
11508
11509         * device-msw.c (msprinter_init_device): Do not get printer font
11510         list; Added DEVMODE functions.
11511
11512         * frame-msw.c: Added lots of printer code.
11513
11514         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11515         general.c.
11516
11517         * console-msw.h: Added more msprinter device private slots.
11518
11519 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11520
11521         * event-msw.c (key_needs_default_processing_p): Added.
11522         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11523
11524 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11525
11526         * glyphs.c (image_instance_layout): Mark image instance as clean
11527         after layout.
11528         (glyph_dirty_p): Removed redundant function.
11529         (invalidate_glyph_geometry_maybe): Added.
11530         (update_glyph_cachel_data): Call it.
11531
11532         * glyphs.h: Prototyped it.
11533
11534         * redisplay.c (add_glyph_rune): Call it.
11535         (redisplay_window): Reset glyphs cachels when frame faces have
11536         changed, thus forcing recomputation of built-in border glyphs.
11537
11538 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11539
11540         * Makefile.in.in: Make portable dumper and purify play well together.
11541         Add imperfect, but better than nothing, support for pdump.
11542         Remove xemacs.dmp when temacs is re-generated.
11543         Don't ignore errors when dumping xemacs.
11544
11545         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11546
11547 2000-01-28  Andy Piper  <andy@xemacs.org>
11548
11549         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11550         (setup_normal_frame): ditto.
11551         (setup_frame_without_minibuffer): ditto.
11552         (setup_minibuffer_frame): ditto.
11553         (delete_frame_internal): ditto.
11554         (Fmake_frame_invisible): ditto.
11555         (Ficonify_frame): ditto.
11556
11557         * window.h: change Fset_window_buffer signature.
11558
11559         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11560         (Fset_window_buffer): allow recording of buffer if the window is
11561         the selected window.
11562         (window_loop): Use new Fset_window signature.
11563
11564 2000-01-23  Daniel Pittman  <daniel@danann.net>
11565
11566         * config.h.in: Added template for `HAVE_ATHENA_3D'
11567
11568 2000-01-29  Andy Piper  <andy@xemacs.org>
11569
11570         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11571
11572         * gutter.c (output_gutter): Don't output if the window isn't live.
11573
11574 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11575
11576         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11577         of 01/12/00: Moved SetFocus back here where it belongs.
11578
11579 2000-01-23  Andy Piper  <andy@xemacs.org>
11580
11581         * s/cygwin32.h: declare printer things.
11582
11583 2000-01-26  Andy Piper  <andy@xemacs.org>
11584
11585         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11586         Alexander.
11587
11588 2000-01-24  Andy Piper  <andy@xemacs.org>
11589
11590         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11591         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11592
11593         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11594
11595         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11596
11597         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11598
11599         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11600         (mswindows_output_display_block): Avoid local shadows.
11601
11602         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11603         (mswindows_enqueue_mouse_button_event): ditto.
11604         (mswindows_handle_gui_wm_command): remove declaration.
11605
11606         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11607         warnings.
11608
11609         * console-msw.h: Avoid shadows.
11610         (mswindows_get_toolbar_button_text):
11611         (emacs_mswindows_create_stream_pair):
11612         (emacs_mswindows_delete_stream_pair):
11613         (mswindows_handle_toolbar_wm_command): declare.
11614
11615         * device-msw.c (build_syscolor_string): Avoid shadows.
11616
11617 2000-01-23  Andy Piper  <andy@xemacs.org>
11618
11619         * glyphs-widget.c (widget_instantiate): reverse the items for
11620         layouts so that children are in the expected order.
11621
11622 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11623
11624         * ralloc.c: safe_bcopy ==> memmove
11625         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11626         * s/msdos.h: Remove BCOPY macros.
11627         * insdel.c (gap_right): Remove BCOPY conditional code.
11628         * insdel.c (gap_left): Remove BCOPY conditional code.
11629         XEmacs demands a working ANSI C compiler - hence memmove.
11630
11631         * regex.c (regex_compile): Remove accidental use of trigraphs.
11632
11633 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11634
11635         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11636         event timestamp.
11637
11638 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11639
11640         * event-msw.c (mswindows_drain_windows_queue): Added the
11641         parameter.
11642         (mswindows_need_event): Commented the call to
11643         mswindows_drain_windows_queue().
11644         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11645         only.
11646
11647         * console-msw.h: Moved a few function prototypes here from
11648         event-msw.c.
11649
11650         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11651         parameter from unsigned short to unsigned long.
11652         (Fmswindows_shell_execute): Added return value.
11653
11654 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11655
11656         * sysdep.c (init_system_name):
11657           process-unix.c (unix_canonicalized_host_name):
11658         Don't call freeaddrinfo() if getaddrinfo() fails.
11659
11660         * process-unix.c (unix_open_unix_network_stream):
11661         Moved the code to get a port # into address loop.
11662
11663 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11664
11665         * buffer.c (reinit_vars_of_buffer):
11666         The right place to initialize conversion_in_dynarr and
11667         conversion_out_dynarr.
11668
11669         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11670
11671         * process-unix.c (unix_canonicalize_host_name): Muleize.
11672         (unix_open_network_stream): Muleize.
11673
11674         * buffer.h: Fix up prototypes for ralloc.c functions.
11675
11676 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11677         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11678         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11679                 instead of gethostbyname()
11680         * process-unix.c: In unix_canonicalize_host_name() and
11681                 unix_open_network_stream(), add code to use getaddrinfo()
11682                 instead of gethostbyname().
11683
11684 2000-01-27  Daniel Pittman <daniel@danann.net>
11685
11686         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11687         libs when built with flat Athena.
11688
11689 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11690
11691         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11692         Use coding standards for function prototypes.
11693
11694 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11695
11696         * dialog-msw.c (push_lisp_string_as_unicode):
11697         * doc.c (unparesseuxify_doc_string):
11698         * dired.c (Fuser_name_completion_1):
11699         * dired.c (Fuser_name_all_completions):
11700         * dired.c (free_user_cache):
11701         * dired.c (user_name_completion):
11702         * console-x.c (get_display_arg_connection):
11703         * minibuf.c (clear_echo_area_internal):
11704         * minibuf.c (echo_area_append):
11705         * eldap.c (Fldap_open):
11706         * eldap.c (Fldap_search_internal):
11707         * frame-x.c (x_set_frame_text_value):
11708         * frame-x.c (x_set_frame_properties):
11709         * frame-x.c (x_create_widgets):
11710         * redisplay-tty.c (term_get_fkeys_1):
11711         * objects-x.c (x_parse_nearest_color):
11712         * objects-x.c (x_valid_color_name_p):
11713         * objects-x.c (x_initialize_font_instance):
11714         * objects-x.c (x_list_fonts):
11715         * objects-x.c (x_find_charset_font):
11716         * tooltalk.c (Fadd_tooltalk_message_arg):
11717         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11718         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11719         * process-unix.c (unix_create_process):
11720         * ntproc.c (sys_spawnve):
11721         * sound.c (Fplay_sound_file):
11722         * sound.c (Fplay_sound):
11723         * buffer.c (init_initial_directory):
11724         * buffer.c (init_buffer):
11725         * editfns.c (init_editfns):
11726         * editfns.c (Ftemp_directory):
11727         * editfns.c (Fuser_full_name):
11728         * editfns.c (uncache_home_directory):
11729         * editfns.c (get_home_directory):
11730         * editfns.c (Fuser_home_directory):
11731         * editfns.c (Fformat_time_string):
11732         * editfns.c (Fcurrent_time_string):
11733         * gui-x.c (button_item_to_widget_value):
11734         * database.c (Fopen_database):
11735         * event-Xt.c (x_to_emacs_keysym):
11736         * event-Xt.c (x_event_to_emacs_event):
11737         * event-Xt.c (describe_event_window):
11738         * event-msw.c (mswindows_wnd_proc):
11739         * glyphs-eimage.c (jpeg_instantiate):
11740         * glyphs-eimage.c (gif_instantiate):
11741         * glyphs-eimage.c (png_instantiate):
11742         * glyphs-eimage.c (tiff_instantiate):
11743         * glyphs-x.c (xbm_instantiate_1):
11744         * glyphs-x.c (x_xbm_instantiate):
11745         * glyphs-x.c (x_xface_instantiate):
11746         * glyphs-x.c (autodetect_instantiate):
11747         * glyphs-x.c (cursor_font_instantiate):
11748         * glyphs-x.c (x_widget_instantiate):
11749         * glyphs-x.c (x_widget_set_property):
11750         * glyphs-x.c (x_widget_property):
11751         * glyphs-x.c (BUILD_GLYPH_INST):
11752         * print.c (write_string_to_stdio_stream):
11753         * print.c (output_string):
11754         * print.c (Falternate_debugging_output):
11755         * print.c (Fexternal_debugging_output):
11756         * glyphs-msw.c (extract_xpm_color_names):
11757         * glyphs-msw.c (mswindows_xpm_instantiate):
11758         * glyphs-msw.c (bmp_instantiate):
11759         * glyphs-msw.c (resource_name_to_resource):
11760         * glyphs-msw.c (mswindows_resource_instantiate):
11761         * glyphs-msw.c (xbm_instantiate_1):
11762         * glyphs-msw.c (mswindows_xbm_instantiate):
11763         * glyphs-msw.c (mswindows_xface_instantiate):
11764         * glyphs-msw.c (mswindows_widget_instantiate):
11765         * glyphs-msw.c (add_tree_item):
11766         * glyphs-msw.c (add_tab_item):
11767         * glyphs-msw.c (mswindows_combo_box_instantiate):
11768         * glyphs-msw.c (mswindows_widget_property):
11769         * glyphs-msw.c (mswindows_combo_box_property):
11770         * glyphs-msw.c (mswindows_widget_set_property):
11771         * console.c (stuff_buffered_input):
11772         * objects-msw.c (mswindows_initialize_color_instance):
11773         * objects-msw.c (mswindows_valid_color_name_p):
11774         * objects-msw.c (mswindows_list_fonts):
11775         * objects-msw.c (mswindows_font_instance_truename):
11776         * bytecode.c (optimize_compiled_function):
11777         * select-x.c (symbol_to_x_atom):
11778         * select-x.c (x_atom_to_symbol):
11779         * select-x.c (hack_motif_clipboard_selection):
11780         * select-x.c (selection_data_to_lisp_data):
11781         * select-x.c (lisp_data_to_selection_data):
11782         * select-x.c (Fx_get_cutbuffer_internal):
11783         * select-x.c (Fx_store_cutbuffer_internal):
11784         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11785         * buffer.h (TO_INTERNAL_FORMAT): New function.
11786         * emacs.c (make_arg_list_1):
11787         * emacs.c (make_argc_argv):
11788         * emacs.c (main_1):
11789         * emacs.c (Fdump_emacs):
11790         * emacs.c (split_string_by_emchar_1):
11791         * file-coding.h:
11792         * lisp.h:
11793         * lstream.h:
11794         * symsinit.h:
11795         * device-x.c (x_init_device):
11796         * device-x.c (Fx_valid_keysym_name_p):
11797         * device-x.c (Fx_get_font_path):
11798         * device-x.c (Fx_set_font_path):
11799         * glyphs.c (bitmap_to_lisp_data):
11800         * glyphs.c (pixmap_to_lisp_data):
11801         * alloc.c (make_ext_string): Use coding system arguments.  Update
11802         all callers.
11803         * alloc.c (build_string):
11804         * callproc.c (child_setup):
11805         * callproc.c (init_callproc):
11806         * fileio.c (lisp_strerror):
11807         * fileio.c (directory_file_name):
11808         * fileio.c (Fexpand_file_name):
11809         * fileio.c (Ffile_truename):
11810         * fileio.c (Fsysnetunam):
11811         * fileio.c (Fdo_auto_save):
11812         * sysdep.c (sys_readdir):
11813         * tests.c: New file.  Allow adding C tests.
11814         Replace GET_* macros with a more comprehensible and flexible
11815         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11816         Modify all calls.
11817         Any coding system can be used to do format conversion.
11818         Eliminate enum external_data_format.
11819         Eliminate convert_to_external_format.
11820         Eliminate convert_to_internal_format.
11821         Make sure file-name, keyboard, terminal, and ctext are always
11822         defined as coding systems or aliases.  Make
11823         file-name-coding-system, terminal-coding-system, and
11824         keyboard-coding-system magical variables that are equivalent to
11825         defining the corresponding coding system aliases.
11826
11827         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11828         * file-coding.c (Fcoding_system_alias_p): New function.
11829         * file-coding.c (Fcoding_system_aliasee): New function.
11830         * file-coding.c (append_suffix_to_symbol): New function.
11831         * file-coding.c (dangling_coding_system_alias_p): New function.
11832         * file-coding.c (Ffind_coding_system):
11833         * file-coding.c (Fcopy_coding_system):
11834         * file-coding.c (encode_coding_no_conversion):
11835         * file-coding.c (syms_of_file_coding):
11836         * file-coding.c (vars_of_file_coding):
11837         Rewrite coding system alias code.
11838         Allow nested aliases, like symbolic links.
11839         Allow redefinition of coding system aliases.
11840         Prevent existence of dangling coding system aliases.
11841
11842         * dired.c (Fuser_name_completion_1):
11843         * dired.c (Fuser_name_all_completions):
11844         A crash would happen if user did QUIT in the middle of building
11845         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11846
11847         * lisp.h:
11848         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11849
11850         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11851         an unsigned char *.  Update all callers.
11852
11853 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11854
11855         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11856
11857 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11858
11859         * elhash.c (hentry_description): Use more portable definition.
11860         (resize_hash_table): Initialize new hentries using
11861         xnew_array_and_zero, thereby simplifying the code.
11862
11863         * mule-charset.c (make_charset): Make sure entire object is
11864         initialized, to avoid Purify warnings.
11865
11866         * alloc.c (resize_string): Fix unlikely crash with big strings.
11867
11868 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11869
11870         * realpath.c (xrealpath):
11871         Don't call getwd().
11872
11873 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11874
11875         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11876
11877 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11878
11879         * unexelfsgi.c (unexec): Change the way we decide which segment
11880         should be extended.
11881
11882         Assumption that .bss section should be outside the PT_LOADable
11883         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11884         it's present) is inside the 'data' segment. This would fail the
11885         test which was used to find a segment to grow and cover new
11886         heap. Instead of this assumption, I created another one - on IRIX
11887         the segment to grow should start below .bss and it's address
11888         should extent above the end of .bss. Once this segment is
11889         identified, it's grown to accommodate the new heap and new
11890         zero-length .bss section is added at the end of .data2.
11891
11892 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11893
11894         * eval.c (Feval): Wrong number of arguments should use original
11895         function, not the indirect_function version of it.
11896
11897 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11898
11899         * glyphs-x.c (x_button_instantiate): Don't add image if
11900         it is not a pixmap.
11901         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11902         is relative.
11903
11904 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11905
11906         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11907         declaration.
11908         (DEFVAR_INT_MAGIC): Ditto.
11909         (DEFVAR_BOOL_MAGIC): Ditto.
11910         * glyphs.h: Reindent backslash.
11911
11912 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11913
11914         * glyphs-widget.c (layout_query_geometry):
11915         (layout_layout): Use correct types for gheight, gwidth.
11916
11917 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11918
11919         * EmacsManager.c (QueryGeometry): Purified.
11920
11921 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11922
11923         * alloc.c (make_float): Make sure entire object is initialized, to
11924         avoid Purify warnings.
11925         (pdump_register_sub): Remove useless assignment.
11926         (pdump): Use xmalloc, not malloc.
11927         (pdump_load): Use xmalloc, not malloc.
11928
11929 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11930
11931         * callproc.c:
11932         * dired-msw.c:
11933         * fileio.c:
11934         * process-nt.c:
11935         * redisplay-msw.c:
11936         * sysdep.c: Removed redundant #include <windows.h>
11937
11938 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11939
11940         * frame.c (delete_frame_internal): Do not delete device when its
11941         implementation so declares.
11942         (delete_frame_internal): Set device selected frame to nil when
11943         last frame goes away.
11944
11945         * device-msw.c (msprinter_device_system_metrics): Implemented.
11946         (mswindows_device_system_metrics): Added 'device-dpi property.
11947
11948         * device.c: (Fdevice_printer_p): Added.
11949         Added 'offset-workspace device metric.
11950
11951         * console.h (device_metrics): Declared DM_offset_workspace.
11952
11953 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11954
11955         * fileio.c (Ffile_truename): Remove pointless and confusing
11956         initialization of elen.
11957
11958         * glyphs-widget.c: Compiler warning fixes.
11959
11960 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11961
11962         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11963         instead of a Lisp_Object as argument to make it consistent with
11964         the other LIVE_P macros.
11965         (CHECK_LIVE_PROCESS): New macro.
11966
11967         * process.c: Declare Qprocess_live_p.
11968         (Fprocess_live_p): New function.
11969         (create_process): Use PROCESS_LIVE_P.
11970         (read_process_output): Ditto.
11971         (set_process_filter): Ditto.
11972         (Fdelete_process): Ditto.
11973         (kill_buffer_processes): Ditto
11974         (process_send_signal): Use CHECK_LIVE_PROCESS.
11975         (Fprocess_input_coding_system): Check whether process is still
11976         alive (fix PR#1061).
11977         (Fprocess_output_coding_system): Ditto.
11978         (Fprocess_coding_system): Ditto.
11979         (Fset_process_input_coding_system): Ditto.
11980         (Fset_process_output_coding_system): Ditto.
11981
11982 2000-01-23  Andy Piper  <andy@xemacs.org>
11983
11984         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11985         layout and widget.
11986
11987         * glyphs.c (mark_image_instance): take into account changed
11988         image_instance format.
11989         (image_instance_equal): ditto.
11990         (image_instance_hash): ditto.
11991
11992         * glyphs-widget.c (widget_instantiate): Incorporate layout
11993         instantiation here. Delay layout of the layout until later.
11994         (layout_instantiate): deleted.
11995         (layout_query_geometry): new function. get the geometry of a
11996         layout.
11997         (layout_layout): layout a layout dynamically.
11998         (image_instantiator_widget): New function - splitting up
11999         image_instantiator_format_create_glyphs_widget for netwinder
12000         compilation.
12001         (image_instantiator_buttons):
12002         (image_instantiator_edit_fields):
12003         (image_instantiator_combo_box):
12004         (image_instantiator_scrollbar):
12005         (image_instantiator_progress_guage):
12006         (image_instantiator_tree_view):
12007         (image_instantiator_tab_control):
12008         (image_instantiator_labels):
12009         (image_instantiator_layout): ditto.
12010         (image_instantiator_format_create_glyphs_widget): Call preceding
12011         functions.
12012
12013 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12014
12015         * process.c (Fset_process_coding_system):
12016         * device-x.c (Fx_keysym_hash_table):
12017         Docstring fixes.
12018
12019         * lstream.c (Lstream_write): Return documented value, not 0.
12020
12021         * fileio.c (directory_file_name):
12022         (Fsubstitute_in_file_name):
12023         (Fsubstitute_insert_file_contents_internal):
12024         (Fwrite_region_internal):
12025         * emacs.c:
12026         * sysdep.c:
12027         * getloadavg.c:
12028         * systty.h:
12029         Remove vestigial APOLLO-conditional code.
12030
12031 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12032
12033         * getpagesize.h: Add guard macros.
12034         * libsst.h: Add guard macros.
12035         * libst.h: Add guard macros.
12036         * line-number.h: Add guard macros.
12037         * ndir.h: Add guard macros.
12038         * sysfloat.h: Add guard macros.
12039         * sysfile.h: Add guard macros.
12040         * sysproc.h: Add guard macros.
12041         * syswait.h: Add guard macros.
12042         * xintrinsic.h: Add guard macros.
12043         * xintrinsicp.h: Add guard macros.
12044         * xmmanager.h: Add guard macros.
12045         * xmmanagerp.h: Add guard macros.
12046         * xmprimitive.h: Add guard macros.
12047         * xmu.h: Add guard macros.
12048         * gpmevent.h: Add copyright statement. Add guard macros.
12049         * miscplay.h: Add guard macros.
12050         * *.h: Use consistent C-standards-approved guard macro names.
12051
12052         * opaque.c (make_opaque): Switch parameter order.
12053         * opaque.h (make_opaque): Switch parameter order.
12054         Update all callers.
12055         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12056
12057         * config.h.in (type_checking_assert): Added.
12058         (bufpos_checking_assert): Added.
12059
12060 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12061
12062         * alloc.c: Harmless pdump changes.
12063         - Use countof().
12064         - spell alignment correctly.
12065         * sysdep.c: Use countof()
12066
12067 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12068
12069         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12070         initially_selected_for_input() console method, default to 0.
12071         (semi_canonicalize_console_connection): Try to delegate to
12072         canonicalize_console_connection if no such console method.
12073         (canonicalize_console_connection): Vice versa.
12074         (print_console): Do not print nil connection.
12075
12076         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12077         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12078         (XDEVIMPF_FRAMELESS_OK): Added.
12079         (CONSOLE_INHERITS_METHOD): Added.
12080
12081         * console-msw.c (mswindows_canonicalize_console_connection):
12082         Added.
12083         (mswindows_canonicalize_device_connection): Added.
12084
12085         * console-msw.h (struct msprinter_device): Added this struct and
12086         accessor macros.
12087         (mswindows_device): Made fontlist a lisp object.
12088
12089         * device.c (semi_canonicalize_device_connection):  Try to delegate
12090         to canonicalize_device_connection if no such console method.
12091         (canonicalize_device_connection): Vice versa.
12092         (print_device): Do not print nil connection.
12093
12094         * device-msw.c (mswindows_init_device): Call InitCommonControls
12095         when have widgets.
12096         (mswindows_delete_device): Removed fontlist deallocation.
12097         (mswindows_mark_device): Added.
12098
12099         * events.c (event_equal): Added abort() at unreached code.
12100         (event_hash): Ditto.
12101
12102         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12103         fallback tags of Windows devices.
12104
12105         * general.c (syms_of_general): Initialized Qmsprinter.
12106
12107         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12108         of fallback tags of Windows devices.
12109
12110         * lisp.h: Declared Qmsprinter.
12111
12112         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12113         of strings.
12114         (mswindows_list_fonts): Ditto.
12115         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12116         that it can be used by both mswindows and msprinter devices.
12117         (initialize_font_instance): Added.
12118         (mswindows_initialize_font_instance): Use it.
12119         (msprinter_initialize_font_instance): Added.
12120
12121         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12122         and implementation flags check.
12123         (redisplay_without_hooks): Changed the call to the above.
12124         (Fredraw_device): Ditto.
12125         (Fredisplay_device): Ditto.
12126
12127         * redisplay-msw.c (get_frame_dc): Implemented.
12128         (get_frame_compdc): Implemented.
12129         (many functions): Use the two functions above to get device
12130         contexts, ether for a window or a printer.
12131
12132 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12133
12134         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12135         initialization here.
12136         (init_symbols_once_early): Call it.
12137         * emacs.c (main_1): Call it.
12138         * symsinit.h: Declare it.
12139
12140 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12141
12142         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12143         Lisp_Object.
12144         (pdump_backtrace): Ditto.
12145         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12146         (pdump_get_entry): Abort if trying to register a null pointer.
12147         (pdump_dump_data): Cleanup types when relocating.
12148         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12149         (pdump_dump_rtables): Remove bad casts.
12150         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12151         Lisp_Object instead of a EMACS_INT for the hashtable
12152         reorganization.
12153
12154 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12155
12156         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12157
12158         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12159
12160         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12161
12162         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12163
12164 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12165
12166         * faces.h (FACE_STRIKETHRU_P): Added.
12167
12168         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12169         of font variants.
12170
12171         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12172         (mswindows_set_dc_font): New function, aware of font variants,
12173         separated from mswindows_update_dc.
12174
12175         * objects-msw.h (struct mswindows_font_instance_data): Added
12176         definition.
12177
12178         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12179         cached fonts and the data structure.
12180         (mswindows_initialize_font_instance): Added creation of font data
12181         structure.
12182         (mswindows_print_font_instance): Print at least something.
12183         (mswindows_create_font_variant): Implemented.
12184         (mswindows_get_hfont): Implemented.
12185
12186 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12187
12188         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12189         prototyping problem with msvc.
12190
12191         * emacs.c (main_1): added syms_of_gui_mswindows() call
12192
12193         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12194         syms_of_gui_mswindows() function
12195
12196         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12197
12198 2000-01-18  Martin Buchholz <martin@xemacs.org>
12199
12200         * XEmacs 21.2.27 is released.
12201
12202 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12203
12204         * glyphs-eimage.c (struct tiff_error_struct):
12205         (tiff_error_func):
12206         (tiff_warning_func):
12207         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12208
12209         * unexmips.c:
12210         * unexhp9k3.c:
12211         * unexfreebsd.c:
12212         * unexec.c: Remove vestigial Lucid C code.
12213         * unexalpha.c:
12214         * unexaix.c:
12215         * termcap.c:
12216         * libsst.c: Ansify.
12217         Remove declarations of errno and strerror().
12218
12219         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12220
12221         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12222
12223 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12224
12225         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12226         Optimize.
12227
12228 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12229
12230         * md5.c:
12231         * file-coding.c:
12232         * file-coding.h:
12233         Change enum eol_type to eol_type_t.
12234
12235 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12236
12237         * gui.c (get_gui_callback): Check cons before accessing car.
12238
12239 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12240
12241         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12242         (XSETSPECIFIER_TYPE): Ditto.
12243
12244 2000-01-17  Didier Verna  <didier@xemacs.org>
12245
12246         * redisplay.c (generate_fstring_runes): compute string size in
12247         characters, not bytes.
12248
12249 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12250
12251         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12252
12253 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12254
12255         * print.c (print_error_message): Call print_prepare().
12256
12257 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12258
12259         * .dbxrc: Renamed from dbxrc.
12260
12261         * events.c (event_to_character):
12262         Use `assert (foo)' instead of `if (!foo) abort()'
12263
12264         * .gdbinit (xtype): Add documentation.
12265         * .gdbinit (check-temacs): New function.
12266         * .gdbinit (check-xemacs): New function.
12267         * dbxrc (check-xemacs): New function.
12268         * dbxrc (check-xemacs): New function.
12269
12270 2000-01-14  Andy Piper  <andy@xemacs.org>
12271
12272         * glyphs-widget.c (widget_query_geometry): Make sure that we
12273         calculate default dimensions correctly.
12274
12275 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12276
12277         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12278
12279         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12280         pdump_wire'd variable.
12281
12282         * emacs.c: (main_1): Conditionalized calls to
12283         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12284
12285 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12286
12287         * window.c (Fset_window_configuration):
12288         * sysdep.c (_start):
12289         * input-method-motif.c (res):
12290         * event-Xt.c (Xt_process_to_emacs_event):
12291         Simple compiler warning fixes.
12292
12293         * bytecode.c (funcall_compiled_function): Use the original
12294         function symbol on the backtrace list in preference to the
12295         compiled_function object in error messages.
12296
12297 2000-01-13  Andy Piper  <andy@xemacs.org>
12298
12299         * glyphs-x.c (update_widget_face): Make sure we update the widget
12300         background as well as foreground.
12301
12302 2000-01-13  Andy Piper  <andy@xemacs.org>
12303
12304         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12305         fields to subwindow.
12306         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12307         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12308         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12309         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12310
12311         * glyphs-widget.c (check_valid_tab_orientation): new function.
12312         (initialize_widget_image_instance): zero orientation and
12313         justification.
12314         (widget_instantiate): pick up orientation.
12315         (tab_control_query_geometry): return appropriate values for
12316         vertical tabs.
12317
12318         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12319         appropriate creation flags for left, right and bottom tabs.
12320
12321         * s/cygwin32.h: add tab definitions.
12322
12323 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12324
12325         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12326         frame upon hiding a subwindow.
12327         (mswindows_button_instantiate): Changed the push button style to
12328         BS_PUSHBUTTON.
12329         (mswindows_button_instantiate): Removed button BS_NOTIFY
12330         style.
12331         (mswindows_button_instantiate): Removed redundant check for
12332         a disabled gui item.
12333         (mswindows_button_instantiate): Made use of WS_TABSTOP
12334         consistent: "operable" controls (edit, button, tree, scroll) have
12335         this style, "display-only" ones (static, progress gauge) do
12336         not. This style is currently ignored by XEmacs though. Also,
12337         removed the WS_EX_CONTROLPARENT style - it is not for children,
12338         it is for their parents!
12339         (mswindows_edit_field_instantiate): Ditto.
12340         (mswindows_progress_gauge_instantiate): Ditto.
12341         (mswindows_tree_view_instantiate): Ditto.
12342         (mswindows_tab_control_instantiate): Ditto.
12343         (mswindows_scrollbar_instantiate): Ditto.
12344         (mswindows_combo_box_instantiate): Ditto.
12345         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12346         style to the "clip" window.
12347         (mswindows_button_instantiate): Removed compilation warning by
12348         equally typing terms of the ?: operator.
12349
12350 2000-01-12  Didier Verna  <didier@xemacs.org>
12351
12352         * redisplay.c (generate_fstring_runes): new parameter holding the
12353         last modeline-format extent.
12354         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12355         extent, fill the glyph block with it.
12356         (generate_fstring_runes): handle these parameters.
12357         (generate_formatted_string_db): ditto.
12358
12359         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12360         glyphs'extents in the modeline.
12361
12362 1999-01-11  Mike Woolley  <mike@bulsara.com>
12363
12364         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12365         256Mb, as a workaround for the non-starting problem many people
12366         have experienced.
12367
12368 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12369
12370         * console-tty.c (Fset_console_tty_output_coding_system):
12371         Force redrawing tty frame.
12372
12373 2000-01-10  Didier Verna  <didier@xemacs.org>
12374
12375         * redisplay.c (generate_fstring_runes): fix size computation bug.
12376
12377 2000-01-09  William M. Perry <wmperry@aventail.com>
12378
12379         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12380
12381 2000-01-09  Andy Piper  <andy@xemacs.org>
12382
12383         * glyphs-msw.c: index -> i to avoid shadows.
12384         (xbm_create_bitmap_from_data): make static.
12385         (check_valid_string_or_int): deleted.
12386         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12387
12388         * glyphs-x.c (x_update_subwindow): remove unused args.
12389
12390         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12391         back pointer - this is done in allocate_image_instance.
12392         (query_string_font): return Qnil to make the compiler happy.
12393         (unmap_subwindow): set to ~0 to make the compiler happy.
12394         (glyph_query_geometry): comment out until used.
12395         (glyph_layout): ditto.
12396
12397 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12398
12399         * insdel.c (signal_after_change): Remove extraneous unbind_to().