update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (charset_code_point): Merge code about builtin
4         characters into code about mother charsets; don't use
5         `range_charset_code_point'.
6         (range_charset_code_point): Deleted.
7
8 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * mule-charset.c (Qcode_offset): New variable.
11         (Fmake_charset): Use `XUINT' to get value of `min-code' and
12         `max-code'; accept new property `code-offset'.
13         (syms_of_mule_charset): Add new symbol `code-offset'.
14
15 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * mule-charset.c (range_charset_code_point): Fixed.
18
19 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * mule-charset.c (decode_builtin_char): Change semantics of
22         code-offset of coded-charset.
23         (charset_code_point): Likewise.
24         (range_charset_code_point): Likewise.
25         (complex_vars_of_mule_charset): Modify for the change.
26
27 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * mule-charset.c (Fencode_char): Reverse arguments.
30
31         * mule-charset.c (charset_code_point): Fixed.
32
33 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * mule-charset.c (Vcharset_mojikyo): Deleted.
36         (Vcharset_mojikyo_2022_1): Deleted.
37         (Vcharset_mojikyo_pj_{1..21}): Deleted.
38         (Qmin_code): New variable in UTF-2000.
39         (Qmax_code): Likewise.
40         (Qmother): Likewise.
41         (Qconversion): Likewise.
42         (Q94x60): Likewise.
43         (Qmojikyo): Deleted.
44         (Qmojikyo_2022_1): Deleted.
45         (Qmojikyo_pj_{1..22}): Deleted.
46         (mark_charset): Mark `cs->mother'.
47         (charset_description): Add description for `mother'.
48         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
49         new arguments `mother' and `conversion'; use
50         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
51         (charset_code_point): Moved from char-ucs.h; support `mother'
52         charset feature.
53         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
54         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
55         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
56         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
57         allow 2 as the value of `graphic' in UTF-2000; add new properties
58         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
59         require `final' in UTF-2000; modify for `make_charset'.
60         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
61         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
62         (Fcharset_property): Support `mother', `min-code' and `max-code'.
63         (Fencode_char): New function.
64         (syms_of_mule_charset): Add new builtin function `encode-char' in
65         UTF-2000; add new symbols `min-code', `max-code', `mother',
66         `conversion' and `94x60'; delete symbols `mojikyo',
67         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
68         (complex_vars_of_mule_charset): Modify for `make_charset' change;
69         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
70         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
71
72         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
73         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
74
75         * char-ucs.h (Vcharset_mojikyo): Deleted.
76         (Vcharset_mojikyo_2022_1): Deleted.
77         (LEADING_BYTE_MOJIKYO): Deleted.
78         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
79         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
80         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
81         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
82         add new member `mother'; add new member `conversion'.
83         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
84         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
85         (CHARSET_MOTHER): New macro.
86         (CHARSET_CONVERSION): New macro.
87         (CONVERSION_IDENTICAL): New macro.
88         (CONVERSION_94x60): New macro.
89         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
90         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
91         (XCHARSET_MOTHER): New macro.
92         (XCHARSET_CONVERSION): New macro.
93         (MIN_CHAR_MOJIKYO): Deleted.
94         (MAX_CHAR_MOJIKYO): Deleted.
95         (DECODE_MOJIKYO_2022): Deleted.
96         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
97         (charset_code_point): Changed to non-inline function.
98         (encode_char_1): Use `charset_code_point'.
99         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
100
101 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
102
103         * lread.c (read_compiled_function): Fix prototype.
104         (read_vector): Likewise.
105
106 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * lrecord.h (struct lrecord_header): Delete `older'.
109         (set_lheader_implementation): Delete code for `older'.
110         (set_lheader_older_implementation): Deleted.
111         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
112         (OLDER_RECORD_P): Deleted.
113         (OLDER_RECORD_HEADER_P): Deleted.
114         (alloc_older_lcrecord): Deleted.
115         (alloc_older_lcrecord_type): Deleted.
116
117         * alloc.c (all_older_lcrecords): Deleted.
118         (alloc_older_lcrecord): Deleted.
119         (disksave_object_finalization_1): Delete code for older objects.
120         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
121         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
122
123 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * mule-charset.c (decoding_table_put_char): Use `make_vector'
126         instead of `make_older_vector'.
127         (put_char_ccs_code_point): Likewise.
128         (mark_charset): Mark `cs->decoding_table'.
129         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
130
131         * lisp.h (make_older_vector): Deleted.
132         (make_vector_newer): Deleted.
133
134         * config.h.in (HAVE_GGC): Deleted.
135
136         * alloc.c (make_older_vector): Deleted.
137         (make_vector_newer_1): Deleted.
138         (make_vector_newer): Deleted.
139
140 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
143         (Qideograph_daikanwa_2): New variable.
144         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
145         (complex_vars_of_mule_charset): Add new coded-charset
146         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
147         `LEADING_BYTE_DAIKANWA'.
148
149         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
150         (LEADING_BYTE_DAIKANWA_1): New macro.
151         (LEADING_BYTE_DAIKANWA_2): New macro.
152         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
153
154 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
155
156         * mule-charset.c (complex_vars_of_mule_charset): Change
157         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
158         the second revised version.
159
160 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * mule-charset.c (Vcharset_ucs_smp): New variable.
163         (Vcharset_ucs_sip): New variable.
164         (Qucs_smp): New variable.
165         (Qucs_sip): New variable.
166         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
167         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
168         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
169         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
170         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
171         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
172
173         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
174         (LEADING_BYTE_UCS_SIP): New macro.
175         (MIN_CHAR_SMP): New macro.
176         (MAX_CHAR_SMP): New macro.
177         (MIN_CHAR_SIP): New macro.
178         (MAX_CHAR_SIP): New macro.
179
180 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
181
182         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
183         utf-2000.
184
185 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
186
187         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
188         value; don't store value into `encoding_table' of `Lisp_Charset'.
189         (mark_charset): `encoding_table' was deleted.
190         (charset_description): Likewise.
191         (make_charset): Likewise.
192         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
193         `put_char_ccs_code_point'.
194
195         * chartab.h (Fput_char_attribute): New EXFUN.
196
197         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
198         is unified with normal symbol space.
199         (Fget_char_attribute): Likewise.
200         (Fput_char_attribute): Likewise; behavior of
201         `put_char_ccs_code_point' is changed.
202
203         * char-ucs.h: Include "elhash.h".
204         (Vchar_attribute_hash_table): New external variable.
205         (struct Lisp_Charset): Delete `encoding_table'.
206         (CHARSET_ENCODING_TABLE): New implementation; refer
207         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
208         `Lisp_Charset'.
209
210 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
213         (cs) == 0.
214
215 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * text-coding.c (char_encode_big5): Prefer charset-g1 than
218         `chinese-big5'.
219
220 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * chartab.c (uint8_byte_table_description): New constant.
223         (uint8-byte-table): Use `uint8_byte_table_description'.
224         (uint16_byte_table_description): New constant.
225         (uint16-byte-table): Use `uint16_byte_table_description'.
226
227 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
230         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
231
232 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * mule-charset.c (Vcharset_ucs_ks): New variable.
235         (Qucs_ks): New variable.
236         (syms_of_mule_charset): Add new symbol `ucs-ks'.
237         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
238
239         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
240
241 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
244         (Fdecode_char): Likewise.
245
246         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
247         chartab.h.
248         (Fdefine_char): Modify for Fdecode_char.
249         (Ffind_char): Likewise.
250
251         * mule-charset.c (Fdecode_char): Add new optional argument
252         `defined-only'.
253         (Fdecode_builtin_char): Modify for `Fdecode_char'.
254
255 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
258         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
259         (allocate_coding_system): Initialize initial-charsets of
260         CODESYS_BIG5 in XEmacs UTF-2000.
261         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
262         CODESYS_BIG5 in XEmacs UTF-2000.
263         (decode_coding_big5): Use initial-charset-g0 and -g1 of
264         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
265
266         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
267         variables.
268         (Qideograph_hanziku_{1 .. 12}): Likewise.
269         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
270         .. 12}'.
271         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
272         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
273         `ideograph-hanziku-{1 .. 12}'.
274
275         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
276         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
277         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
278         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
279         (DECODE_DEFINED_CHAR): New inline function.
280         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
281
282 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * mule-charset.c (Vcharset_china3_jef): Renamed from
285         `Vcharset_japanese_jef_china3'.
286         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
287         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
288         `{MIN|MAX}_CHAR_JEF_CHINA3'..
289         (syms_of_mule_charset): Rename `china3-jef' from
290         `japanese-jef-china3'.
291         (complex_vars_of_mule_charset): Likewise; rename
292         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
293
294         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
295         `LEADING_BYTE_JEF_CHINA3'.
296         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
297         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
298
299 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * mule-charset.c (encode_builtin_char_1): Comment out special code
302         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
303
304         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
305         (MAX_CHAR_MOJIKYO_0): Comment out.
306         (MIN_CHAR_CBETA): Changed to 0x00E20000.
307         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
308         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
309         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
310
311 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
314         (Qideograph_cbeta): New variable.
315         (encode_builtin_char_1): Comment out special code for
316         coded-charset `mojikyo' and `japanese-jef-china3'.
317         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
318         (complex_vars_of_mule_charset): Add new coded-charset
319         `ideograph-cbeta'.
320
321         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
322         (MIN_CHAR_CBETA): New macro.
323         (MAX_CHAR_CBETA): New macro.
324
325 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
328         (LEADING_BYTE_JEF_CHINA3): New macro.
329         (MIN_CHAR_JEF_CHINA3): New macro.
330         (MAX_CHAR_JEF_CHINA3): Likewise.
331         (DECODE_CHAR): Fixed.
332
333 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
336         (Qjapanese_jef_china3): New variable.
337         (encode_builtin_char_1): Support `japanese-jef-china3'.
338         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
339         (complex_vars_of_mule_charset): Add new coded-charset
340         `japanese-jef-china3'.
341
342 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
343
344         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
345         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
346         94^4, 96^3, 96^4, 128^n and 256^n set.
347         (put_char_table): Use `XCHARSET_CELL_RANGE'.
348         (map_char_table): Likewise.
349
350 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
351
352         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
353         UTF-2000.
354
355 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * chartab.h (get_char_id_table): New inline function.
358
359         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
360         function.
361
362 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
363
364         * chartab.h (decode_char_table_range): New prototype in XEmacs
365         UTF-2000.
366         (put_char_id_table): New inline function in XEmacs UTF-2000.
367
368         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
369         function.
370         (decode_char_table_range): Delete static declaration in XEmacs
371         UTF-2000.
372
373 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (put_char_id_table): Use `put_char_table'.
376
377 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
380         (map_over_uint16_byte_table): Likewise.
381         (map_over_byte_table): Likewise.
382         (map_char_table): Modify for `map_over_uint8_byte_table',
383         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
384         UTF-2000.
385
386 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * chartab.c (struct map_char_table_for_charset_arg): New
389         structure.
390         (map_char_table_for_charset_fun): New function.
391         (map_char_table): Use `map_char_table' for encoding_table of
392         `range->charset'.
393
394 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * chartab.c (map_char_table): Check a character is found in
397         range->charset instead of non default value is defined in
398         char-table when range is CHARTAB_RANGE_ROW.
399
400 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.c (map_char_id_table): Deleted.
403         (Fmap_char_attribute): Use `map_char_table' instead of
404         `map_char_id_table'.
405
406 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
409         UTF-2000.
410         (update_syntax_table): Deleted in XEmacs UTF-2000.
411
412         * syntax.c (find_defun_start): Use `syntax_table' instead of
413         `mirror_syntax_table' in XEmacs UTF-2000.
414         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
415         UTF-2000.
416         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
417         XEmacs UTF-2000.
418         (Fmatching_paren): Likewise.
419         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
420         in XEmacs UTF-2000.
421         (find_start_of_comment): Likewise.
422         (find_end_of_comment): Likewise.
423         (Fforward_comment): Likewise.
424         (scan_lists): Likewise.
425         (char_quoted): Likewise.
426         (Fbackward_prefix_chars): Likewise.
427         (scan_sexps_forward): Likewise.
428         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
429         (update_syntax_table): Likewise.
430
431         * search.c (skip_chars): Use `syntax_table' instead of
432         `mirror_syntax_table' in XEmacs UTF-2000.
433         (wordify): Likewise.
434         (Freplace_match): Likewise.
435
436         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
437         `mirror_syntax_table' in XEmacs UTF-2000.
438         (WORDCHAR_P_UNSAFE): Likewise.
439         (re_match_2_internal): Likewise.
440
441         * font-lock.c (find_context): Use `buf->syntax_table' instead of
442         `buf->mirror_syntax_table' in XEmacs UTF-2000.
443
444         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
445         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
446
447         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
448         XEmacs UTF-2000.
449
450         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
451         UTF-2000.
452         (print_char_table): Print `default_value' in XEmacs UTF-2000.
453         (char_table_description): Delete `mirror_table' in XEmacs
454         UTF-2000.
455         (fill_char_table): Don't call `update_syntax_table' in XEmacs
456         UTF-2000.
457         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
458         (Fcopy_char_table): Likewise.
459         (put_char_table): Don't call `update_syntax_table' in XEmacs
460         UTF-2000.
461
462         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
463         `buf->mirror_syntax_table' in XEmacs UTF-2000.
464         (casify_region_internal): Likewise.
465
466         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
467
468         * buffer.c (common_init_complex_vars_of_buffer): Don't use
469         `mirror_syntax_table' in XEmacs UTF-2000.
470
471         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
472         `buf->mirror_syntax_table' in XEmacs UTF-2000.
473         (Fexpand_abbrev): Likewise.
474
475 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
478
479 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
482         (map_over_uint16_byte_table): Likewise.
483         (map_over_byte_table): Likewise.
484         (get_char_id_table): Refer `cit->default_value'.
485         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
486         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
487         of character-id ranges.
488         (mark_char_table): Mark `ct->default_value'.
489         (char_table_description): Add `default_value'.
490         (fill_char_table): Use `default_value'.
491         (decode_char_table_range): Decode `nil' as
492         `CHARTAB_RANGE_DEFAULT'.
493         (get_char_id_table): Refer `cit->default_value'.
494         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
495         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
496         temporary hack; check value of char-table is bound or not.
497         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
498
499         * chartab.h (struct Lisp_Char_Table): Add new member
500         `default_value' in XEmacs UTF-2000.
501         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
502         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
503         UTF-2000.
504
505 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * chartab.h (Lisp_Char_ID_Table): Deleted.
508
509         * chartab.c (char_table_description): Fix typo.
510         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
511         `Lisp_Char_ID_Table'.
512
513 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
514
515         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
516         `CHAR_ID_TABLE_P'.
517
518         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
519         `CHAR_ID_TABLE_P'.
520
521         * chartab.h (XCHAR_ID_TABLE): Deleted.
522         (XSETCHAR_ID_TABLE): Deleted.
523         (CHAR_ID_TABLE_P): Deleted.
524
525         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
526         `CHAR_ID_TABLE_P'.
527         (Fget_composite_char): Likewise.
528         (put_char_table): Likewise.
529         (add_char_attribute_alist_mapper): Fixed.
530         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
531         `CHAR_ID_TABLE_P'.
532         (Fget_char_attribute): Likewise.
533         (Fget_char_attribute): Likewise.
534         (Fmap_char_attribute): Likewise.
535
536         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
537         `CHAR_ID_TABLE_P'.
538         (encode_char_1): Likewise.
539
540 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
543         `XCHAR_ID_TABLE'.
544
545         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
546         instead of `XCHAR_ID_TABLE'.
547         (remove_char_ccs): Likewise.
548
549         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
550         `XCHAR_ID_TABLE'.
551         (Fget_composite_char): Likewise.
552         (Fchar_variants): Likewise.
553         (put_char_table): Likewise.
554         (add_char_attribute_alist_mapper): Likewise.
555         (Fchar_attribute_alist): Likewise.
556         (Fget_char_attribute): Likewise.
557         (Fput_char_attribute): Likewise.
558         (Fmap_char_attribute): Likewise.
559         (Fmap_char_attribute): Likewise.
560
561         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
562         `XCHAR_ID_TABLE'.
563         (encode_char_1): Likewise.
564
565 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
568         `Lisp_Char_ID_Table'.
569         (mark_char_id_table): Deleted.
570         (print_char_id_table): Likewise.
571         (char_id_table_equal): Likewise.
572         (char_id_table_hash): Likewise.
573         (char_id_table_description): Likewise.
574         (char_id_table): Likewise.
575         (make_char_id_table): Use `Fmake_char_table' and
576         `fill_char_table'.
577         (get_char_id_table): Use `Lisp_Char_Table' instead of
578         `Lisp_Char_ID_Table'.
579         (put_char_id_table): Likewise.
580         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
581         `XCHAR_ID_TABLE'.
582         (Fremove_char_attribute): Likewise.
583         (syms_of_chartab): Don't define type `char-id-table'.
584
585         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
586         (char_id_table): Likewise.
587         (GC_CHAR_ID_TABLE_P): Likewise.
588         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
589         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
590         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
591         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
592         (get_char_id_table): Use `Lisp_Char_Table' instead of
593         `Lisp_Char_ID_Table'.
594         (put_char_id_table_0): Likewise.
595         (put_char_id_table): Likewise.
596
597 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
598
599         * chartab.h: Lisp_Byte_Table related codes are moved from
600         chartab.h.
601
602         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
603
604 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
605
606         * chartab.h: Don't include "chartab.h".
607         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
608         (Lisp_Char_ID_Table): Likewise.
609         (char_id_table): Likewise.
610         (XCHAR_ID_TABLE): Likewise.
611         (XSETCHAR_ID_TABLE): Likewise.
612         (CHAR_ID_TABLE_P): Likewise.
613         (GC_CHAR_ID_TABLE_P): Likewise.
614         (get_char_id_table): Likewise.
615
616         * char-ucs.h: Include "chartab.h".
617         (struct Lisp_Char_ID_Table): Moved to chartab.h.
618         (Lisp_Char_ID_Table): Likewise.
619         (char_id_table): Likewise.
620         (XCHAR_ID_TABLE): Likewise.
621         (XSETCHAR_ID_TABLE): Likewise.
622         (CHAR_ID_TABLE_P): Likewise.
623         (GC_CHAR_ID_TABLE_P): Likewise.
624         (get_char_id_table): Likewise.
625
626 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
627
628         * chartab.c (copy_uint8_byte_table): New function.
629         (copy_uint16_byte_table): New function.
630         (copy_byte_table): New function.
631         (map_over_uint8_byte_table): Modify to avoid huge numbers of
632         characters to call.
633         (map_over_uint16_byte_table): Likewise.
634         (map_over_byte_table): Likewise.
635         (get_byte_table): Move prototype to chartab.h.
636         (put_byte_table): Likewise.
637         (put_char_id_table_0): Moved to chartab.h.
638         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
639         (char_table_entry_equal): Likewise.
640         (char_table_entry_hash): Likewise.
641         (char_table_entry_description): Likewise.
642         (char_table_entry): Likewise.
643         (make_char_table_entry): Likewise.
644         (copy_char_table_entry): Likewise.
645         (get_non_ascii_char_table_value): Likewise.
646         (map_over_charset_ascii): Likewise.
647         (map_over_charset_control_1): Likewise.
648         (map_over_charset_row): Likewise.
649         (map_over_other_charset): Likewise.
650         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
651         (print_char_table): Likewise.
652         (char_table_equal): Likewise.
653         (char_table_hash): Likewise.
654         (char_table_description): Likewise.
655         (fill_char_table): Likewise.
656         (Fcopy_char_table): Likewise.
657         (get_char_table): Likewise.
658         (Fget_range_char_table): Likewise.
659         (put_char_table): Likewise.
660         (map_char_table): Likewise.
661         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
662         UTF-2000.
663
664 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
667         `Vauto_fill_chars' in XEmacs UTF-2000.
668
669         * chartab.h (get_byte_table): New prototype [moved from
670         chartab.c].
671         (put_byte_table): Likewise [moved from chartab.c].
672         (put_char_id_table_0): New inline function [moved from chartab.c].
673         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
674         (Lisp_Char_Table_Entry): Likewise.
675         (char_table_entry): Likewise.
676         (XCHAR_TABLE_ENTRY): Likewise.
677         (XSETCHAR_TABLE_ENTRY): Likewise.
678         (CHAR_TABLE_ENTRYP): Likewise.
679         (CHECK_CHAR_TABLE_ENTRY): Likewise.
680         (NUM_ASCII_CHARS): Likewise.
681         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
682         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
683
684 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * chartab.c (get_char_id_table): Change interface.
687         (put_char_id_table_0): New function.
688         (put_char_id_table): Change interface; new implementation.
689         (Fget_composite_char): Modify for interface change of
690         `get_char_id_table'.
691         (Fchar_variants): Likewise.
692         (add_char_attribute_alist_mapper): Likewise.
693         (Fchar_attribute_alist): Likewise.
694         (Fget_char_attribute): Likewise.
695         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
696         as same as character as the first argument like `put-char-table';
697         modify for interface change of `put_char_id_table'.
698         (Fremove_char_attribute): Modify for interface change of
699         `put_char_id_table'.
700
701 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * text-coding.c: Sync up with XEmacs 21.2.41.
704         (COMPOSE_ADD_CHAR): Modify for interface change of
705         `get_char_id_table'.
706
707         * mule-charset.c (put_char_ccs_code_point): Modify for interface
708         change of `put_char_id_table'.
709         (remove_char_ccs): Likewise.
710
711         * chartab.h (put_char_id_table): Change interface.
712
713         * char-ucs.h (get_char_id_table): Change interface.
714         (charset_code_point): Modify for interface change of
715         `get_char_id_table'.
716         (encode_char_1): Likewise.
717
718 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
721         argument `ccs'.
722         (map_over_uint16_byte_table): Likewise.
723         (map_over_byte_table): Likewise.
724         (map_char_id_table): Add new argument `range' like
725         `map_char_table'.
726         (Fmap_char_attribute): Add new argument `range' like
727         `Fmap_char_table'.
728
729 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
730
731         * chartab.c (map_over_uint8_byte_table): Change interface of
732         mapping function to use struct chartab_range instead of Emchar.
733         (map_over_uint16_byte_table): Likewise.
734         (map_over_byte_table): Likewise.
735         (map_char_id_table): Likewise.
736         (struct slow_map_char_id_table_arg): Deleted.
737         (slow_map_char_id_table_fun): Deleted.
738         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
739         function `slow_map_char_table_fun' instead of struct
740         `slow_map_char_id_table_arg' and function
741         `slow_map_char_id_table_fun'.
742
743 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * mule-charset.c: Move char-it-table related codes to chartab.c.
746         (Vutf_2000_version): Moved to chartab.c.
747         (Fdefine_char): Likewise.
748         (Ffind_char): Likewise.
749         (syms_of_mule_charset): Move types `uint8-byte-table',
750         `uint16-byte-table', `byte-table' and `char-id-table' to
751         chartab.c; move functions `char_attribute_list,
752         `find_char_attribute_table, `char_attribute_alist,
753         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
754         `map_char_attribute, `define_char, `find_char, `char_variants and
755         `get_composite_char to chartab.c; move symbols `=>ucs',
756         `->decomposition', `compat', `isolated', `initial', `medial',
757         `final', `vertical', `noBreak', `fraction', `super', `sub',
758         `circle', `square', `wide', `narrow', `small' and `font' to
759         chartab.c.
760         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
761         setting codes for `Vcharacter_composition_table' and
762         `Vcharacter_variant_table' to chartab.c.
763         (complex_vars_of_mule_charset): Move setting code for
764         `Vchar_attribute_hash_table' to chartab.c.
765
766         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
767         (make_char_id_table): New prototype.
768         (put_char_id_table): Likewise.
769         (Fget_char_attribute): Likewise.
770
771         * chartab.c: Move char-id-table related code from mule-charset.c.
772         (Vutf_2000_version): Moved from mule-charset.c.
773
774         * char-ucs.h (Qucs): New external variable.
775         (put_char_ccs_code_point): New prototype.
776         (remove_char_ccs): Likewise.
777
778 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
779
780         * mule-charset.c (Vcharset_ucs_jis): New variable.
781         (Qucs_jis): Likewise.
782         (syms_of_mule_charset): Add new symbol `ucs-jis'.
783         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
784
785         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
786
787 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * mule-charset.c (map_over_uint8_byte_table): New function.
790         (map_over_uint16_byte_table): Likewise.
791         (map_over_byte_table): Likewise.
792         (map_char_id_table): Likewise.
793         (slow_map_char_id_table_fun): Likewise.
794         (Fmap_char_attribute): Likewise.
795         (syms_of_mule_charset): Add new function `map-char-attribute'.
796
797 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
800         (syms_of_mule_charset): Add new function `find-char'.
801
802 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
805         XEmacs UTF-2000.
806         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
807         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
808         XEmacs UTF-2000.
809         (complex_vars_of_mule_charset): Add new coded-charset
810         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
811         `ideograph-gt-pj-*'.
812
813         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
814
815 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * mule-charset.c (encode_builtin_char_1): Purge codes about
818         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
819         {MIN|MAX}_CHAR_HEBREW.
820         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
821         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
822
823         * char-ucs.h (MIN_CHAR_GREEK): Purged.
824         (MAX_CHAR_GREEK): Purged.
825         (MIN_CHAR_CYRILLIC): Purged.
826         (MAX_CHAR_CYRILLIC): Purged.
827         (MIN_CHAR_HEBREW): Commented out.
828         (MAX_CHAR_HEBREW): Likewise.
829
830 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
831
832         * mule-charset.c (Qto_ucs): New variable.
833         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
834         (Fdefine_char): Likewise.
835         (syms_of_mule_charset): Add new symbol `=>ucs'.
836
837 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
838
839         * mule-charset.c (Fdecode_char): Fixed.
840
841 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
844         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
845         "tcvn5712-1".
846
847 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
848
849         * mule-charset.c (Vcharset_ucs_big5): New variable.
850         (Qucs_big5): Likewise.
851         (syms_of_mule_charset): Add new symbol `ucs-big5'.
852         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
853
854         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
855
856 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
857
858         * mule-charset.c (decode_builtin_char): Check Big5 code range
859         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
860
861 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
862
863         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
864         (Qchinese_gb12345): Likewise.
865         (Fdecode_builtin_char): Fixed.
866         (syms_of_mule_charset): Add `chinese-gb12345'.
867         (complex_vars_of_mule_charset): Add coded-charset
868         `chinese-gb12345'.
869
870         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
871         (LEADING_BYTE_CHINESE_GB12345): New macro.
872
873 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
874
875         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
876         and `latin-viscii-upper' for `latin-viscii'.
877
878 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * mule-charset.c (Fdecode_builtin_char): Comment out
881         regularization code for ISO-IR GR representation.
882
883 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * mule-charset.c (decode_builtin_char): New function; renamed from
886         `make_builtin_char'; return -1 instead of signal.
887         (Fdecode_builtin_char): Use `decode_builtin_char'.
888
889         * char-ucs.h (decode_builtin_char): New prototype; renamed from
890         `make_builtin_char'.
891         (DECODE_CHAR): Use `decode_builtin_char' instead of
892         `make_builtin_char'; use mapping table of `chinese-big5' for
893         `chinese-big5-{1,2}'.
894
895 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * text-coding.c (char_encode_big5): New function.
898         (char_finish_big5): Likewise.
899         (reset_encoding_stream): Use `char_encode_big5' and
900         `char_finish_big5' for CODESYS_BIG5.
901         (mule_encode): Don't use `encode_coding_big5'.
902         (encode_coding_big5): Deleted.
903
904 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
907         0x81- in XEmacs UTF-2000.
908         (detect_coding_big5): Likewise.
909
910 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
911
912         * mule-charset.c (Fdefine_char): Don't use a CCS property to
913         generate character-id if the CCS property does not have
914         corresponding predefined character.
915         (make_builtin_char): Return -1 if corresponding predefined
916         character is not found.
917         (Fdecode_char): Return nil if corresponding character is not
918         found.
919         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
920         don't map to builtin ucs space.
921
922 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
923
924         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
925         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
926
927 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * mule-charset.c (Vcharset_ideograph_gt): New variable.
930         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
931         (Qideograph_gt): Likewise.
932         (Qideograph_gt_pj_{1..11}): Likewise.
933         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
934         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
935         `ideograph-gt-pj-11'.
936         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
937         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
938         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
939
940         * char-ucs.h (LEADING_BYTE_GT): New macro.
941         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
942         (MIN_CHAR_GT): Likewise.
943         (MAX_CHAR_GT): Likewise.
944
945 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
946
947         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
948         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
949
950         * doprnt.c (unsigned_int_converters): Add `c'.
951         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
952
953         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
954         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
955         `MIN_CHAR_MOJIKYO'.
956         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
957         (MAX_CHAR_MOJIKYO_0): New macro.
958         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
959
960 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
961
962         * mule-charset.c (Fdefine_char): Delete cemented out code.
963         (encode_builtin_char_1): Modify for new allocation of builtin
964         Mojikyo characters.
965
966         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
967
968 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * mule-charset.c (Vcharset_ucs_cns): New variable.
971         (Qucs_cns): New variable.
972         (syms_of_mule_charset): Add new symbol `ucs-cns'.
973         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
974
975 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
978
979 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
980
981         * search.c (search_buffer): Make `charset_base_code' as
982         character-id >> 6 to eliminate the corresponding last byte in
983         UTF-8 representation [I'm not sure it is right thing].
984         (boyer_moore): Likewise.
985
986 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
987
988         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
989         representation in MULE.
990
991 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
992
993         * text-coding.c (Fmake_coding_system): Use
994         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
995         `EXTERNAL_PROPERTY_LIST_LOOP'.
996
997 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
998
999         * text-coding.c (decode_output_utf8_partial_char): New function.
1000         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1001
1002 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * text-coding.c (decode_coding_utf8): Output original byte
1005         sequence if it is broken; change order of conditions.
1006
1007         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1008         of conditions.
1009
1010         * mb-multibyte.h (BYTE_ASCII_P):
1011         Use bit ops for char-signedness safety.
1012         (BYTE_C0_P): Use bit ops for char-signedness safety.
1013         (BYTE_C1_P): Use bit ops for char-signedness safety.
1014
1015         * character.h: (XCHAR_OR_CHAR_INT):
1016         Always use inline function.
1017         Remove redundant type checking assert() - XINT will abort quite
1018         nicely.
1019
1020 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1021
1022         * text-coding.c: (Fencode_shift_jis_char):
1023         (Fencode_big5_char):
1024         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1025         Replace 0 with '\0' when working with bytes.
1026         Replace initial "(" with "\(" in docstrings.
1027
1028         (Fmake_coding_system):
1029         When type is ccl and value is vector, register it with a proper
1030         symbol.  And checks whether the given ccl program is valid.
1031         (mule_decode): When calling ccl_driver, if src indicates
1032         NULL pointer, set an empty string instead.
1033         (mule_encode): Likewise.
1034
1035         (detect_eol_type):
1036         (detect_coding_sjis):
1037         (decode_coding_sjis):
1038         (detect_coding_big5):
1039         (decode_coding_big5):
1040         (detect_coding_ucs4):
1041         (decode_coding_ucs4):
1042         (detect_coding_utf8):
1043         (decode_coding_utf8):
1044         (detect_coding_iso2022):
1045         (decode_coding_iso2022):
1046         (decode_coding_no_conversion):
1047         (mule_decode):
1048         Make all detecting and decoding functions take an Extbyte * arg.
1049         (text_encode_generic):
1050         (encode_coding_big5):
1051         (encode_coding_no_conversion):
1052         (mule_encode):
1053         Make all encoding functions take a Bufbyte * arg.
1054         Use size_t instead of unsigned int for memory sizes.
1055         Only cast to unsigned char whenever dereferencing Extbyte *.
1056
1057         (struct lrecord_description fcd_description_1): Use countof.
1058         (complex_vars_of_file_coding):
1059         Use countof instead of sizeof.
1060         Use CHECK_NATNUM instead of CHECK_INT.
1061
1062 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * mule-charset.c (Fget_char_attribute): Add new optional argument
1065         `default-value'.
1066         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1067         (remove_char_ccs): Likewise.
1068
1069 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1070
1071         * text-coding.c (char_encode_shift_jis): New implementation in
1072         UTF-2000.
1073         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1074         ...)'.
1075
1076         * mule-charset.c (Vcharset_chinese_big5): New variable in
1077         UTF-2000.
1078         (Qchinese_big5): New variable in UTF-2000.
1079         (BIG5_SAME_ROW): New macro in UTF-2000.
1080         (make_builtin_char): Use builtin characters of
1081         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1082         characters of `Vcharset_chinese_big5'.
1083         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1084         (complex_vars_of_mule_charset): Add new coded-charset
1085         `chinese-big5' in UTF-2000.
1086
1087         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1088         (Vcharset_chinese_big5): New external variable declaration.
1089         (Vcharset_japanese_jisx0208_1990): Likewise.
1090
1091 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1094         function.
1095         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1096
1097 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1100         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1101         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1102         `mojikyo-pj-*'.
1103
1104 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1105
1106         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1107
1108 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1109
1110         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1111         to 0.17.
1112
1113 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1116         for `CHARSET_BY_ATTRIBUTES'.
1117         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1118         `CHARSET_BY_ATTRIBUTES'.
1119
1120         * text-coding.c (struct decoding_stream): Rename member `CH' to
1121         `CPOS'.
1122         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1123         (decode_coding_sjis): Likewise.
1124         (decode_coding_big5): Likewise.
1125         (decode_coding_ucs4): Likewise.
1126         (decode_coding_utf8): Likewise.
1127         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1128         `CHARSET_BY_ATTRIBUTES'.
1129         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1130         `str->counter'; decode 3, 4 bytes sets.
1131         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1132         sets.
1133         (decode_coding_no_conversion): Use `str->cpos' instead of
1134         `str->ch'.
1135
1136         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1137         (Qmojikyo_2022_1): New variable.
1138         (make_charset): Don't use `CHARSET_TYPE_*'.
1139         (range_charset_code_point): Support coded-charset
1140         `mojikyo-2022-1'.
1141         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1142         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1143         `CHARSET_BY_ATTRIBUTES'.
1144         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1145         `CHARSET_BY_ATTRIBUTES'.
1146         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1147         (complex_vars_of_mule_charset): Add new coded-charset
1148         `mojikyo-2022-1'.
1149
1150         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1151         interface; changed to inline function.
1152
1153         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1154         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1155         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1156         (CHARSET_TYPE_94): Deleted.
1157         (CHARSET_TYPE_94X94): Deleted.
1158         (CHARSET_TYPE_96): Deleted.
1159         (CHARSET_TYPE_96X96): Deleted.
1160         (CHARSET_TYPE_128): Deleted.
1161         (CHARSET_TYPE_128X128): Deleted.
1162         (CHARSET_TYPE_256): Deleted.
1163         (CHARSET_TYPE_256X256): Deleted.
1164         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1165         to inline function.
1166         (DECODE_MOJIKYO_2022): New inline function.
1167         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1168         `Vcharset_mojikyo_2022_1'.
1169
1170 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1171
1172         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1173         instead of `EQ'.
1174         (put_byte_table): Likewise.
1175         (char_id_table_equal): Use `get_byte_table' [new implementation].
1176
1177 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * mule-charset.c: Include <limits.h> in UTF-2000.
1180         (BT_UINT8_MIN): New macro in UTF-2000.
1181         (BT_UINT8_MAX): New macro in UTF-2000.
1182         (BT_UINT8_t): New macro in UTF-2000.
1183         (BT_UINT8_nil): New macro in UTF-2000.
1184         (BT_UINT8_unbound): New macro in UTF-2000.
1185         (INT_UINT8_P): New inline function in UTF-2000.
1186         (UINT8_VALUE_P): New inline function in UTF-2000.
1187         (UINT8_ENCODE): New inline function in UTF-2000.
1188         (UINT8_DECODE): New inline function in UTF-2000.
1189         (mark_uint8_byte_table): New function in UTF-2000.
1190         (print_uint8_byte_table): New function in UTF-2000.
1191         (uint8_byte_table_equal): New function in UTF-2000.
1192         (uint8_byte_table_hash): New function in UTF-2000.
1193         (make_uint8_byte_table): New function in UTF-2000.
1194         (uint8_byte_table_same_value_p): New function in UTF-2000.
1195         (BT_UINT16_MIN): New macro in UTF-2000.
1196         (BT_UINT16_MAX): New macro in UTF-2000.
1197         (BT_UINT16_t): New macro in UTF-2000.
1198         (BT_UINT16_nil): New macro in UTF-2000.
1199         (BT_UINT16_unbound): New macro in UTF-2000.
1200         (INT_UINT16_P): New inline function in UTF-2000.
1201         (UINT16_VALUE_P): New inline function in UTF-2000.
1202         (UINT16_ENCODE): New inline function in UTF-2000.
1203         (UINT16_DECODE): New inline function in UTF-2000.
1204         (UINT8_TO_UINT16): New inline function in UTF-2000.
1205         (mark_uint16_byte_table): New function in UTF-2000.
1206         (print_uint16_byte_table): New function in UTF-2000.
1207         (uint16_byte_table_equal): New function in UTF-2000.
1208         (uint16_byte_table_hash): New function in UTF-2000.
1209         (make_uint16_byte_table): New function in UTF-2000.
1210         (uint16_byte_table_same_value_p): New function in UTF-2000.
1211         (print_byte_table): New function in UTF-2000.
1212         (byte-table): Use `print_byte_table' as printer.
1213         (make_byte_table): Delete second argument `older'.
1214         (byte_table_same_value_p): New function in UTF-2000.
1215         (copy_byte_table): Deleted.
1216         (get_byte_table): New function in UTF-2000.
1217         (put_byte_table): New function in UTF-2000.
1218         (print_char_id_table): New function in UTF-2000.
1219         (char-id-table): Use `print_char_id_table' as printer.
1220         (make_char_id_table): Delete second argument `older'.
1221         (get_char_id_table): Use `get_byte_table [new implementation].
1222         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1223         implementation].
1224         (Ffind_char_attribute_table): New function in UTF-2000.
1225         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1226         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1227         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1228         (syms_of_mule_charset): Add new function
1229         `find-char-attribute-table' in UTF-2000.
1230
1231         * lrecord.h (enum lrecord_type): Add
1232         `lrecord_type_uint16_byte_table' and
1233         `lrecord_type_uint8_byte_table'.
1234
1235         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1236         (Lisp_Uint8_Byte_Table): New type.
1237         (XUINT8_BYTE_TABLE): New macro.
1238         (XSETUINT8_BYTE_TABLE): New macro.
1239         (UINT8_BYTE_TABLE_P): New macro.
1240         (GC_UINT8_BYTE_TABLE_P): New macro.
1241         (struct Lisp_Uint16_Byte_Table): New structure.
1242         (Lisp_Uint16_Byte_Table): New type.
1243         (XUINT16_BYTE_TABLE): New macro.
1244         (XSETUINT16_BYTE_TABLE): New macro.
1245         (UINT16_BYTE_TABLE_P): New macro.
1246         (GC_UINT16_BYTE_TABLE_P): New macro.
1247
1248 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1249
1250         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1251         (Vcharacter_ideographic_strokes_table): Deleted.
1252         (Vcharacter_total_strokes_table): Deleted.
1253         (Vcharacter_morohashi_daikanwa_table): Deleted.
1254         (Vcharacter_decomposition_table): Deleted.
1255         (Qname): Deleted because it is duplicated.
1256         (Qideographic_radical): Deleted.
1257         (Qideographic_strokes): Deleted.
1258         (Qtotal_strokes): Deleted.
1259         (Qmorohashi_daikanwa): Deleted.
1260         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1261         `ideographic-radical', `ideographic-strokes', `total-strokes',
1262         `morohashi-daikanwa' and `->decomposition'.
1263         (Fget_char_attribute): Likewise.
1264         (Fput_char_attribute): Likewise; use `make-vector' instead of
1265         `make_older_vector' for `->decomposition' value.
1266         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1267         `ideograph-daikanwa'.
1268         (syms_of_mule_charset): Delete builtin symbols `name',
1269         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1270         `morohashi-daikanwa'.
1271         (vars_of_mule_charset): Don't setup
1272         `Vcharacter_ideographic_radical_table',
1273         `Vcharacter_ideographic_strokes_table',
1274         `Vcharacter_total_strokes_table',
1275         `Vcharacter_morohashi_daikanwa_table' and
1276         `Vcharacter_decomposition_table'.
1277
1278 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1281         `make_older_vector', `make_vector_newer_1' and
1282         `make_vector_newer'.
1283
1284         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1285         `make_older_vector' and `make_vector_newer'.
1286
1287         * config.h.in (HAVE_GGC): New macro.
1288
1289 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1290
1291         * mule-charset.c (struct char_attribute_list_closure): New
1292         structure in UTF-2000.
1293         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1294         (Fchar_attribute_list): Likewise.
1295         (Fset_charset_mapping_table): Use `make_vector_newer'.
1296         (Fdecode_builtin_char): New function in UTF-2000.
1297         (syms_of_mule_charset): Add new function `char-attribute-list' and
1298         `decode-builtin-char' in UTF-2000.
1299
1300         * lisp.h (make_vector_newer): New prototype.
1301
1302         * alloc.c (make_vector_newer_1): New function.
1303         (make_vector_newer): New function.
1304
1305 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1308         50100)'.
1309
1310 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1311
1312         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1313         (Vcharacter_attribute_table): Deleted.
1314         (Vcharacter_name_table): Deleted.
1315         (put_char_attribute): Deleted.
1316         (remove_char_attribute): Deleted.
1317         (struct char_attribute_alist_closure): New structure.
1318         (add_char_attribute_alist_mapper): New function.
1319         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1320         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1321         (Fget_char_attribute): Likewise.
1322         (Fput_char_attribute): Likewise.
1323         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1324         of `remove_char_attribute'.
1325         (Fdefine_char): Return character.
1326         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1327         and `Vcharacter_name_table'.
1328         (complex_vars_of_mule_charset): Likewise
1329         `Vchar_attribute_hash_table'.
1330
1331 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1332
1333         * character.h (CHARC_CHARSET): New macro.
1334         (CHARC_CHARSET_ID): New macro.
1335         (CHARC_CODE_POINT): New macro.
1336         (CHARC_COLUMNS): New macro.
1337         (CHARC_TO_CHAR): New inline function.
1338         (CHARC_EQ): New inline function.
1339         (CHARC_ASCII_EQ): New inline function.
1340         (CHARC_IS_SPACE): New inline function.
1341         (ASCII_TO_CHARC): New inline function.
1342
1343         * char-ucs.h (encode_char_2): Deleted.
1344         (ENCODE_CHAR): Use `encode_char_1' again.
1345         (breakup_char_1): Likewise.
1346         (CHAR_TO_CHARC): New inline function.
1347
1348         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1349
1350 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1353         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1354         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1355         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1356         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1357         `CHARC_IS_SPACE'.
1358         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1359
1360         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1361         `CHARC_CODE_POINT'.
1362         (x_output_display_block): Use `CHARC_CHARSET' and
1363         `CHARC_ASCII_EQ'.
1364
1365         * redisplay-tty.c (tty_output_display_block): Use
1366         `CHARC_ASCII_EQ'.
1367         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1368
1369         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1370
1371         * insdel.c (find_charsets_in_charc_string): Use
1372         `CHARC_CHARSET_ID'.
1373         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1374         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1375         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1376         (convert_charc_string_into_malloced_string): Likewise.
1377
1378 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1379
1380         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1381         instead of <Emchar_dynarr *> for buf; use
1382         `convert_bufbyte_string_into_charc_dynarr' instead of
1383         `convert_bufbyte_string_into_emchar_dynarr'; use
1384         `find_charsets_in_charc_string' instead of
1385         `find_charsets_in_emchar_string'.
1386
1387         * redisplay.h:
1388         - Include "character.h".
1389         (struct rune): New member `cglyph'; delete member `chr'.
1390
1391         * redisplay.c (redisplay_text_width_charc_string): New function;
1392         delete `redisplay_text_width_emchar_string'.
1393         (rtw_charc_dynarr): New variable; renamed from
1394         `rtw_emchar_dynarr'.
1395         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1396         `rtw_emchar_dynarr'; use
1397         `convert_bufbyte_string_into_charc_dynarr' instead of
1398         `convert_bufbyte_string_into_emchar_dynarr'; use
1399         `redisplay_text_width_charc_string' instead of
1400         `redisplay_text_width_emchar_string'.
1401         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1402         instead of `rtw_emchar_dynarr'; use
1403         `convert_bufbyte_string_into_charc_dynarr' instead of
1404         `convert_bufbyte_string_into_emchar_dynarr'.
1405         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1406         `redisplay_text_width_charc_string' instead of
1407         `redisplay_text_width_emchar_string'.
1408         (create_text_block): Modify for <struct rune> change.
1409         (generate_formatted_string_db): Likewise.
1410         (create_string_text_block): Likewise.
1411         (pixel_to_glyph_translation): Likewise.
1412
1413         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1414         instead of <const Emchar *>.
1415         (x_text_width): Likewise.
1416         (x_output_display_block): Use <Charc_dynarr *> instead
1417         <Emchar_dynarr *>; modify for <structure rune> change.
1418         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1419         *>.
1420
1421         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1422         <const Emchar *>; use `charc_string_displayed_columns' instead of
1423         `emchar_string_displayed_columns'.
1424         (tty_output_display_block): Use <Charc_dynarr *> instead of
1425         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1426         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1427         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1428         `tty_output_emchar_dynarr_dynarr'.
1429         (tty_output_charc_dynarr): New function; delete
1430         `tty_output_charc_dynarr'.
1431
1432         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1433         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1434         <Emchar_dynarr *> for buf; use
1435         `convert_bufbyte_string_into_charc_dynarr' instead of
1436         `convert_bufbyte_string_into_emchar_dynarr'.
1437
1438         * frame.c (title_string_charc_dynarr): New variable; renamed from
1439         `title_string_emchar_dynarr'.
1440         (generate_title_string): Use `title_string_charc_dynarr' instead
1441         of `title_string_emchar_dynarr'; use
1442         `convert_charc_string_into_malloced_string' instead of
1443         `convert_emchar_string_into_malloced_string'.
1444         (init_frame): Use `title_string_charc_dynarr' instead of
1445         `title_string_emchar_dynarr'.
1446
1447         * console.h:
1448         - Include "character.h".
1449         (struct console_methods): Use <const Charc *> instead of <const
1450         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1451         <Emchar_dynarr *> in output_string_method.
1452
1453         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1454         <Emchar_dynarr *>.
1455
1456         * console-stream.c (stream_text_width): Use <const Charc *>
1457         instead of <const Emchar *>.
1458
1459         * character.h (Charc_dynarr): New type.
1460
1461         * char-ucs.h (structure Charc): New structure; define new type
1462         `Charc'.
1463
1464         * char-lb.h (DECODE_CHAR): New inline function.
1465         (encode_char_1): New inline function.
1466         (ENCODE_CHAR): New macro.
1467         (structure Charc): New structure; define new type `Charc'.
1468
1469         * char-1byte.h (Vcharset_control_1): New macro.
1470         (Vcharset_latin_iso8859_1): New macro.
1471         (DECODE_CHAR): New inline function.
1472         (encode_char_1): New inline function.
1473         (ENCODE_CHAR): New macro.
1474         (structure Charc): New structure; define new type `Charc'.
1475
1476         * insdel.c (find_charsets_in_charc_string): New function; delete
1477         `find_charsets_in_emchar_string'.
1478         (charc_string_displayed_columns): New function; delete
1479         `emchar_string_displayed_columns'.
1480         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1481         `convert_bufbyte_string_into_emchar_dynarr'.
1482         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1483         `convert_charc_string_into_bufbyte_dynarr'.
1484         (convert_charc_string_into_malloced_string): New function; delete
1485         `convert_charc_string_into_malloced_string'.
1486
1487         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1488         `find_charsets_in_emchar_string'.
1489         (charc_string_displayed_columns): New prototype; delete
1490         `emchar_string_displayed_columns'.
1491         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1492         `convert_charc_string_into_bufbyte_dynarr'.
1493         (convert_charc_string_into_malloced_string): New prototype; delete
1494         `convert_charc_string_into_malloced_string'.
1495
1496 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1497
1498         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1499
1500 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1501
1502         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1503
1504         * char-ucs.h: Use <short> for <Charset_ID>.
1505
1506         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1507         <Charset_ID>.
1508
1509 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1510
1511         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1512         to 0.16.
1513
1514 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1515
1516         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1517         variable.
1518         (Qmorohashi_daikanwa): New variable.
1519         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1520         for `morohashi-daikanwa' attribute.
1521         (Fget_char_attribute): Likewise.
1522         (Fput_char_attribute): Likewise.
1523         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1524         has the same value of `ideograph-daikanwa'.
1525         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1526         (vars_of_mule_charset): Setup
1527         `Vcharacter_morohashi_daikanwa_table'.
1528
1529 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1530
1531         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1532         attributes.
1533         (add_charset_to_list_mapper): Add `key' instead of
1534         `XCHARSET_NAME (value)' to return aliases.
1535
1536 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1539         variable.
1540         (Vcharacter_ideographic_strokes_table): New variable.
1541         (Qideographic_radical): New variable.
1542         (Qideographic_strokes): New variable.
1543         (Fchar_attribute_alist): Use
1544         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1545         attribute; use `Vcharacter_ideographic_strokes_table' for
1546         `ideographic-strokes' attribute.
1547         (Fget_char_attribute): Likewise.
1548         (Fput_char_attribute): Likewise.
1549         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1550         `ideographic-strokes'.
1551         (vars_of_mule_charset): Setup
1552         `Vcharacter_ideographic_radical_table' and
1553         `Vcharacter_ideographic_strokes_table'.
1554
1555 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1556
1557         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1558         (Qtotal_strokes): New variable.
1559         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1560         `total-strokes' attribute.
1561         (Fget_char_attribute): Likewise.
1562         (Fput_char_attribute): Likewise.
1563         (syms_of_mule_charset): Add new symbol `total-strokes'.
1564         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1565
1566 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1567
1568         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1569         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1570         are found.
1571         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1572         `->decomposition' attribute.
1573         (Fput_char_attribute): Likewise.
1574         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1575
1576 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1577
1578         * mule-charset.c (decoding_table_check_elements): New function.
1579         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1580
1581 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1582
1583         * mule-charset.c (Fset_charset_mapping_table): Use
1584         `put_char_ccs_code_point'.
1585
1586 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * mule-charset.c (decoding_table_put_char): New inline function.
1589         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1590
1591 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1592
1593         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1594         (XCHARSET_BYTE_SIZE): New macro.
1595         (decoding_table_remove_char): New inline function.
1596         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1597         `decoding_table_remove_char'.
1598         (remove_char_ccs): Use `decoding_table_remove_char'.
1599         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1600
1601 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * mule-charset.c (Vcharacter_name_table): New variable.
1604         (Qname): New variable.
1605         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1606         attribute.
1607         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1608         `Vcharacter_name_table' for `name' attribute.
1609         (Fremove_char_attribute): Use function `remove_char_ccs'.
1610         (put_char_ccs_code_point): New function.
1611         (remove_char_ccs): New function.
1612         (syms_of_mule_charset): Add new symbol `name'.
1613         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1614
1615 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * mule-charset.c (make_byte_table): Add new argument `older'.
1618         (make_char_id_table): Likewise.
1619         (copy_char_id_table): Comment out because it is not used.
1620         (put_char_id_table): Modify for `make_byte_table'.
1621         (Fput_char_attribute): Make encoding_table as older object;
1622         inherit older bit of `Vcharacter_composition_table'.
1623         (mark_charset): Don't mark `cs->encoding_table'.
1624         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1625         normal object; make `Vcharacter_composition_table' as an older
1626         object; delete staticpro for `Vcharacter_composition_table'; make
1627         `Vcharacter_variant_table' as a normal object.
1628
1629         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1630         (mark_object): Don't check older object in UTF-2000.
1631
1632         * lrecord.h (struct lrecord_header): Add new member `older' in
1633         UTF-2000.
1634         (set_lheader_implementation): Setup `SLI_header->older' in
1635         UTF-2000.
1636         (set_lheader_older_implementation): New macro in UTF-2000.
1637         (OLDER_RECORD_P): New macro in UTF-2000.
1638         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1639         (alloc_older_lcrecord): New prototype in UTF-2000.
1640         (alloc_older_lcrecord_type): New macro in UTF-2000.
1641
1642 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * mule-charset.c (byte_table_description): Use
1645         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1646         (char_id_table_description): Delete bogus `, 1'.
1647         (Fget_char_attribute): Refer encoding_table of each coded-charset
1648         to get value of coded-charset attribute of a character.
1649         (Fput_char_attribute): Use `make_older_vector' instead of
1650         `make_vector'; use encoding_table of each coded-charset to store
1651         value of coded-charset attribute of a character.
1652         (Fremove_char_attribute): Use encoding_table of each coded-charset
1653         to store value of coded-charset attribute of a character.
1654         (mark_charset): Mark `cs->encoding_table'; don't mark
1655         `cs->decoding_table'.
1656         (charset_description): Add description of new member
1657         `encoding_table'.
1658         (make_charset): Initialize `encoding_table'.
1659
1660         * char-ucs.h (struct Lisp_Charset): Add new member
1661         `encoding_table'.
1662         (CHARSET_ENCODING_TABLE): New macro.
1663         (XCHARSET_ENCODING_TABLE): New macro.
1664         (charset_code_point): New implementation.
1665         (encode_char_1): Likewise.
1666
1667         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1668         (disksave_object_finalization_1): Call finalizers of
1669         `all_older_lcrecords' in UTF-2000.
1670         (make_older_vector): New function in UTF-2000.
1671         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1672         UTF-2000.
1673
1674         * lisp.h (make_older_vector): New prototype in UTF-2000.
1675
1676 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * lrecord.h (enum lrecord_type): Rename
1679         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1680
1681         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1682         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1683         `get_char_code_table'.
1684
1685         * mule-charset.c (mark_char_id_table): Renamed from
1686         `mark_char_code_table'.
1687         (char_id_table_equal): Renamed from `char_code_table_equal'.
1688         (char_id_table_hash): Renamed from `char_code_table_hash'.
1689         (make_char_id_table): Renamed from `make_char_code_table'.
1690         (copy_char_id_table): Renamed from `copy_char_code_table'.
1691         (get_char_id_table): Renamed from `get_char_code_table'.
1692         (put_char_id_table): Renamed from `put_char_code_table'.
1693         (to_char_id): Renamed from `to_char_code'.
1694
1695         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1696         `Lisp_Char_Code_Table'.
1697         (char_id_table): Renamed from `char_code_table'.
1698         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1699         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1700         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1701         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1702         (get_char_id_table): Renamed from `get_char_code_table'.
1703
1704 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1705
1706         * lrecord.h (enum lrecord_type): Rename
1707         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1708
1709         * mule-charset.c (mark_byte_table): Renamed from
1710         `mark_char_byte_table'.
1711         (byte_table_equal): Renamed from `char_byte_table_equal'.
1712         (byte_table_hash): Renamed from `byte_table_hash'.
1713         (make_byte_table): Renamed from `make_byte_table'.
1714         (copy_byte_table): Renamed from `copy_char_byte_table'.
1715
1716         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1717         `Lisp_Char_Byte_Table'.
1718         (byte_table): Renamed from `char_byte_table'.
1719         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1720         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1721         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1722         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1723
1724 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1725
1726         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1727         (dfc_convert_to_internal_format): Likewise.
1728         
1729         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1730         * text-coding.c (Fcoding_system_alias_p): New function.
1731         * text-coding.c (Fcoding_system_aliasee): New function.
1732         * text-coding.c (append_suffix_to_symbol): New function.
1733         * text-coding.c (dangling_coding_system_alias_p): New function.
1734         * text-coding.c (Ffind_coding_system):
1735         * text-coding.c (Fcopy_coding_system):
1736         * text-coding.c (encode_coding_no_conversion):
1737         * text-coding.c (syms_of_file_coding):
1738         * text-coding.c (vars_of_file_coding):
1739         Rewrite coding system alias code.
1740         Allow nested aliases, like symbolic links.
1741         Allow redefinition of coding system aliases.
1742         Prevent existence of dangling coding system aliases.
1743         Eliminate convert_to_external_format.
1744         Eliminate convert_to_internal_format.
1745         
1746         * text-coding.c: Change enum eol_type to eol_type_t.
1747
1748 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1749
1750         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1751         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1752
1753         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1754         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1755
1756 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1757
1758         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1759         `ideograph-daikanwa'.
1760
1761         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1762         (Vcharset_ucs_bmp): Likewise.
1763         (Vcharset_mojikyo): Add new extern variable definition.
1764         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1765         (Vcharset_latin_iso8859_3): Likewise.
1766         (Vcharset_latin_iso8859_4): Likewise.
1767         (Vcharset_latin_iso8859_9): Likewise.
1768         (Vcharset_latin_viscii_lower): Likewise.
1769         (Vcharset_latin_viscii_upper): Likewise.
1770         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1771         `mojikyo' code-point is used to decode.
1772         (encode_char_2): New function [to convert `mojikyo' code-point to
1773         Mojikyo font encoding].
1774         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1775         (breakup_char_1): Likewise.
1776         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1777
1778 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1779
1780         * text-coding.c (Fmake_coding_system): Add document about
1781         `disable-composition' property.
1782
1783 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * text-coding.c (Qdisable_composition): New variable; delete
1786         `Qcomposite'.
1787         (Fmake_coding_system): Add new property `disable-composite';
1788         delete property `composite'.
1789         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1790         instead of `!CODING_SYSTEM_COMPOSITE'.
1791         (syms_of_file_coding): Add new symbol `disable-composition';
1792         delete symbol `composite'.
1793
1794         * file-coding.h (struct Lisp_Coding_System): Add
1795         `disable_composition'; delete `enable_composition'.
1796         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1797         `CODING_SYSTEM_COMPOSITE'.
1798         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1799         `XCODING_SYSTEM_COMPOSITE'.
1800
1801 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1802
1803         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1804         to 0.15.
1805
1806 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1807
1808         * text-coding.c (Qcomposite): New variable.
1809         (Fmake_coding_system): Add new property `composite'.
1810         (struct decoding_stream): Add `combined_char_count',
1811         `combined_chars' and `combining_table' in UTF-2000.
1812         (COMPOSE_FLUSH_CHARS): New macro.
1813         (COMPOSE_ADD_CHAR): New macro.
1814         (reset_decoding_stream): Reset `str->combined_char_count' and
1815         `str->combining_table' in UTF-2000.
1816         (decode_coding_iso2022): Modify for character-decomposition.
1817         (syms_of_file_coding): Add new symbol `composite'.
1818
1819 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1822         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1823         of `Vcharacter_composition_table' if `->decomposition' property
1824         has only 1 element.
1825         (Qlatin_tcvn5712): New variable.
1826         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1827         (complex_vars_of_mule_charset): Add new coded-charset
1828         `latin-tcvn5712'.
1829
1830         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1831
1832 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1833
1834         * file-coding.h (struct Lisp_Coding_System): Add
1835         `enable_composition'.
1836         (CODING_SYSTEM_COMPOSITE): New macro.
1837         (XCODING_SYSTEM_COMPOSITE): New macro.
1838
1839 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1840
1841         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1842
1843 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1844
1845         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1846         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1847
1848 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1849
1850         * mule-charset.c (Vcharset_mojikyo): New variable.
1851         (Fdefine_char): Don't use coded-charset which does not have
1852         non-builtin character range to allocate character-id.
1853         (Qmojikyo): New variable.
1854         (syms_of_mule_charset): Add new symbol `mojikyo'.
1855         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1856
1857         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1858         (LEADING_BYTE_MOJIKYO): New macro.
1859         (MIN_CHAR_MOJIKYO): New macro.
1860         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1861         (MAX_CHAR_MOJIKYO): New macro.
1862
1863 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1864
1865         * mule-charset.c (remove_char_attribute): Fixed.
1866
1867 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1868
1869         * mule-charset.c (remove_char_attribute): New function.
1870         (Fremove_char_attribute): New function.
1871         (encode_builtin_char_1): Comment out builtin-support for
1872         greek-iso8859-7 and cyrillic-iso8859-5.
1873         (Fdecode_char): Check `code' is an integer.
1874         (syms_of_mule_charset): Add `remove-char-attribute'.
1875         (MIN_CHAR_GREEK): Deleted.
1876         (MAX_CHAR_GREEK): Likewise.
1877         (MIN_CHAR_CYRILLIC): Likewise.
1878         (MAX_CHAR_CYRILLIC): Likewise.
1879         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1880         MAX_CHAR_GREEK for `greek-iso8859-7'.
1881
1882         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1883         (MAX_CHAR_GREEK): Likewise.
1884         (MIN_CHAR_CYRILLIC): Likewise.
1885         (MAX_CHAR_CYRILLIC): Likewise.
1886
1887 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1888
1889         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1890         format is used without `ucs' property.
1891         (Fdecode_char): Fix problem with GR representation.
1892         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1893         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1894
1895 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1896
1897         * mule-charset.c (make_builtin_char): New function.
1898         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1899         (Fset_charset_mapping_table): Modify for new representation of
1900         code-point.
1901         (Fdecode_char): New function.
1902         (syms_of_mule_charset): Add new builtin function `decode-char' in
1903         UTF-2000.
1904
1905         * char-ucs.h (make_builtin_char): New prototype.
1906         (DECODE_CHAR): New inline function.
1907         (MAKE_CHAR): Use `DECODE_CHAR'.
1908
1909 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1910
1911         * text-coding.c (parse_charset_conversion_specs): Use
1912         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1913         `XCHARSET_TYPE'.
1914         (iso2022_designate): Likewise.
1915
1916         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1917         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1918
1919         * mule-charset.c (Vcharset_ucs): New variable.
1920         (print_charset): Change design; use `CHARSET_CHARS' and
1921         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1922         (make_charset): Change signature to specify `chars' and
1923         `dimension' instead of `type'.
1924         (range_charset_code_point): Modify for 256^n-set.
1925         (encode_builtin_char_1): Encode as `ucs' in default.
1926         (Fmake_charset): Modify for `make_charset'.
1927         (Fmake_reverse_direction_charset): Likewise.
1928         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1929         UTF-2000.
1930         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1931         for `make_charset'.
1932
1933         * char-ucs.h (Vcharset_ucs): New variable.
1934         (LEADING_BYTE_UCS): New macro.
1935         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1936         and `chars' to `unsigned short' from `unsigned int'.
1937         (CHARSET_TYPE): Deleted.
1938         (XCHARSET_TYPE): Deleted.
1939
1940 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1941
1942         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1943
1944         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1945         (ENCODE_CHAR): New macro.
1946
1947 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1948
1949         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1950         to 0.14 (Kawachi-Katakami).
1951
1952 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1953
1954         * text-coding.c (char_encode_shift_jis): Modify for
1955         `charset_code_point'.
1956         (char_encode_iso2022): Likewise.
1957
1958         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1959         (integer) instead of list of <Lisp_Object>s (integers) as the
1960         format of code-point of a coded-charset.
1961         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1962         (encode_builtin_char_1): New function; delete
1963         `split_builtin_char'.
1964         (charset_code_point): Return <int> instead of <Lisp_Object>.
1965         (Fsplit_char): Don't use `SPLIT_CHAR'.
1966
1967         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1968         prototype for `split_builtin_char'.
1969         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1970         (charset_code_point): Likewise.
1971         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1972         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1973
1974 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1975
1976         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1977         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1978
1979 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1980
1981         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1982
1983         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1984         (MAX_CHAR_OBS_94x94): Deleted.
1985
1986 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1987
1988         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1989
1990         * char-ucs.h (MAX_CHAR_BMP): New macro.
1991
1992 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1993
1994         * text-coding.c: Sync with r21-2-24.
1995
1996 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1997
1998         * file-coding.c: Modify for UTF-2000.
1999
2000 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2001
2002         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2003         to 0.13 (Takaida).
2004
2005 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2006
2007         * mule-charset.c (split_builtin_char): Delete builtin support for
2008         `katakana-jisx0201'.
2009         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2010         BMP area in builtin representation.
2011
2012         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2013         `Vcharset_katakana_jisx0201'.
2014
2015 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2016
2017         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2018         (Qisolated): New variable.
2019         (Qinitial): New variable.
2020         (Qmedial): New variable.
2021         (Qfinal): New variable.
2022         (Qvertical): New variable.
2023         (Qsmall): New variable.
2024         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2025         `Qvertical' and `Qsmall'.
2026         (Qmojikyo_pj_[1 .. 21]): New variable.
2027         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2028         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2029         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2030         .. 21]'.
2031
2032 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2033
2034         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2035         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2036         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2037
2038 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2039
2040         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2041         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2042         BMP.
2043         (Qjapanese_jisx0208_1990): New variable.
2044         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2045         (complex_vars_of_mule_charset): Add new coded-charset
2046         `japanese-jisx0208-1990'.
2047
2048         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2049         (MIN_CHAR_JIS_X0208_1990): New macro.
2050         (MAX_CHAR_JIS_X0208_1990): New macro.
2051
2052 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2053
2054         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2055         coded-charset is not found.
2056
2057 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2058
2059         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2060         (Fdefine_char): Use `Fmake_char'.
2061
2062 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2063
2064         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2065         (Vcharset_hiragana_jisx0208): Deleted.
2066         (Vcharset_katakana_jisx0208): Deleted.
2067         (Qideograph_daikanwa): New variable.
2068         (Qhiragana_jisx0208): Deleted.
2069         (Qkatakana_jisx0208): Deleted.
2070         (split_builtin_char): Split `ideograph-daikanwa'.
2071         (Fsplit_char): New implementation for UTF-2000.
2072         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2073         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2074         (complex_vars_of_mule_charset): Add new coded-charset
2075         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2076         `katakana-jisx0208'.
2077
2078         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2079         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2080         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2081         (MIN_CHAR_DAIKANWA): New macro.
2082         (MAX_CHAR_DAIKANWA): New macro.
2083
2084 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2085
2086         * data.c (Fstring_to_number): Don't recognize floating point if
2087         base is not 10.
2088
2089 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2090
2091         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2092
2093 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2094
2095         * mule-charset.c (Qsquare): New variable.
2096         (to_char_code): Add `Qsquare'.
2097         (syms_of_mule_charset): Add new symbol `square'.
2098
2099 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2100
2101         * mule-charset.c (Qcircle): New variable.
2102         (to_char_code): Add `Qcircle'.
2103         (syms_of_mule_charset): Add new symbol `circle'.
2104
2105 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2106
2107         * mule-charset.c (Qfont): New variable.
2108         (to_char_code): Add `Qfont'.
2109         (syms_of_mule_charset): Add new symbol `font'.
2110
2111 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2112
2113         * mule-charset.c (Qsub): New variable.
2114         (to_char_code): Add `Qsub'.
2115         (syms_of_mule_charset): Add new symbol `sub'.
2116
2117 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2118
2119         * mule-charset.c (Fput_char_attribute): Convert each element of
2120         VALUE to GL position if ATTRIBUTE is a GR-set,
2121
2122 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2123
2124         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2125         coded-charset is a GR-set.
2126
2127 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2128
2129         * mule-charset.c (Fput_char_attribute): Check each element of
2130         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2131
2132 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2133
2134         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2135         UTF-2000.
2136         (Qethiopic_ucs): New variable in UTF-2000.
2137         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2138         (complex_vars_of_mule_charset): Add new coded-charset
2139         `ethiopic-ucs' in UTF-2000.
2140
2141         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2142         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2143         9)'.
2144         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2145         10)'.
2146         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2147
2148 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2149
2150         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2151         `ascii'.
2152
2153 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2154
2155         * mule-charset.c (Vcharacter_variant_table): New variable.
2156         (Q_ucs): New variable.
2157         (Fchar_variants): New function.
2158         (Fput_char_attribute): Register `->ucs' value to
2159         `Vcharacter_variant_table'.
2160         (syms_of_mule_charset): Add new function `char-variants' and new
2161         symbol `->ucs'.
2162         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2163
2164 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2165
2166         * mule-charset.c (get_char_code_table): Allow negative character
2167         code.
2168         (put_char_code_table): Likewise.
2169         (Vcharacter_composition_table): New variable.
2170         (Q_decomposition): New variable.
2171         (Qwide): New variable.
2172         (Qnarrow): New variable.
2173         (Qcompat): New variable.
2174         (QnoBreak): New variable.
2175         (Qsuper): New variable.
2176         (Qfraction): New variable.
2177         (to_char_code): New function.
2178         (Fget_composite_char): New function.
2179         (Fput_char_attribute): Register `->decomposition' value to
2180         `Vcharacter_composition_table'.
2181         (syms_of_mule_charset): Add new function `get-composite-char', new
2182         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2183         `super' and `fraction'.
2184         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2185
2186 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2187
2188         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2189         character; copy the return value.
2190
2191 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2192
2193         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2194
2195         * mule-charset.c (range_charset_code_point): Must use make_int.
2196         (split_builtin_char): New function.
2197
2198 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2199
2200         * mule-charset.c (char_byte_table): Change name from
2201         "char-code-table" to "char-byte-table".
2202         (mark_char_code_table): New function.
2203         (char_code_table_equal): New function.
2204         (char_code_table_hash): New function.
2205         (char_code_table_description): New constant.
2206         (char_code_table): New type.
2207         (make_char_code_table): New function.
2208         (copy_char_code_table): New function.
2209         (get_char_code_table): Modify for `char_code_table' type.
2210         (put_char_code_table): Likewise.
2211         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2212         (Kashiwara).
2213
2214         * char-ucs.h (char_code_table): New type.
2215         (XCHAR_CODE_TABLE): New macro.
2216         (XSETCHAR_CODE_TABLE): New macro.
2217         (CHAR_CODE_TABLE_P): New macro.
2218         (GC_CHAR_CODE_TABLE_P): New macro.
2219         (struct Lisp_Char_Code_Table): New structure.
2220
2221 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2222
2223         * mule-charset.c (Fmake_charset): Setup byte_offset for
2224         {94|96}^n-set.
2225
2226 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2227
2228         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2229         character.
2230
2231 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2232
2233         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2234         is found.
2235
2236 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2237
2238         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2239         charset, it is regarded as a charset.
2240         (put_char_attribute): New function in UTF-2000.
2241         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2242         charset, mapping-table of the charset is modified.
2243         (Fdefine_char): New function in UTF-2000.
2244         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2245         `Fput_char_attribute'.
2246         (syms_of_mule_charset): Add new function `define-char' and new
2247         symbol `ucs' in UTF-2000.
2248         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2249
2250 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2251
2252         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2253         non-UTF-2000 configuration.
2254
2255 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2256
2257         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2258         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2259
2260         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2261         deleted.
2262         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2263         (Fset_charset_mapping_table): Likewise.
2264
2265         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2266         (CHARSET_ENCODING_TABLE): Delete.
2267         (XCHARSET_ENCODING_TABLE): Delete.
2268         (charset_code_point): New interface.
2269
2270 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2271
2272         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2273         instead of `charset_get_byte1' and `charset_get_byte2'.
2274
2275         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2276         (charset_get_byte2): Deleted.
2277
2278 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2279
2280         * char-ucs.h (SPLIT_CHAR): New inline function.
2281         (breakup_char_1): Use `SPLIT_CHAR'.
2282
2283         * mule-charset.c (range_charset_code_point): New function.
2284         (charset_code_point): New function.
2285
2286         * char-ucs.h (range_charset_code_point): New interface.
2287         (breakup_char_1): Use `range_charset_code_point'.
2288
2289 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2290
2291         * mule-charset.c (Fmake_charset): Delete unused local variable
2292         `code_offset'.
2293
2294         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2295         (breakup_char_1): Find a charset and code-point in
2296         `Vcharacter_attribute_table'.
2297
2298 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2299
2300         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2301         to 0.10 (Yao).
2302
2303 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2304
2305         * mule-charset.c (Vcharacter_attribute_table): New variable.
2306         (Fchar_attribute_alist): New function.
2307         (Fget_char_attribute): New function.
2308         (Fput_char_attribute): New function.
2309         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2310         too.
2311         (syms_of_mule_charset): Add new function `char-attribute-alist',
2312         `get-char-attribute' and `put-char-attribute'.
2313         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2314
2315 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2316
2317         * mule-charset.c (Fmake_charset): Just use
2318         `get_unallocated_leading_byte'.
2319
2320         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2321         sets; don't use final-byte based number for private sets.
2322
2323 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2324
2325         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2326         integer.
2327
2328 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2329
2330         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2331         to 0.9.
2332
2333 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2334
2335         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2336         of `CHAR_LEADING_BYTE' in UTF-2000.
2337
2338         * insdel.c (find_charsets_in_bufbyte_string): Use
2339         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2340         (find_charsets_in_emchar_string): Likewise.
2341
2342         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2343         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2344
2345         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2346         (CHAR_CHARSET_ID): New macro.
2347
2348 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2349
2350         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2351         charset-id - MIN_LEADING_BYTE.
2352         (put_char_table): Likewise.
2353
2354 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2355
2356         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2357         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2358         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2359         (CHARSET_ID_OFFSET): New macro.
2360         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2361         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2362         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2363         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2364         4).
2365         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2366         5).
2367         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2368         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2369         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2370         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2371         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2372
2373 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2374
2375         * mule-charset.c (next_allocated_leading_byte): New variable in
2376         UTF-2000.
2377         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2378         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2379         (get_unallocated_leading_byte): Simply use
2380         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2381         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2382         UTF-2000.
2383
2384         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2385         (MAX_LEADING_BYTE_PRIVATE): New macro.
2386         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2387         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2388
2389 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2390
2391         * mule-charset.c (Fmake_charset): Allocate final-byte based
2392         charset-id for 94-set, 96-set and 94x94-set.
2393
2394 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2395
2396         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2397         ambiguous `else'.
2398         (Fmake_charset): Likewise.
2399         (complex_vars_of_mule_charset): Modify the font registry of
2400         `ucs-bmp' not to match `Ethiopic-Unicode'.
2401
2402 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2403
2404         * mule-charset.c (complex_vars_of_mule_charset): Add font
2405         registory of `ucs-bmp'.
2406
2407 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2408
2409         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2410         coded-charsets in `default-coded-charset-priority-list' when
2411         breaking up a character.
2412
2413         * mule-charset.c (Vcharset_latin_viscii): New variable.
2414         (Qlatin_viscii): New variable.
2415         (make_charset): Don't use `decoding_table'.
2416         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2417         byte_offset.
2418         (Fset_charset_mapping_table): New implementation.
2419         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2420         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2421         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2422         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2423         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2424         charset `latin_viscii'.
2425
2426         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2427         (CHARSET_TYPE_94X94): Change to 1 from 2.
2428         (CHARSET_TYPE_96): Change to 2 from 1.
2429         (CHARSET_TYPE_128): New macro.
2430         (CHARSET_TYPE_128X128): Change to 5 from 4.
2431         (CHARSET_TYPE_256): New macro.
2432         (CHARSET_TYPE_256X256): Change to 7 from 5.
2433         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2434
2435 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2436
2437         * text-coding.c (char_encode_shift_jis): Refer
2438         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2439         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2440
2441         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2442         (char_byte_table_equal): New function in UTF-2000.
2443         (char_byte_table_hash): New function in UTF-2000.
2444         (char_byte_table_description): New constant in UTF-2000.
2445         (char_byte_table): New type in UTF-2000.
2446         (make_char_byte_table): New function in UTF-2000.
2447         (copy_char_byte_table): New function in UTF-2000.
2448         (make_char_code_table): New macro in UTF-2000.
2449         (get_char_code_table): New function in UTF-2000.
2450         (put_char_code_table): New function in UTF-2000.
2451         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2452         (charset_description): Add setting in UTF-2000.
2453         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2454         `CHARSET_TO_BYTE1_TABLE(cs)'.
2455         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2456         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2457         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2458         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2459         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2460         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2461         `CHARSET_TO_BYTE2_TABLE(cs)'.
2462
2463         * char-ucs.h (char_byte_table): New type.
2464         (XCHAR_BYTE_TABLE): New macro.
2465         (XSETCHAR_BYTE_TABLE): New macro.
2466         (CHAR_BYTE_TABLE_P): New macro.
2467         (GC_CHAR_BYTE_TABLE_P): New macro.
2468         (struct Lisp_Char_Byte_Table): New structure.
2469         (get_char_code_table): New interface.
2470         (Emchar_to_byte_table): Deleted.
2471         (get_byte_from_character_table): Deleted.
2472         (struct Lisp_Charset): Add `encoding_table'; delete
2473         `to_byte1_table' and `to_byte2_table'.
2474         (CHARSET_ENCODING_TABLE): New macro.
2475         (CHARSET_TO_BYTE1_TABLE): Deleted.
2476         (CHARSET_TO_BYTE2_TABLE): Deleted.
2477         (XCHARSET_ENCODING_TABLE): New macro.
2478         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2479         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2480
2481 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2482
2483         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2484         `vietnamese-viscii-*'.
2485
2486 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2487
2488         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2489         (Qvietnamese_viscii_upper): New variable.
2490         (Fdefine_charset_alias): New function.
2491         (syms_of_mule_charset): Add new function `define-charset-alias'.
2492         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2493         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2494         `latin-viscii-*'.
2495
2496 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2497
2498         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2499         (MAX_CHAR_OBS_94x94): New macro.
2500         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2501         for 94x94 sets.
2502
2503         * mule-charset.c (put_byte_from_character_table): Change unit size
2504         from 128 to 256.
2505         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2506         not defined.
2507         (Fmake_reverse_direction_charset): Modify dummy argument of
2508         `make_charset' for non-UTF-2000 environment.
2509
2510 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2511
2512         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2513
2514         * mule-charset.c (destroy_byte_from_character_table): New macro.
2515         (latin_jisx0201_to_ucs): Deleted.
2516         (latin_iso8859_2_to_ucs): Deleted.
2517         (latin_iso8859_3_to_ucs): Deleted.
2518         (latin_iso8859_4_to_ucs): Deleted.
2519         (latin_iso8859_9_to_ucs): Deleted.
2520         (latin_viscii_lower_to_ucs): Deleted.
2521         (latin_viscii_upper_to_ucs): Deleted.
2522         (mark_charset): Mark `cs->decoding_table'.
2523         (Fcharset_mapping_table): Fix DOC-string.
2524         (Fset_charset_mapping_table): New function.
2525         (syms_of_mule_charset): Add nwe function
2526         `set-charset-mapping-table'.
2527         (complex_vars_of_mule_charset): Don't setup and use
2528         `latin_*_to_ucs'.
2529
2530 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2531
2532         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2533         charset.
2534
2535 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2536
2537         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2538         (Vcharset_katakana_jisx0208): New variable.
2539         (Qhiragana_jisx0208): New variable.
2540         (Qkatakana_jisx0208): New variable.
2541         (make_charset): Add new argument `byte_offset'.
2542         (charset_get_byte1): Modify for new coded-charset definition; use
2543         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2544         `XCHARSET_BYTE_OFFSET'.
2545         (Fmake_charset): Modify for `make_charset'.
2546         (Fmake_reverse_direction_charset): Likewise.
2547         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2548         `katakana-jisx0208'.
2549         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2550         `.'  in font registry of charset `katakana-jisx0201',
2551         `latin-jisx0201', `vietnamese-viscii-lower' and
2552         `vietnamese-viscii-upper'; modify DOC-string of charset
2553         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2554         registry of charset `japanese-jisx0208' not to use font for JIS
2555         X0208:1990; add new charset `hiragana-jisx0208' and
2556         `katakana-jisx0208'.
2557
2558         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2559         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2560         (struct Lisp_Charset): Add `byte_offset'.
2561         (CHARSET_BYTE_OFFSET): New macro.
2562         (XCHARSET_UCS_MIN): New macro.
2563         (XCHARSET_UCS_MAX): New macro.
2564         (XCHARSET_CODE_OFFSET): New macro.
2565         (XCHARSET_BYTE_OFFSET): New macro.
2566         (MIN_CHAR_HIRAGANA): New macro.
2567         (MAX_CHAR_HIRAGANA): New macro.
2568         (MIN_CHAR_KATAKANA): New macro.
2569         (MAX_CHAR_KATAKANA): New macro.
2570         (MAKE_CHAR): Modify for new coded-charset definition; use
2571         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2572         `XCHARSET_BYTE_OFFSET'.
2573
2574 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2575
2576         * mule-charset.c (CHAR96): Deleted.
2577         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2578         <Lisp_Object>.
2579         (latin_iso8859_2_to_ucs): Likewise.
2580         (latin_iso8859_3_to_ucs): Likewise.
2581         (latin_iso8859_4_to_ucs): Likewise.
2582         (latin_iso8859_9_to_ucs): Likewise.
2583         (latin_viscii_lower_to_ucs): Likewise.
2584         (latin_viscii_upper_to_ucs): Likewise.
2585         (latin_tcvn5712_to_ucs): Commented out.
2586         (make_charset): Change type of argument `decoding_table' from
2587         <Emchar*> to <Lisp_Object> [vector of characters].
2588         (Fmake_charset): Modify for `make_charset'.
2589         (Fmake_reverse_direction_charset): Likewise.
2590         (Fcharset_mapping_table): New function in UTF-2000.
2591         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2592         UTF-2000.
2593         (complex_vars_of_mule_charset): Modify for type change of
2594         `*_to_ucs'; modify for `make_charset'.
2595
2596         * char-ucs.h (struct Lisp_Charset): Change type of
2597         `decoding_table' from <Emchar*> to <Lisp_Object>.
2598         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2599
2600 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2601
2602         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2603         error with non-UTF-2000-Mule.
2604
2605 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2606
2607         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2608         in lisp again].
2609         (Vcharset_chinese_cns11643_4): Likewise.
2610         (Vcharset_chinese_cns11643_5): Likewise.
2611         (Vcharset_chinese_cns11643_6): Likewise.
2612         (Vcharset_chinese_cns11643_7): Likewise.
2613         (Qchinese_cns11643_3): Likewise.
2614         (Qchinese_cns11643_4): Likewise.
2615         (Qchinese_cns11643_5): Likewise.
2616         (Qchinese_cns11643_6): Likewise.
2617         (Qchinese_cns11643_7): Likewise.
2618         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2619         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2620         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2621         (complex_vars_of_mule_charset): Likewise.
2622
2623 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2624
2625         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2626         96-set.
2627         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2628         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2629
2630 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2631
2632         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2633         0xFF60.
2634         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2635         (breakup_char_1): Likewise.
2636
2637         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2638         one of them includes the specified character.
2639
2640 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2641
2642         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2643
2644 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2645
2646         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2647
2648 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2649
2650         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2651         definition for non-UTF-2000 Mule.
2652         (latin_iso8859_3_to_ucs): Likewise.
2653         (latin_iso8859_4_to_ucs): Likewise.
2654         (latin_iso8859_9_to_ucs): Likewise.
2655         (latin_jisx0201_to_ucs): Likewise.
2656         (MIN_CHAR_THAI): Likewise.
2657         (MAX_CHAR_THAI): Likewise.
2658         (MIN_CHAR_GREEK): Likewise.
2659         (MAX_CHAR_GREEK): Likewise.
2660         (MIN_CHAR_HEBREW): Likewise.
2661         (MAX_CHAR_HEBREW): Likewise.
2662         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2663         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2664         (MIN_CHAR_CYRILLIC): Likewise.
2665         (MAX_CHAR_CYRILLIC): Likewise.
2666
2667 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2668
2669         * char-ucs.h (breakup_char_1): Use
2670         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2671         thai-tis620 and katakana-jisx0201 area.
2672
2673 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2674
2675         * char-ucs.h (breakup_char_1): Use
2676         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2677         area.
2678
2679         * text-coding.c (reset_encoding_stream): Fixed.
2680         (char_encode_ucs4): Delete `& 255'.
2681
2682         * char-ucs.h (breakup_char_1): Use
2683         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2684
2685 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2686
2687         * file-coding.c (Fmake_coding_system): Don't set up
2688         `codesys->fixed.size'.
2689         (encode_coding_no_conversion): Don't refer
2690         `str->codesys->fixed.size'.
2691
2692 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2693
2694         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2695         (latin_a_char_to_byte1): Deleted.
2696         (latin_a_char_to_byte2): Deleted.
2697
2698 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2699
2700         * mule-charset.c (make_charset): Add new argument `ucs_min',
2701         `ucs_max' and `code_offset'.
2702         (charset_get_byte1): New implementation [delete specific charset
2703         depended implementations].
2704         (Fmake_charset): Modify for `make_charset'.
2705         (Fmake_reverse_direction_charset): Likewise.
2706         (complex_vars_of_mule_charset): Likewise.
2707
2708         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2709         `code_offset'.
2710         (CHARSET_UCS_MIN): New macro.
2711         (CHARSET_UCS_MAX): New macro.
2712         (CHARSET_CODE_OFFSET): New macro.
2713         (MAKE_CHAR): Delete charset depended definitions [except
2714         katakana-jisx0201].
2715
2716 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2717
2718         * char-ucs.h (breakup_char_1): Use
2719         `Vdefault_coded_charset_priority_list' for C0-Controls,
2720         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2721
2722 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2723
2724         * char-ucs.h (charset_get_byte1): New function.
2725         (XCHARSET_GET_BYTE1): Deleted.
2726         (charset_get_byte2): New function.
2727         (XCHARSET_GET_BYTE2): Deleted.
2728         (Vdefault_coded_charset_priority_list): New external variable.
2729         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2730         `Vdefault_preferred_coded_charset_list'.
2731
2732         * mule-charset.c (charset_get_byte1): New function.
2733         (charset_get_byte2): New function.
2734         (Vdefault_coded_charset_priority_list): New variable.
2735         (vars_of_mule_charset): Add new variable
2736         `default-coded-charset-priority-list'.
2737
2738 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2739
2740         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2741         (XCHARSET_GET_BYTE2): New inline function.
2742         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2743         `XCHARSET_GET_BYTE2'.
2744
2745 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2746
2747         * mule-charset.c (make_charset): Initialize
2748         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2749         NULL if table is not defined.
2750
2751 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2752
2753         * text-coding.c (char_encode_shift_jis): Use
2754         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2755         `ucs_to_latin_jisx0201'.
2756
2757         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2758         (ucs_to_latin_iso8859_2): Deleted.
2759         (ucs_to_latin_iso8859_3): Deleted.
2760         (ucs_to_latin_iso8859_4): Deleted.
2761         (ucs_to_latin_iso8859_9): Deleted.
2762         (ucs_to_latin_viscii_lower): Deleted.
2763         (ucs_to_latin_viscii_upper): Deleted.
2764         (ucs_to_latin_tcvn5712): Deleted.
2765         (make_charset): Add new argument `decoding_table'; set up
2766         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2767         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2768         `decoding_table' is defined in UTF-2000.
2769         (Fmake_charset): Modify for `make_charset'.
2770         (Fmake_reverse_direction_charset): Likewise.
2771         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2772         and `GENERATE_96_SET'.
2773
2774         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2775         (ucs_to_latin_jisx0201): Deleted.
2776         (latin_iso8859_2_to_ucs): Deleted.
2777         (ucs_to_latin_iso8859_2): Deleted.
2778         (latin_iso8859_3_to_ucs): Deleted.
2779         (ucs_to_latin_iso8859_3): Deleted.
2780         (latin_iso8859_4_to_ucs): Deleted.
2781         (ucs_to_latin_iso8859_4): Deleted.
2782         (latin_iso8859_9_to_ucs): Deleted.
2783         (ucs_to_latin_iso8859_9): Deleted.
2784         (latin_viscii_lower_to_ucs): Deleted.
2785         (ucs_to_latin_viscii_lower): Deleted.
2786         (latin_viscii_upper_to_ucs): Deleted.
2787         (ucs_to_latin_viscii_upper): Deleted.
2788         (struct Lisp_Charset): Renamed `encoding_table' to
2789         `to_byte1_table'; add `to_byte2_table'.
2790         (CHARSET_DECODING_TABLE): New macro.
2791         (CHARSET_TO_BYTE1_TABLE): New macro.
2792         (CHARSET_TO_BYTE2_TABLE): New macro.
2793         (XCHARSET_DECODING_TABLE): New macro.
2794         (XCHARSET_TO_BYTE1_TABLE): New macro.
2795         (XCHARSET_TO_BYTE2_TABLE): New macro.
2796         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2797         tables.
2798         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2799         don't use `ucs_to_*' tables.
2800
2801 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2802
2803         * text-coding.c (Fmake_coding_system): Don't set up
2804         `codesys->fixed.size'.
2805         (encode_coding_no_conversion): Use `if' instead of `switch'.
2806
2807         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2808
2809 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2810
2811         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2812         (Fmake_charset): Modify for `make_charset'.
2813         (Fmake_reverse_direction_charset): Likewise.
2814         (complex_vars_of_mule_charset): Likewise.
2815
2816 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2817
2818         * text-coding.c (char_encode_shift_jis): Use table
2819         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2820
2821 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2822
2823         * text-coding.c (text_encode_generic): Use `if' instead of
2824         `switch'.
2825         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2826         decode JIS-Latin.
2827
2828 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2829
2830         * text-coding.c (encode_coding_sjis): Deleted.
2831         (char_encode_shift_jis): New function.
2832         (char_finish_shift_jis): New function.
2833         (reset_encoding_stream): Set up `encode_char' and `finish' for
2834         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2835         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2836         (char_encode_utf8): Treat `eol_type'.
2837
2838 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2839
2840         * file-coding.c (decode_coding_iso2022): Use
2841         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2842
2843 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2844
2845         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2846         to 0.7 (Hirano).
2847
2848 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2849
2850         * char-lb.h (CHAR_COLUMNS): New macro.
2851
2852 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2853
2854         * text-coding.c (char_encode_ucs4): New function.
2855         (char_finish_ucs4): New function.
2856         (encode_coding_ucs4): Deleted.
2857         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2858         (text_encode_generic): Delete local variable `charset' and `half'.
2859         (ucs_to_mule_table): Deleted.
2860         (mule_to_ucs_table): Deleted.
2861         (Fset_ucs_char): Deleted.
2862         (ucs_to_char): Deleted.
2863         (Fucs_char): Deleted.
2864         (Fset_char_ucs): Deleted.
2865         (Fchar_ucs): Deleted.
2866         (decode_ucs4): Deleted.
2867         (mule_char_to_ucs4): Deleted.
2868         (encode_ucs4): Deleted.
2869         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2870         (decode_coding_utf8): Likewise.
2871         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2872         (char_encode_iso2022): Fixed.
2873         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2874         `Fset_char_ucs' and `Fchar_ucs'.
2875         (complex_vars_of_file_coding): Don't initialize
2876         `ucs_to_mule_table'.
2877
2878         * objects-tty.c (tty_initialize_font_instance): Don't use
2879         `XCHARSET_COLUMNS'.
2880
2881         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2882         UTF-2000.
2883
2884         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2885         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2886
2887         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2888         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2889         (emchar_string_displayed_columns): Likewise.
2890
2891         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2892         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2893         (string_column_at_point): Likewise.
2894         (Fmove_to_column): Likewise.
2895
2896         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2897         `encoding_table' and `decoding_table'.
2898         (CHARSET_REP_BYTES): Deleted.
2899         (XCHARSET_REP_BYTES): Deleted.
2900         (XCHARSET_COLUMNS): Deleted.
2901         (CHAR_COLUMNS): New macro.
2902         (lookup_composite_char): Deleted unconditionally.
2903         (composite_char_string): Likewise.
2904
2905 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2906
2907         * char-ucs.h (Emchar_to_byte_table): New type.
2908         (get_byte_from_character_table): New function interface.
2909         (Vcharset_latin_jisx0201): New variable.
2910         (latin_jisx0201_to_ucs): New variable.
2911         (ucs_to_latin_jisx0201): New variable.
2912         (Vcharset_latin_iso8859_2): New variable.
2913         (latin_iso8859_2_to_ucs): New variable.
2914         (ucs_to_latin_iso8859_2): New variable.
2915         (Vcharset_latin_iso8859_3): New variable.
2916         (latin_iso8859_3_to_ucs): New variable.
2917         (ucs_to_latin_iso8859_3): New variable.
2918         (Vcharset_latin_iso8859_4): New variable.
2919         (latin_iso8859_4_to_ucs): New variable.
2920         (ucs_to_latin_iso8859_4): New variable.
2921         (Vcharset_latin_iso8859_9): New variable.
2922         (latin_iso8859_9_to_ucs): New variable.
2923         (ucs_to_latin_iso8859_9): New variable.
2924         (Vcharset_latin_viscii_lower): New variable.
2925         (latin_viscii_lower_to_ucs): New variable.
2926         (ucs_to_latin_viscii_lower): New variable.
2927         (Vcharset_latin_viscii_upper): New variable.
2928         (latin_viscii_upper_to_ucs): New variable.
2929         (ucs_to_latin_viscii_upper): New variable.
2930         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2931         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2932         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2933         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2934         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2935         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2936         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2937         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2938         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2939         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2940
2941         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2942         (Vcharset_latin_viscii_upper): New variable.
2943         (make_byte_from_character_table): New function.
2944         (put_byte_from_character_table): New function.
2945         (get_byte_from_character_table): New function.
2946         (CHAR96): New macro.
2947         (ucs_to_latin_jisx0201): New variable.
2948         (latin_jisx0201_to_ucs): New variable.
2949         (ucs_to_latin_iso8859_2): New variable.
2950         (latin_iso8859_2_to_ucs): New variable.
2951         (ucs_to_latin_iso8859_3): New variable.
2952         (latin_iso8859_3_to_ucs): New variable.
2953         (ucs_to_latin_iso8859_4): New variable.
2954         (latin_iso8859_4_to_ucs): New variable.
2955         (ucs_to_latin_iso8859_9): New variable.
2956         (latin_iso8859_9_to_ucs): New variable.
2957         (ucs_to_latin_viscii_lower): New variable.
2958         (latin_viscii_lower_to_ucs): New variable.
2959         (ucs_to_latin_viscii_upper): New variable.
2960         (latin_viscii_upper_to_ucs): New variable.
2961         (ucs_to_latin_tcvn5712): New variable.
2962         (latin_tcvn5712_to_ucs): New variable.
2963         (Qlatin_viscii_lower): New variable.
2964         (Qlatin_viscii_upper): New variable.
2965         (syms_of_mule_charset): Set up new symbol
2966         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2967         (complex_vars_of_mule_charset): Set up new charset
2968         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2969         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2970         `ucs_to_<CHARSET>' tables.
2971
2972 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2973
2974         * text-coding.c: New file.
2975
2976 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2977
2978         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2979
2980         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2981         (MAKE_CHAR): Modify for `ucs-bmp'.
2982         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2983         non-MULE characters of BMP.
2984
2985 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2986
2987         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2988         to 0.6.
2989
2990 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2991
2992         * lstream.h:
2993         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2994         - Include character.h for `CHAR_ASCII_P'.
2995
2996         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2997
2998         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2999         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3000
3001         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3002         (BYTE_C0_P): Likewise.
3003         (BYTE_C1_P): Likewise.
3004         (Lstream_get_emchar_1): Likewise.
3005         (Lstream_fput_emchar): Likewise.
3006         (Lstream_funget_emchar): Likewise.
3007         (copy_internal_to_external): Likewise.
3008         (copy_external_to_internal): Likewise.
3009
3010         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3011         (BYTE_C0_P): Likewise.
3012         (BYTE_C1_P): Likewise.
3013         (Lstream_get_emchar_1): Likewise.
3014         (Lstream_fput_emchar): Likewise.
3015         (Lstream_funget_emchar): Likewise.
3016         (copy_internal_to_external): Likewise.
3017         (copy_external_to_internal): Likewise.
3018
3019         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3020         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3021
3022         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3023         (BYTE_ASCII_P): Moved to mb-1byte.h.
3024
3025 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3026
3027         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3028
3029         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3030         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3031         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3032         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3033         (VALIDATE_CHARPTR_FORWARD): Likewise.
3034         (simple_charptr_emchar): Moved to mb-multibyte.h.
3035         (simple_set_charptr_emchar): Likewise.
3036         (simple_charptr_copy_char): Likewise.
3037         (non_ascii_charptr_emchar): Likewise.
3038         (non_ascii_set_charptr_emchar): Likewise.
3039         (non_ascii_charptr_copy_char): Likewise.
3040         (charptr_emchar): Moved to mb-*byte.h.
3041         (set_charptr_emchar): Likewise.
3042         (charptr_copy_char): Likewise.
3043
3044         * mb-1byte.h, mb-multibyte.h: New files.
3045
3046 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3047
3048         * mb-utf-8.h (MULTIBYTE): New macro.
3049         (MAX_EMCHAR_LEN): Moved from buffer.h.
3050         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3051
3052         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3053
3054         * mb-lb.h, multibyte.h: New files.
3055
3056         * char-1byte.h (Charset_ID): Moved from buffer.h.
3057         (MIN_LEADING_BYTE): Likewise.
3058         (LEADING_BYTE_ASCII): Likewise.
3059         (NUM_LEADING_BYTES): Likewise.
3060         (CHARSETP): Likewise.
3061         (CHARSET_BY_LEADING_BYTE): Likewise.
3062         (XCHARSET_LEADING_BYTE): Likewise.
3063         (XCHARSET_GRAPHIC): Likewise.
3064         (XCHARSET_COLUMNS): Likewise.
3065         (XCHARSET_DIMENSION): Likewise.
3066         (CHAR_CHARSET): Likewise.
3067         (CHAR_LEADING_BYTE): Likewise.
3068         (BREAKUP_CHAR): Likewise.
3069         (Vcharset_ascii): Likewise.
3070
3071         * buffer.h: Include multibyte.h unconditionally.
3072         (VALID_CHARPTR_P): Moved to multibyte.h.
3073         (ASSERT_VALID_CHARPTR): Likewise.
3074         (REAL_INC_CHARPTR): Likewise.
3075         (REAL_INC_CHARBYTIND): Likewise.
3076         (REAL_DEC_CHARPTR): Likewise.
3077         (INC_CHARPTR): Likewise.
3078         (INC_CHARBYTIND): Likewise.
3079         (DEC_CHARPTR): Likewise.
3080         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3081         (VALIDATE_CHARPTR_FORWARD): Likewise.
3082         (charptr_n_addr): Likewise.
3083         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3084         (simple_charptr_emchar): Moved to multibyte.h.
3085         (simple_set_charptr_emchar): Likewise.
3086         (simple_charptr_copy_char): Likewise.
3087         (non_ascii_charptr_emchar): Likewise.
3088         (non_ascii_set_charptr_emchar): Likewise.
3089         (non_ascii_charptr_copy_char): Likewise.
3090         (charptr_emchar): Likewise.
3091         (set_charptr_emchar): Likewise.
3092         (charptr_copy_char): Likewise.
3093         (charptr_emchar_n): Likewise.
3094         (Charset_ID): Moved to char-1byte.h.
3095         (Vcharset_ascii): Likewise.
3096         (CHAR_CHARSET): Likewise.
3097         (CHAR_LEADING_BYTE): Likewise.
3098         (LEADING_BYTE_ASCII): Likewise.
3099         (NUM_LEADING_BYTES): Likewise.
3100         (MIN_LEADING_BYTE): Likewise.
3101         (CHARSETP): Likewise.
3102         (CHARSET_BY_LEADING_BYTE): Likewise.
3103         (XCHARSET_LEADING_BYTE): Likewise.
3104         (XCHARSET_GRAPHIC): Likewise.
3105         (XCHARSET_COLUMNS): Likewise.
3106         (XCHARSET_DIMENSION): Likewise.
3107         (BREAKUP_CHAR): Likewise.
3108
3109 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3110
3111         * character.h: Add document about interface for characters.
3112
3113         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3114         (MAKE_CHAR): Delete comment about
3115         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3116         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3117         (BREAKUP_CHAR): Modify name of arguments.
3118         (CHAR_CHARSET): Modify name of argument.
3119
3120         * buffer.h: Delete document about Emchar accessors.
3121
3122 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * character.h (CHAR_INTP): Moved from buffer.h
3125         (CHAR_OR_CHAR_INTP): Likewise.
3126         (XCHAR_OR_CHAR_INT): Likewise.
3127         (CHECK_CHAR_COERCE_INT): Likewise.
3128
3129         * buffer.h (CHAR_INTP): Moved to character.h
3130         (CHAR_OR_CHAR_INTP): Likewise.
3131         (XCHAR_OR_CHAR_INT): Likewise.
3132         (CHECK_CHAR_COERCE_INT): Likewise.
3133
3134 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3135
3136         * character.h:
3137         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3138         - Include char-1byte.h, char-lb.h or char-ucs.h.
3139
3140         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3141
3142         * buffer.h: Include character unconditionally.
3143         (valid_char_p): Moved to char-*.h.
3144         (non_ascii_valid_char_p): Moved to char-lb.h.
3145
3146         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3147
3148 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3149
3150         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3151         in UTF-2000 because it is not ported yet and not to use
3152         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3153         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3154         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3155
3156         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3157         (CHAR_ASCII_P): Moved from character.h.
3158
3159         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3160         (CHAR_ASCII_P): Likewise.
3161         (CHAR_FIELD1_MASK): Deleted.
3162         (CHAR_FIELD2_MASK): Deleted.
3163         (CHAR_FIELD3_MASK): Deleted.
3164         (MAX_CHAR_BASIC_LATIN): New macro.
3165         (CHAR_FIELD1): Deleted.
3166         (CHAR_FIELD2_INTERNAL): Deleted.
3167         (CHAR_FIELD3_INTERNAL): Deleted.
3168         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3169         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3170         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3171         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3172         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3173         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3174         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3175         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3176         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3177         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3178         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3179         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3180         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3181         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3182         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3183         (MIN_CHAR_COMPOSITION): Deleted.
3184         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3185         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3186
3187 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3188
3189         * buffer.h: Include mb-utf-8.h in UTF-2000.
3190
3191         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3192
3193         * mb-utf-8.h: New file.
3194
3195 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3196
3197         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3198         instead of `int'.
3199
3200         * mule-charset.h, buffer.h (Charset_ID): New type.
3201
3202 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3203
3204         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3205         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3206         instead of `MULE_CHAR_PRIVATE_OFFSET',
3207         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3208         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3209         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3210
3211         * character.h (Vcharset_japanese_jisx0212): New variable
3212         definition.
3213
3214 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3215
3216         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3217         (charset_by_attributes): Delete array about direction.
3218         (latin_a_char_to_charset): New variable in UTF-2000.
3219         (latin_a_char_to_byte1): New variable in UTF-2000.
3220         (latin_a_char_to_byte2): New variable in UTF-2000.
3221         (Qucs_bmp): New variable.
3222         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3223         `Bufbyte'.
3224         (next_allocated_2_byte_leading_byte): Likewise.
3225         (non_ascii_set_charptr_emchar): Likewise.
3226         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3227         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3228         `charset_by_attributes'.
3229         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3230         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3231         and `CHARSET_BY_LEADING_BYTE'.
3232         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3233         `utf-2000-version' to `vars_of_mule_charset'.
3234         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3235         define `leading-code-private-11' in UTF-2000; move setting of
3236         `utf-2000-version' from `syms_of_mule_charset'.
3237         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3238         UTF-2000.
3239
3240         * character.h (Charset_ID): New type.
3241         (LEADING_BYTE_UCS_BMP): New macro.
3242         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3243         (CHARSET_ID_OFFSET_94): New macro.
3244         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3245         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3246         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3247         final-byte.
3248         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3249         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3250         (CHARSET_ID_OFFSET_96): New macro.
3251         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3252         CHARSET_ID_OFFSET_96 and final-byte.
3253         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3254         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3255         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3256         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3257         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3258         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3259         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3260         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3261         (LEADING_BYTE_THAI_TIS620): Likewise.
3262         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3263         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3264         (CHARSET_ID_OFFSET_94x94): New macro.
3265         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3266         CHARSET_ID_OFFSET_94x94 and final-byte.
3267         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3268         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3269         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3270         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3271         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3272         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3273         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3274         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3275         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3276         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3277         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3278         (CHARSET_TYPE_128X128): New macro.
3279         (CHARSET_TYPE_256X256): New macro.
3280         (XCHARSET_PRIVATE_P): Delete unconditionally.
3281         (charset_by_attributes): Delete array about direction.
3282         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3283         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3284         (MIN_CHAR_94): New macro.
3285         (MAX_CHAR_94): New macro.
3286         (MIN_CHAR_96): New macro.
3287         (MAX_CHAR_96): New macro.
3288         (MIN_CHAR_94x94): New macro.
3289         (MAX_CHAR_94x94): New macro.
3290         (MIN_CHAR_96x96): New macro.
3291         (MAX_CHAR_96x96): New macro.
3292         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3293         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3294         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3295         - 32)'.
3296         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3297         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3298         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3299         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3300         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3301         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3302         `XCHARSET_LEADING_BYTE' to make code-point.
3303         (latin_a_char_to_charset): New variable.
3304         (latin_a_char_to_byte1): New variable.
3305         (latin_a_char_to_byte2): New variable.
3306         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3307         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3308         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3309
3310         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3311         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3312         (find_charsets_in_emchar_string): Likewise.
3313         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3314
3315         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3316         `int'.
3317         (decode_coding_iso2022): Likewise.
3318
3319         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3320         of `unsigned char'.
3321
3322         * redisplay.c (redisplay_text_width_emchar_string): Use
3323         `Charset_ID' instead of `unsigned char'.
3324         (redisplay_frame_text_width_string): Likewise.
3325
3326         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3327         `unsigned char'.
3328
3329         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3330         instead of `unsigned char'.
3331         (face_cachel_charset_font_metric_info): Likewise.
3332
3333         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3334         (get_non_ascii_char_table_value): Likewise.
3335         (get_char_table): Likewise.
3336         (put_char_table): Likewise.
3337         (map_over_other_charset): Likewise.
3338         (map_char_table): Likewise.
3339
3340         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3341         instead of `unsigned char'.
3342
3343 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3344
3345         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3346         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3347
3348         * mule-charset.c (leading_code_private_11): Don't define in
3349         UTF-2000.
3350
3351         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3352         in UTF-2000 because it is not ported yet and not to use
3353         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3354
3355 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3356
3357         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3358
3359 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3360
3361         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3362         in UTF-2000.
3363
3364         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3365         of unsigned char to store leading-byte.
3366
3367         * chartab.c (get_non_ascii_char_table_value): Don't use
3368         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3369
3370         * file-coding.c (encode_coding_big5): Delete bogus implementation
3371         in UTF2000.
3372
3373         * character.h (LEADING_BYTE_*): Delete definition for
3374         non-UTF-2000.
3375         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3376         (LEADING_BYTE_PREFIX_P): Deleted.
3377         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3378         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3379         (BUFBYTE_LEADING_BYTE_P): Deleted.
3380         (CHARSET_PRIVATE_P): Deleted unconditionally.
3381         (rep_bytes_by_first_byte): Deleted unconditionally.
3382         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3383         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3384         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3385         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3386         (CHAR_FIELD2): Deleted.
3387         (CHAR_FIELD3): Deleted.
3388         (MAKE_CHAR): Delete definition for non-UTF-2000.
3389         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3390         (breakup_char_1): New implementation.
3391         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3392         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3393
3394 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3395
3396         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3397         condition.
3398
3399 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3400
3401         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3402         (CHARSET_PRIVATE_P): Likewise.
3403         (XCHARSET_PRIVATE_P): Likewise.
3404         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3405
3406         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3407         UTF2000.
3408         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3409
3410 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3411
3412         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3413         (NUM_LEADING_BYTES): Changed from 128 to 256.
3414         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3415         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3416         UTF2000.
3417         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3418
3419         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3420         UTF2000.
3421         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3422         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3423         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3424         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3425         (Qchinese_cns11643_3): New variable in UTF2000.
3426         (Qchinese_cns11643_4): New variable in UTF2000.
3427         (Qchinese_cns11643_5): New variable in UTF2000.
3428         (Qchinese_cns11643_6): New variable in UTF2000.
3429         (Qchinese_cns11643_7): New variable in UTF2000.
3430         (syms_of_mule_charset): Define `chinese-cns11643-3',
3431         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3432         and `chinese-cns11643-7' in UTF2000.
3433         (vars_of_mule_charset): Initialize
3434         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3435         + 1 in UTF2000.
3436         (complex_vars_of_mule_charset): Setup charset
3437         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3438         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3439
3440 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3441
3442         * mule-charset.c: Move setting for `leading-code-private-11' from
3443         `syms_of_mule_charset' to `vars_of_mule_charset'.
3444
3445 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3446
3447         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3448         and `NUM_LEADING_BYTES' in assert.
3449
3450 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3451
3452         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3453         instead of 128.
3454         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3455         `NUM_LEADING_BYTES' instead of 128.
3456
3457 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3458
3459         * mule-charset.h (charset_by_leading_byte): Use
3460         `NUM_LEADING_BYTES' instead of 128.
3461         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3462
3463         * mule-charset.c (charset_by_leading_byte): Use
3464         `NUM_LEADING_BYTES' instead of 128.
3465         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3466
3467         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3468         128.
3469
3470 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3471
3472         * mule-charset.c (syms_of_mule_charset): Update to
3473         0.4 (Shin-Imamiya).
3474
3475 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3476
3477         * file-coding.c (encode_coding_sjis): New implementation for
3478         UTF2000.  (decode_coding_sjis): Ditto.
3479
3480 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3481
3482         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3483         Don't define in UTF2000.
3484
3485         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3486         defined.
3487
3488         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3489         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3490         MULE.
3491
3492 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3493
3494         * config.h.in (CHAR_IS_UCS4): New macro.
3495
3496         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3497         conventional MULE representation.
3498         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3499
3500         * mule-charset.h: Reverted to original.
3501
3502         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3503         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3504         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3505
3506         * character.h: New file.
3507
3508         * file-coding.c (Fmake_coding_system): Set 1 to
3509         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3510         defined.
3511         (encode_coding_no_conversion): New implementation for UTF2000.
3512
3513         * file-coding.h (struct Lisp_Coding_System): Add new member
3514         `fixed.size'.
3515
3516 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3517
3518         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3519         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3520         (encode_coding_iso2022): New implementation for UTF2000.
3521
3522 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3523
3524         * mule-canna.c (c2mu): New implementation for UTF2000.
3525         (m2c): Likewise.
3526
3527 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3528
3529         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3530
3531 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3532
3533         * file-coding.c (reset_encoding_stream): Set 0 to
3534         `str->iso2022.current_char_boundary' in UTF2000.
3535         (encode_utf8): Don't define in UTF2000.
3536         (encode_coding_utf8): New implementation for UTF-8 representation
3537         of UTF2000.
3538         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3539
3540 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3541
3542         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3543
3544         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3545         UTF2000.
3546         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3547
3548         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3549
3550         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3551         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3552         as UTF-8 in UTF2000.
3553         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3554         (non_ascii_valid_char_p): Don't define in UTF2000.
3555         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3556         (Lstream_get_emchar_1): Likewise.
3557         (utf-2000-version): New variable in UTF2000.
3558
3559         * lread.c (read_escape): Add new reader `u'.
3560
3561         * insdel.c (three_to_one_table): Don't define in UTF2000.
3562         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3563         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3564         UTF2000.
3565         (bytind_to_bufpos_func): Likewise.
3566         (buffer_mule_signal_inserted_region): Likewise.
3567         (vars_of_insdel): Don't initialize `three_to_one_table'.
3568         (init_buffer_text): Use `buf->text->mule_size' instead of
3569         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3570         UTF2000.
3571
3572         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3573         UTF-8 representation in UTF2000.
3574         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3575         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3576         (decode_coding_iso2022): Don't define local variable `lb' in
3577         UTF2000; don't use LEADING_BYTE in UTF2000; use
3578         `DECODE_ADD_UCS_CHAR' in UTF2000.
3579         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3580
3581         * config.h.in (UTF2000): New macro.
3582
3583         * buffer.h (struct buffer_text): Add new member `mule_size' and
3584         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3585         (valid_char_p): Return always 1 in UTF2000.
3586         (MAX_EMCHAR_LEN): 6 in UTF2000.
3587         (three_to_one_table): Don't define in UTF2000.
3588         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3589         UTF2000.
3590         (real_bytind_to_bufpos): Likewise.
3591
3592         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3593
3594 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3595
3596         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3597         representation change.
3598         (Vutf_2000_version): New variable.
3599         (leading_code_private_11): New variable.
3600         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3601         `leading-code-private-11'.
3602
3603         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3604         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3605         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3606         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3607         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3608         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3609         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3610         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3611         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3612         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3613         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3614         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3615         (MIN_CHAR_GREEK): New macro.
3616         (MAX_CHAR_GREEK): New macro.
3617         (MIN_CHAR_CYRILLIC): New macro.
3618         (MAX_CHAR_CYRILLIC): New macro.
3619         (MIN_CHAR_HEBREW): New macro.
3620         (MAX_CHAR_HEBREW): New macro.
3621         (MIN_CHAR_THAI): New macro.
3622         (MAX_CHAR_THAI): New macro.
3623         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3624         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3625         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3626         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3627         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3628         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3629         (CHAR_FIELD2): New inline function.
3630         (CHAR_FIELD3): New inline function.
3631         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3632         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3633         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3634         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3635         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3636         (MIN_CHAR_COMPOSITION): Likewise.
3637         (CHAR_LEADING_BYTE): Modified for character representation change.
3638         (MAKE_CHAR): Likewise.
3639
3640         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3641         (Vcharset_greek_iso8859_7): Likewise.
3642         (Vcharset_cyrillic_iso8859_5): Likewise.
3643         (Vcharset_hebrew_iso8859_8): Likewise.
3644         (Vcharset_thai_tis620): Likewise.
3645         (Vcharset_katakana_jisx0201): Likewise.
3646
3647 2001-01-26  Martin Buchholz <martin@xemacs.org>
3648
3649         * XEmacs 21.2.43 "Terspichore" is released.
3650
3651 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3652
3653         Type fiddling for window_config.saved_windows_count
3654         * window.c (struct window_config): 
3655         Make saved_windows_count member unsigned.
3656         * window.c (sizeof_window_config_for_n_windows): 
3657         Make parameter unsigned.
3658         * window.c (mark_window_config):
3659         * window.c (window_config_equal):
3660         * window.c (free_window_configuration):
3661         * window.c (Fset_window_configuration):
3662         * window.c (count_windows):
3663         * window.c (Fcurrent_window_configuration):
3664         * window.c (reinit_vars_of_window):
3665         Update all callers and users.
3666
3667 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3668
3669         Alignment correctness for flexible arrays.
3670         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3671         Make alignment-correct. Add interesting comments.
3672         * alloc.c (size_vector):
3673         * alloc.c (make_vector_internal):
3674         * alloc.c (make_bit_vector_internal):
3675         * alloc.c (sweep_bit_vectors_1):
3676         * fns.c (size_bit_vector):
3677         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3678         * window.c (sizeof_window_config_for_n_windows): 
3679         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3680
3681 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3682
3683         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3684
3685 2001-01-23  Andy Piper  <andy@xemacs.org>
3686
3687         * select.c (Fown_selection_internal): pass owned_p
3688
3689         * select-msw.c (mswindows_own_selection): New Signature.
3690
3691         * console.h (struct console_methods): add owned_p to
3692         _own_selection.
3693
3694         * select-x.c (x_own_selection): pass owned_p
3695         (hack_motif_clipboard_selection): use owned_p
3696         (vars_of_select_x): new variable -
3697         x_selection_strict_motif_ownership.
3698
3699 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3700
3701         * specifier.h (specifier_data_offset): Remove pointless parens.
3702         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3703
3704 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3705
3706         Make Lisp_Object sizeof methods be alignment-correct.
3707         pdump must restore objects to the same alignment as the C compiler
3708         assumes.  It really matters on SGIs.
3709         * lstream.c (aligned_sizeof_lstream): New.
3710         (sizeof_lstream): Use aligned_sizeof_lstream.
3711         (Lstream_new): Likewise.
3712         * opaque.c (aligned_sizeof_opaque): New.
3713         (sizeof_opaque): Use aligned_sizeof_opaque.
3714         (make_opaque): Likewise.
3715         * specifier.c (aligned_sizeof_specifier): New.
3716         (sizeof_specifier): Use aligned_sizeof_specifier.
3717         (make_specifier_internal): Likewise.
3718
3719 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3720
3721         * lstream.h (struct lstream): Use max_align_t for trailing data.
3722         * specifier.h (struct Lisp_Specifier): Likewise.
3723
3724 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3725
3726         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3727         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3728         (CCL_SUSPEND): Likewise.
3729         (CCL_INVALID_CMD): Likewise.
3730         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3731         (ccl_driver): Likewise.
3732         (CCL_WRITE_CHAR): Macro hygiene.
3733         (CCL_WRITE_STRING): Macro hygiene.
3734
3735 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3736
3737         Port "portable" dumper to SunOS 4 and HP-UX.
3738         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3739         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3740         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3741
3742 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3743
3744         * lisp.h (ALIGNOF): A better definition for C++.
3745
3746 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3747
3748         Macro hygiene.
3749         Fix printf warnings: int format, long int arg.
3750         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3751         (PUSH_FAILURE_POINT): Use correct printf formats.
3752         (POP_FAILURE_POINT): Use correct printf formats.  
3753         Use do {...} while (0)
3754
3755 2001-01-20  Martin Buchholz <martin@xemacs.org>
3756
3757         * XEmacs 21.2.42 "Poseidon" is released.
3758
3759 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3760
3761         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3762
3763 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3764
3765         De-kludgify FIXED_TYPE free list frobbing.
3766         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3767         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3768         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3769         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3770         * alloc.c (LRECORD_FREE_P): New.
3771         * alloc.c (MARK_LRECORD_AS_FREE): New.
3772         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3773         * alloc.c (STRUCT_FREE_P): Deleted.
3774         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3775         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3776         * alloc.c (STRING_CHARS_FREE_P): New.
3777         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3778         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3779         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3780         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3781         * alloc.c (resize_string): Use new definitions.
3782         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3783         * alloc.c (verify_string_chars_integrity): Use new definitions.
3784         * alloc.c (compact_string_chars): Use new definitions.
3785         * alloc.c: Update monster comments.
3786         * lrecord.h (lrecord_type): Add some new lrecord types for
3787         alloc.c's use.
3788
3789 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3790
3791         Improve alignment hackery.
3792         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3793         (max_align_t): Moved from opaque.h - general purpose.
3794         (ALIGN_PTR): Use size_t, not long.
3795         * opaque.h (max_align_t): Move to lisp.h.
3796
3797 2001-01-18  Norbert Koch  <nk@LF.net>
3798
3799         * gui.h: Fix and add prototypes to fix build problems.
3800
3801 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3802
3803         temacs is going away, so `dump-temacs' is now a bad name.
3804         * .dbxrc (dump-temacs): Rename to `dmp'.
3805         * .gdbinit (dump-temacs): Rename to `dmp'.
3806
3807 2001-01-17  Andy Piper  <andy@xemacs.org>
3808
3809         * glyphs.c (print_image_instance): comment to make martin happy.
3810
3811         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3812         change.
3813
3814         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3815         activation.
3816         (mswindows_tab_control_redisplay): warning suppression.
3817
3818         * glyphs-widget.c (widget_update): re-write to cope with updated
3819         items.
3820         (widget_instantiate): use new gui_item functions.
3821         (tab_control_update): deleted.
3822         (progress_gauge_update): deleted.
3823         (image_instantiator_progress_guage): take out update reference.
3824         (image_instantiator_tree_view): ditto.
3825         (image_instantiator_tab_control): ditto.
3826
3827         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3828         Right the new way.
3829         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3830         return whether anything was changed.
3831         (update_gui_item_keywords): as it sounds.
3832
3833         * gui.h: declare widget_gui_parse_item_keywords.
3834
3835         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3836         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3837
3838 2001-01-17  Martin Buchholz <martin@xemacs.org>
3839
3840         * XEmacs 21.2.41 "Polyhymnia" is released.
3841
3842 2001-01-16  Didier Verna  <didier@xemacs.org>
3843
3844         * glyphs.c (image_instantiate): don't use fallbacks when
3845         instantiating a face's background pixmap by inheritance.
3846
3847 2001-01-14  Mike Sperber <mike@xemacs.org>
3848
3849         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3850         Conditionalize accordingly.
3851
3852 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3853
3854         * dumper.c (pdump_file_get): Fix a compiler warning.
3855
3856 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3857
3858         Make Purify happy when pdumping.
3859         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3860         iniitalizing all bits of new lisp object memory.
3861         * symbols.c (Fmake_local_variable): Likewise.
3862         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3863         * symbols.c (Fdefvaralias): Likewise.
3864         * mule-charset.c (vars_of_mule_charset): Likewise.
3865
3866 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3867         Add the `-nd' flag when running pre-dump operations under the debugger.
3868         * .dbxrc (run-temacs): Add `-nd'.
3869         * .dbxrc (update-elc): Likewise.
3870         * .dbxrc (dump-temacs): Likewise.
3871         * .gdbinit (run-temacs): Likewise.
3872         * .gdbinit (check-temacs): Likewise.
3873         * .gdbinit (update-elc): Likewise.
3874         * .gdbinit (dump-temacs): Likewise.
3875
3876 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3877
3878         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3879         export OBJECT_MODE=64
3880         configure --pdump --use-union-type=no
3881         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3882         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3883
3884         * miscplay.c (sndcnv8U_2mono):
3885         Avoid two uses of `++' in the same expression.
3886         Suppresses a GCC warning.
3887
3888 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3889
3890         Make sure future compilers don't miscompile alloc.c.
3891         * alloc.c:
3892         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3893         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3894
3895 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3896
3897         * dumper.c: A little post-pdump-rename comment fixup.
3898
3899 2001-01-09  Jerry James  <james@eecs.ku.edu>
3900
3901         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3902
3903 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3904
3905         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3906         script:
3907         #!/bin/sh
3908         replace_symbol () {
3909           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3910         }
3911
3912         replace_symbol pdump_wire_lists pdump_weak_object_chains
3913         replace_symbol pdump_wire_list dump_add_weak_object_chain
3914
3915         replace_symbol pdump_wires pdump_root_objects
3916         replace_symbol pdump_wire dump_add_root_object
3917
3918         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3919         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3920
3921         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3922         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3923         replace_symbol dumpstructinfo pdump_root_struct_ptr
3924         replace_symbol dumpstruct dump_add_root_struct_ptr
3925
3926         replace_symbol dumpopaque dump_add_opaque
3927         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3928         replace_symbol dumpopaqueinfos pdump_opaques
3929         replace_symbol dumpopaqueinfo pdump_opaque
3930
3931         replace_symbol nb_structdump nb_root_struct_ptrs
3932         replace_symbol nb_opaquedump nb_opaques
3933
3934         replace_symbol align_table pdump_align_table
3935         replace_symbol dump_header pdump_header
3936
3937         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3938         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3939
3940
3941 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3942
3943         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3944         optimizing bytecount_to_charcount().
3945
3946 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3947
3948         * config.h.in:
3949         (HAVE_DLFCN_H): Removed.
3950         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3951
3952 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3953
3954         Portable dumper maintainability improvements.
3955         * alloc.c (staticpro):
3956         * alloc.c (staticpro_nodump):
3957         * alloc.c (garbage_collect_1):
3958         * alloc.c (reinit_alloc_once_early):
3959         * alloc.c (init_alloc_once_early):
3960         * alloc.c: Move dumper functions to alloc.c.
3961         * dumper.c (pdump_backtrace):
3962         * dumper.c (pdump_dump_structs):
3963         * dumper.c (pdump_dump_opaques):
3964         * dumper.c (pdump_dump_rtables):
3965         * dumper.c (pdump_dump_wired):
3966         * dumper.c (pdump):
3967         * dumper.c (pdump_load_check):
3968         * dumper.c (pdump_load_finish):
3969         * dumper.c (pdump_file_unmap):
3970         * dumper.c (pdump_file_get):
3971         * dumper.c (pdump_resource_free):
3972         * dumper.c (pdump_resource_get):
3973         * dumper.c (pdump_file_free):
3974         * dumper.c (pdump_file_try):
3975         * dumper.c (pdump_load):
3976         Remove fixed size limits on staticpro(), staticpro_nodump(),
3977         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3978         Remove custom code for dumping lrecord_implementations_table - use
3979         dumpopaque instead.
3980         Remove (most of the) custom code for dumping staticpros - dump it
3981         like any other dynarr.
3982
3983         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3984         * dumper.c: Moved functions from alloc.c.
3985         * alloc.c (dumpstruct): Moved to dumper.c.
3986         * alloc.c (dumpopaque): Likewise.
3987         * alloc.c (pdump_wire): Likewise.
3988         * alloc.c (pdump_wire_list): Likewise.
3989
3990         * lisp.h (Dynarr_sizeof): New.
3991         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3992         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3993         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3994
3995         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3996         * lisp.h (dumpopaque): ditto.
3997         * lisp.h (pdump_wire): ditto.
3998         * lisp.h (pdump_wire_list): ditto.
3999
4000 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4001
4002         * make-src-depend (PrintPatternDeps):
4003         Use `sort' to make output independent of perl version.
4004
4005 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4006
4007         Port to Netbsd 1.5.
4008         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4009         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4010
4011 2001-01-03  Didier Verna  <didier@xemacs.org>
4012
4013         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4014         that `focus_frame' is alive before thinking of calling
4015         `redisplay_redraw_cursor' on it.
4016
4017 2001-01-08  Martin Buchholz <martin@xemacs.org>
4018
4019         * XEmacs 21.2.40 is released.
4020
4021 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4022
4023         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4024
4025 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4026
4027         * alloc.c (dbg_valmask): Make const.
4028         * alloc.c (dbg_typemask): Make const.
4029         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4030         * alloc.c (dbg_valbits): Make const.
4031         * alloc.c (dbg_gctypebits): Make const.
4032
4033 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4034
4035         * redisplay-x.c (x_bevel_area):
4036         redisplay.h (struct rune):
4037         Typo fixes in comments.
4038
4039 2001-01-05  Andy Piper  <andy@xemacs.org>
4040
4041         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4042         adjustment.
4043
4044         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4045
4046 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4047
4048         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4049
4050         * mule-ccl.c (stack_idx_of_map_multiple):
4051         Non const global data must not be initialized!
4052         Found by MIYASHITA Hisashi.
4053
4054 2001-01-02  Andy Piper  <andy@xemacs.org>
4055
4056         * frame.c (change_frame_size): make sure frame size is always
4057         marked as changed.
4058
4059         * glyphs.c (image_instance_layout): minor code reuse.
4060
4061         * window.c (Fcurrent_window_configuration): revert previous
4062         change.
4063
4064 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4065
4066         * glyphs.h:
4067         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4068
4069 2000-12-31  Andy Piper  <andy@xemacs.org>
4070
4071         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4072         when widget gets unmapped.
4073
4074         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4075         function. Make sure widgets losing focus don't just drop it.
4076         (handle_focus_event_1): record the widget with focus.
4077
4078 2000-12-31  Andy Piper  <andy@xemacs.org>
4079
4080         * window.c (allocate_window): use
4081         make_image_instance_cache_hash_table.
4082         (make_dummy_parent): ditto.
4083         (Fset_window_configuration): ditto.
4084
4085         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4086
4087         * glyphs.c (process_image_string_instantiator): use
4088         INSTANTIATOR_TYPE.
4089         (get_image_instantiator_governing_domain): ditto.
4090         (normalize_image_instantiator): ditto.
4091         (instantiate_image_instantiator): ditto.
4092         (make_image_instance_1): ditto.
4093         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4094         (instantiator_eq_equal): new function for use with instance hash
4095         tables.
4096         (instantiator_eq_hash): ditto.
4097         (make_image_instance_cache_hash_table): create a suitable hash
4098         table for storing image instances.
4099
4100         * elhash.h (hash_table_weakness): new internal weakness type
4101         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4102         declare new functions.
4103
4104         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4105         another weakness type for glyphs.
4106         (make_standard_lisp_hash_table): new function split out from
4107         make_general_lisp_hash_table.
4108         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4109         (hash_table_instantiate): ditto.
4110         (Fmake_hash_table): ditto.
4111
4112 2000-12-31  Martin Buchholz <martin@xemacs.org>
4113
4114         * XEmacs 21.2.39 is released.
4115
4116 2000-12-29  Andy Piper  <andy@xemacs.org>
4117
4118         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4119
4120         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4121         the frame has changed so that we pick up geometry changes such as
4122         menubar visibility.
4123
4124 2000-12-28  Andy Piper  <andy@xemacs.org>
4125
4126         * lastfile.c (my_ebss): make a char array so we can pad the
4127         bss. Fixes cygwin unexec.
4128
4129         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4130
4131 2000-12-26  Andy Piper  <andy@xemacs.org>
4132
4133         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4134         comments and try and be more precise about a non-/SIGIO world.
4135         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4136         SIGIO.
4137
4138         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4139         we don't normalize to zero width or height.
4140
4141 2000-12-24  Andy Piper  <andy@xemacs.org>
4142
4143         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4144
4145 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4146
4147         * s/sco5.h: SCO 5 has pty support.
4148
4149 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4150
4151         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4152         input-method-xlib.c contains whole contents of input-method-xfs.c,
4153         so we can use input-method-xlib.c's code for USE_XFONTSET
4154         using #ifdefs.
4155         * input-method-xfs.c: removed.
4156
4157 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4158
4159         * file-coding.h (enum coding_category_type): reorder enumerators to
4160         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4161         (now one greater than largest real coding_category_type enumerator).
4162         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4163         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4164         Fcoding_category_list, Fset_coding_priority_list,
4165         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4166         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4167
4168 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4169
4170         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4171         * redisplay-output.c (redisplay_output_window): Clear top of window
4172         when face is changed.
4173         * redisplay-x.c (x_redraw_exposed_window): Call
4174         redisplay_clear_top_of_window.
4175         * redisplay.h: Publish redisplay_clear_top_of_window.
4176
4177 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4178
4179         * buffer.c (Fkill_buffer): Map over all devices.
4180         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4181         (list_windows): New function.
4182         (list_all_windows): Ditto.
4183         (Freplace_buffer_in_windows): Use them.
4184
4185 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4186
4187         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4188         (Fopen_database): Use `db_create' instead of `db_open'.
4189         (syms_of_database): Initialize Qqueue.
4190
4191 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4192
4193         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4194         buffer_local_face_property.
4195         * buffer.h (struct buffer): New member buffer_local_face_property.
4196         * window.c (Fset_window_buffer):  Mark window's face as changed
4197         when buffer has buffer local face.
4198         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4199         * objects.c (color_after_change): Set buffer_local_face_property
4200         when locale of face specifier is buffer.
4201         * objects.c (font_after_change): Ditto.
4202         * objects.c (face_boolean_after_change): Ditto.
4203         * glyphs.c (image_after_change): Ditto.
4204
4205 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4206
4207         * nt.c (mswindows_fstat): Report file permissions, volume serial
4208         number, etc. Code adapted from FSF Emacs 20.7.
4209
4210 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4211
4212         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4213         of stat when we don't have symbolic links, to make sure
4214         mswindows_stat is called on mswindows.
4215
4216 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4217
4218         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4219
4220 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4221
4222         * doprnt.c (emacs_doprnt_1): More printing fixes.
4223         Make printing of numbers compatible with libc and FSF Emacs.
4224         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4225         Use the system printf to do most of the hard work of formatting,
4226         instead of doprnt_1().
4227         Calculate memory to allocate for format string.
4228         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4229         (doprnt_1): Cleaner code and documentation.
4230
4231 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4232
4233         * Makefile.in.in: Use the loop variable to install headers.
4234
4235 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4236
4237         * window.c (Fsplit_window): Don't invalidate face cache.
4238
4239 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4240
4241         * minibuf.c (Fall_completions): Undo the previous change
4242         which removed checking elements start with space.
4243
4244 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4245
4246         * mule-canna.c: Didier suppression.
4247
4248 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4249
4250         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4251         (warning suppression).  Add English comment translations.
4252
4253 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4254
4255         * unexelfsgi.c (unexec): Better test for mmap failure.
4256
4257 2000-12-05  Martin Buchholz <martin@xemacs.org>
4258
4259         * XEmacs 21.2.38 is released.
4260
4261 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4262
4263         * redisplay.c (bar-cursor): Make a user variable.
4264
4265         * symsinit.h: Add init_postgresql_from_environment.
4266
4267 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4268
4269         * regex.c: Convert to clean C.
4270
4271 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4272
4273         * realpath.c:
4274         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4275         initialization.
4276         (sys_readlink): renamed to system_readlink to avoid conflict with
4277         the other sys_readlink.
4278
4279 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4280
4281         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4282
4283 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4284
4285         * postgresql.c (init_postgresql_from_environment): new function.
4286         (vars_of_postgresql): Move code initializing Lisp variables out and
4287         into init_postgresql_from_environment.
4288         emacs.c (main_1): Call init_postgresql_from_environment if and only
4289         if running a dumped XEmacs.
4290
4291 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4292
4293         * buffer.c: Make find-file-compare-truenames default to true on
4294         windows.
4295
4296         * realpath.c (win32_abs_start):
4297         (cygwin_readlink):
4298         (win32_readlink): New functions.
4299         (xrealpath): Return really real filenames on windows.
4300
4301         * fileio.c (Ffile_truename): Make file-truename work on windows.
4302
4303 2000-11-29  Didier Verna  <didier@xemacs.org>
4304
4305         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4306         * faces.c (update_face_cachel_data): use it.
4307         * faces.c (add_face_cachel): use it. Complete background pixmap
4308         frobbing in face cache if `update_face_cachel_data' has not done so.
4309
4310 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4311
4312         * search.c (string_match_1): Don't set last_thing_searched
4313         when search failed.
4314
4315 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4316
4317         * buffer.c: Include casetab.h
4318         (common_init_complex_vars_of_buffer): Use new case-table object.
4319         * buffer.h: Include casetab.h
4320         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4321         (DOWNCASE_TABLE_OF): Ditto.
4322         * bufslots.h: Remove char-tables and add case-table.
4323         * casetab.c: Include casetab.h
4324         (CASE_TABLE_P): Removed.
4325         (mark_case_table): New function.
4326         (allocate_case_table): New function.
4327         (Fcase_table_p): Use new case-table.
4328         (case_table_char): New function.
4329         (Fget_case_table): Ditto.
4330         (Fput_case_table): Ditto.
4331         (Fput_case_table_pair): Ditto.
4332         (Fcopy_case_table): Ditto.
4333         (Fcurrent_case_table): Return case-table.
4334         (Fstandard_case_table): Return case-table.
4335         (Fset_case_table): Fix doc-string.
4336         (set_case_table): Use case-table
4337         (syms_of_casetab): DEFSUBR new functions.
4338         (complex_vars_of_casetab): Set up standard case-table.
4339         * casetab.h: New file.
4340         * editfns.c: Include casetab.h
4341         (Fcompare_buffer_substrings): Use case-table.
4342         * inline.c: Include casetab.h
4343         * lisp.h: Remove bogus extern.
4344         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4345         * search.c: Include casetab.h
4346         (TRANSLATE_ASCII): Removed.
4347         (TRANSLATE): Unconditionally translate character.
4348         (looking_at_1): Use case-table.
4349         (string_match_1): Ditto.
4350         (fast_string_match): Ditto.
4351         (search_command): Ditto.
4352         (search_buffer): Separate boyer_moore.  Check whether
4353         boyer_moore is possible.
4354         (simple_search): New function.
4355         (boyer_moore): Separated from search_buffer. Translate char.
4356
4357 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4358
4359         * regex.c (RE_TR_ASCII): Removed.
4360         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4361         (PATFETCH): Call PATFETCH_RAW.
4362         (PATFETCH_RAW): Fetch Emchar.
4363         (PATUNFETCH): Decrement charptr.
4364         (GET_BUFFER_SPACE): Rename b to buf_end.
4365         (BUF_PUSH): Ditto.
4366         (BUF_PUSH_2): Ditto.
4367         (BUF_PUSH_3): Ditto.
4368         (EXTEND_BUFFER): Ditto.
4369         (SET_LIST_BIT): Ditto.
4370         (regex_compile): Ditto.  Translate non ASCII char.
4371         (compile_range): Ditto.
4372         (re_search_2): Ditto.
4373         (re_match_2_internal): Compare Emchar.
4374         (bcmp_translate): Ditto.
4375
4376 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4377
4378         * lisp.h (basic char/int typedefs):  comment improvement.
4379
4380 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4381
4382         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4383         unstomp inhibit_site_lisp.  Improve comments.
4384
4385 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4386
4387         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4388
4389 2000-11-28  Andy Piper  <andy@xemacs.org>
4390
4391         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4392         clipped display for windows in the gutter also.
4393         (redisplay_display_boxes_in_window_p): change semantics of return
4394         codes to be more intuitive.
4395
4396         * gutter.h: declare display_boxes_in_gutter_p.
4397
4398         * gutter.c (display_boxes_in_gutter_p): new function for
4399         redisplay.
4400
4401 2000-11-22  Andy Piper  <andy@xemacs.org>
4402
4403         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4404         autodetect domain.
4405
4406 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4407
4408         * callproc.c (Fold_call_process_internal):
4409         * gpm.c (Freceive_gpm_event):
4410         (tty_get_foreign_selection): Might be just warning supression.
4411         * fileio.c (Fwrite_region_internal):
4412         (Fset_visited_file_modtime):
4413         * keymap.c (event_matches_key_specifier_p):
4414         Initialize GCPROed variable.
4415
4416         * menubar-x.c (command_builder_find_menu_accelerator):
4417         Initialize before use.
4418
4419 2000-11-23  Andy Piper  <andy@xemacs.org>
4420
4421         * unexcw.c (unexec): make the resulting executable executable.
4422
4423 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4424
4425         * doc.c (get_doc_string):
4426         Use size_t, not int, for result of XSTRING_LENGTH.
4427
4428         * cmds.c (Fdelete_char):
4429         * cmds.c (Fpoint_at_eol):
4430         * cmds.c (Fself_insert_command):
4431         Use EMACS_INT, not int, for result of XINT.
4432         Someday, someone will want to insert more than 2**31 identical characters.
4433
4434         * cmds.c (Fdelete_char):
4435         * cmds.c (Fdelete_backward_char):
4436         * syntax.c (Fforward_word):
4437         * syntax.c (Fforward_comment):
4438         Make COUNT argument optional, for consistency with forward-char et al.
4439
4440 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4441
4442         * lisp.h:
4443         * print.c (long_to_string):
4444         Return a useful value: the pointer at end of data written.
4445
4446         * doprnt.c:
4447         Use `static const char * const' for constant strings.
4448         (union printf_arg): Delete `i', `ui' members.
4449         (get_doprnt_args):
4450         (emacs_doprnt_1):
4451         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4452         Do all printf-ing via the `l' specifier.
4453         Use EMACS_INT instead of int.
4454         Optimize.
4455
4456 2000-11-20  Didier Verna  <didier@xemacs.org>
4457
4458         * faces.c (update_face_cachel_data): don't frob the background
4459         pixmap when the window is being created. The face is needed but
4460         does not exist yet.
4461
4462 2000-11-20  Andy Piper  <andy@xemacs.org>
4463
4464         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4465         messing with a debug environment.
4466
4467 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4468
4469         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4470
4471 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4472
4473         * casetab.c (Fcase_table_p): Fix compile error and crash.
4474
4475 2000-11-18  Philip Aston  <philipa@mail.com>
4476
4477         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4478
4479 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4480
4481         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4482         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4483
4484 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4485
4486         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4487         * unexelf.c: Use HAVE_ELF_H.
4488         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4489         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4490         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4491         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4492         for testing.
4493         So this is an unexelfsgi.c from a different line of development.
4494
4495 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4496
4497         * regex.c (RE_TR_ASCII): New function.
4498         (RE_TRANSLATE): Call it.
4499
4500 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4501
4502         * buffer.h (TRT_TABLE_OF): Remove assert.
4503         (IN_TRT_TABLE_DOMAIN): Removed.
4504
4505 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4506
4507         * free-hook.c (log_gcpro):
4508         (show_gcprohist): Add support for GCPRO5.
4509
4510 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4511
4512         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4513
4514 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4515
4516         * symeval.h: Declare flush_all_buffer_local_cache.
4517
4518         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4519         (flush_buffer_local_cache): Added.
4520         (flush_all_buffer_local_cache): Added.
4521
4522         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4523
4524         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4525         (pdump_dump_data): Ditto.
4526         (pdump_reloc_one): Ditto.
4527         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4528         before dumping.
4529
4530
4531 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4532
4533         * buffer.c: Remove if 0'ed entry.
4534         * buffer.h: Rewrite TRT to use char-table.
4535         * bufslots.h: Remove mirror tables.
4536         * casetab.c: Remove mirror tables.
4537         (CASE_TABLE_P): New macro.
4538         (Fcase_table_p): Element of a case table is string or char-table.
4539         (make_mirror_trt_table): Removed.
4540         (set_case_table): Setup char-table from strings for backward
4541         compatibility.
4542         * dired.c (Fdirectory_files):
4543         * dired-msw.c: (mswindows_get_files):
4544         * lisp.h: Change prototype of re_pattern_buffer.
4545         * regex.c: (RE_TRANSLATE): New macro.
4546         (TRANSLATE_P): Ditto.
4547         Change translate to type RE_TRANSLATE_TYPE.
4548         * regex.h: Define RE_TRANSLATE_TYPE
4549         * search.c (TRANSLATE): New macro.
4550         (TRANSLATE_ASCII): New macro.
4551         Translate table is changed to Lisp_Object.
4552         (signal_failure): Inhibit return.
4553
4554 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4555
4556         * device-msw.c:
4557         * eldap.c:
4558         * event-Xt.c:
4559         * event-stream.c:
4560         * print.c:
4561         Do UNGCPRO before return.
4562
4563 2000-11-14  Martin Buchholz <martin@xemacs.org>
4564
4565         * XEmacs 21.2.37 is released.
4566
4567 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4568
4569         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4570         Add comments about discarded return value.
4571
4572 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4573
4574         * callint.c:
4575         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4576
4577 2000-10-27  Andy Piper  <andy@xemacs.org>
4578
4579         * gutter.c (Fset_default_gutter_position): default left and right
4580         gutters to visible.
4581         (calculate_gutter_size): calculate resonable heuristic for left
4582         and right gutter sizes.
4583         (specifier_vars_of_gutter): change left and right gutter sizes to
4584         autodetect.
4585         (calculate_gutter_size_from_display_lines): new function.
4586         (output_gutter): check for resizing on left and right gutters.
4587         (clear_gutter): don't special case top and left gutters.
4588         (specifier_vars_of_gutter): use new signature for
4589         set_specifier_caching.
4590
4591         * glyphs-x.c (x_redisplay_widget): spelling fix.
4592         * glyphs.c (specifier_vars_of_glyphs):
4593         * menubar.c (specifier_vars_of_menubar):
4594         * redisplay.c (specifier_vars_of_redisplay):
4595         * toolbar.c (specifier_vars_of_toolbar):
4596         * window.c (specifier_vars_of_window):
4597         * scrollbar.c (specifier_vars_of_scrollbar):
4598         (complex_vars_of_scrollbar): use new signature for
4599         set_specifier_caching.
4600
4601         * specifier.c (set_specifier_caching): include recompute flag.
4602         (recompute_one_cached_specifier_in_window): always recompute if
4603         flag set.
4604         (recompute_one_cached_specifier_in_frame): ditto.
4605
4606         * specifier.h (struct specifier_caching): add recompute flag.
4607
4608 2000-10-24  Andy Piper  <andy@xemacs.org>
4609
4610         * unexcw.c (copy_executable_and_dump_data_section): add new
4611         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4612         5.0 happy.
4613
4614 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4615
4616         * console-x.h (x_device): New member modifier_release_time.
4617         * event-Xt.c (x_handle_sticky_modifiers):
4618         Bound interval modifier keys are sticky.
4619         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4620         * events.h: extern it.
4621
4622 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4623
4624         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4625
4626 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4627
4628         * event-stream.c (execute_command_event): Preserve current_events
4629         and the like when event is misc-user-event.
4630         Inhibit quit during the call to maybe_echo_keys.
4631
4632 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4633
4634         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4635         symlink when buffer is killed.
4636         (inhibit_clash_detection): New variable.
4637
4638 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4639
4640         * console.c (Fset_input_method): Trigger redisplay on tty.
4641
4642 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4643
4644         * process.c (Fprocess_status): Revert to previous behavior:
4645         (process-status "nosuchprocess") ==> nil
4646
4647 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4648
4649         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4650         Work around another GCC 2.95.2 optimizer bug.
4651
4652 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4653
4654         * process.c (Fget_process): Use LIST_LOOP_2.
4655         (kill_buffer_processes): Use LIST_LOOP_2.
4656
4657         * minibuf.c (Fall_completions):
4658         Delete old non-functional code for FSF fourth argument.
4659
4660         * frame.c (frame_matches_frame_spec):
4661         Renamed from `frame_matches_frametype'.  Update all callers.
4662         (device_matches_device_spec):
4663         Renamed from 'device_matches_console_spec'.  Update all callers.
4664
4665         * doc.c (Fsubstitute_command_keys):
4666         Remove buffer overflow crash.  Small code cleanups.
4667
4668         * casetab.c (check_case_table): Simpler code.
4669
4670         * window.c (Freplace_buffer_in_windows):
4671         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4672         (and similar implementation) as Fdelete_windows_on.
4673         Update all callers.
4674
4675         * alloc.c (Fmake_list):
4676         * alloc.c (make_vector):
4677         * alloc.c (Fmake_vector):
4678         * alloc.c (make_bit_vector):
4679         * alloc.c (Fmake_bit_vector):
4680         * alloc.c (Fbit_vector):
4681         * alloc.c (Fmake_string):
4682         * alloc.c (Fpurecopy):
4683         * alloc.c (Fmemory_limit):
4684         * buffer.c:
4685         * buffer.c (Fget_buffer):
4686         * buffer.c (Fkill_buffer):
4687         * buffer.c (complex_vars_of_buffer):
4688         * bytecode.c (Fcompiled_function_stack_depth):
4689         * callint.c (Fprefix_numeric_value):
4690         * event-stream.c:
4691         * event-stream.c (Fread_key_sequence):
4692         * casetab.c:
4693         * casetab.c (Fcase_table_p):
4694         * casetab.c (check_case_table):
4695         * casetab.c (Fset_case_table):
4696         * casetab.c (Fset_standard_case_table):
4697         * chartab.c:
4698         * chartab.c (Fchar_table_type):
4699         * chartab.c (Freset_char_table):
4700         * chartab.c (Fget_char_table):
4701         * chartab.c (Fget_range_char_table):
4702         * chartab.c (Fput_char_table):
4703         * chartab.c (Fmap_char_table):
4704         * chartab.c (Fcategory_table_p):
4705         * chartab.c (Fcheck_category_at):
4706         * chartab.c (Fchar_in_category_p):
4707         * chartab.c (Fcategory_table):
4708         * chartab.c (Fcopy_category_table):
4709         * chartab.c (Fset_category_table):
4710         * chartab.c (Fcategory_designator_p):
4711         * chartab.c (Fcategory_table_value_p):
4712         * cmds.c (Fdelete_char):
4713         * cmds.c (Fdelete_backward_char):
4714         * cmds.c (Fself_insert_command):
4715         * cmds.c (Fself_insert_internal):
4716         * console.c (Fvalid_console_type_p):
4717         * console.c (Fcdfw_console):
4718         * console.c (Fconsole_type):
4719         * console.c (Fconsole_name):
4720         * console.c (Fconsole_device_list):
4721         * console.c (Fconsole_on_window_system_p):
4722         * data.c:
4723         * data.c (Feq):
4724         * data.c (Fold_eq):
4725         * data.c (Fsubr_interactive):
4726         * data.c (Fchar_to_int):
4727         * data.c (Fint_to_char):
4728         * data.c (Fsetcar):
4729         * data.c (Fsetcdr):
4730         * data.c (Fnumber_to_string):
4731         * data.c (Fstring_to_number):
4732         * data.c (Frem):
4733         * database.c (mark_database):
4734         * database.c (finalize_database):
4735         * database.c (Fdatabase_live_p):
4736         * database.c (Fdatabasep):
4737         * device-x.c (Fx_get_resource):
4738         * device.c (Fdfw_device):
4739         * dired.c:
4740         * dired.c (Ffile_name_completion):
4741         * dired.c (Ffile_name_all_completions):
4742         * dired.c (Fuser_name_completion):
4743         * dired.c (Fuser_name_completion_1):
4744         * dired.c (Fuser_name_all_completions):
4745         * doc.c (Fdocumentation):
4746         * doc.c (Fdocumentation_property):
4747         * doc.c (Fsubstitute_command_keys):
4748         * editfns.c:
4749         * editfns.c (Fchar_to_string):
4750         * editfns.c (Fstring_to_char):
4751         * editfns.c (Ftemp_directory):
4752         * editfns.c (Finsert_char):
4753         * editfns.c (Fbuffer_substring_no_properties):
4754         * editfns.c (Fnarrow_to_region):
4755         * editfns.c (Fchar_equal):
4756         * editfns.c (Fchar_Equal):
4757         * editfns.c (Ftranspose_regions):
4758         * emacs.c (Fdump_emacs):
4759         * eval.c (Fthrow):
4760         * eval.c (Fcommand_execute):
4761         * eval.c (Fautoload):
4762         * eval.c (Fbacktrace):
4763         * eval.c (Fbacktrace_frame):
4764         * events.c:
4765         * events.c (Fcopy_event):
4766         * events.c (Fcharacter_to_event):
4767         * events.c (Fevent_button):
4768         * events.c (Fevent_process):
4769         * extents.c:
4770         * extents.c (Fnext_extent_change):
4771         * extents.c (Fextent_property):
4772         * faces.c (Ffacep):
4773         * faces.c (Fmake_face):
4774         * file-coding.c:
4775         * file-coding.c (Fencode_shift_jis_char):
4776         * file-coding.c (Fencode_big5_char):
4777         * fileio.c (Ffile_name_directory):
4778         * fileio.c (Ffile_name_nondirectory):
4779         * fileio.c (Ffile_name_as_directory):
4780         * fileio.c (Fdirectory_file_name):
4781         * fileio.c (Ffile_truename):
4782         * fileio.c (Fsubstitute_in_file_name):
4783         * fileio.c (Ffile_modes):
4784         * fileio.c (Fset_file_modes):
4785         * fileio.c (Fset_default_file_modes):
4786         * fileio.c (Fverify_visited_file_modtime):
4787         * floatfns.c (Facos):
4788         * floatfns.c (Fasin):
4789         * floatfns.c (Fatan):
4790         * floatfns.c (Fcos):
4791         * floatfns.c (Fsin):
4792         * floatfns.c (Ftan):
4793         * floatfns.c (Fbessel_j0):
4794         * floatfns.c (Fbessel_j1):
4795         * floatfns.c (Fbessel_jn):
4796         * floatfns.c (Fbessel_y0):
4797         * floatfns.c (Fbessel_y1):
4798         * floatfns.c (Fbessel_yn):
4799         * floatfns.c (Ferf):
4800         * floatfns.c (Ferfc):
4801         * floatfns.c (Flog_gamma):
4802         * floatfns.c (Fexp):
4803         * floatfns.c (Fexpt):
4804         * floatfns.c (Flog):
4805         * floatfns.c (Flog10):
4806         * floatfns.c (Fsqrt):
4807         * floatfns.c (Fcube_root):
4808         * floatfns.c (Facosh):
4809         * floatfns.c (Fasinh):
4810         * floatfns.c (Fatanh):
4811         * floatfns.c (Fcosh):
4812         * floatfns.c (Fsinh):
4813         * floatfns.c (Ftanh):
4814         * floatfns.c (Fabs):
4815         * floatfns.c (Ffloat):
4816         * floatfns.c (Flogb):
4817         * floatfns.c (Fceiling):
4818         * floatfns.c (Ffloor):
4819         * floatfns.c (Fround):
4820         * floatfns.c (Ftruncate):
4821         * floatfns.c (Ffceiling):
4822         * floatfns.c (Fffloor):
4823         * floatfns.c (Ffround):
4824         * floatfns.c (Fftruncate):
4825         * fns.c (Fstring_equal):
4826         * fns.c (Fstring_lessp):
4827         * fns.c (concat2):
4828         * fns.c (concat3):
4829         * fns.c (vconcat2):
4830         * fns.c (vconcat3):
4831         * fns.c (Fsubstring):
4832         * fns.c (Fassoc):
4833         * fns.c (Fold_assoc):
4834         * fns.c (assoc_no_quit):
4835         * fns.c (Fassq):
4836         * fns.c (Fold_assq):
4837         * fns.c (assq_no_quit):
4838         * fns.c (Frassoc):
4839         * fns.c (Fold_rassoc):
4840         * fns.c (Frassq):
4841         * fns.c (Fold_rassq):
4842         * fns.c (rassq_no_quit):
4843         * fns.c (Fremassoc):
4844         * fns.c (remassoc_no_quit):
4845         * fns.c (Fremassq):
4846         * fns.c (remassq_no_quit):
4847         * fns.c (Fremrassoc):
4848         * fns.c (Fremrassq):
4849         * fns.c (remrassq_no_quit):
4850         * fns.c (Fsort):
4851         * fns.c (Fplist_get):
4852         * fns.c (Fplist_put):
4853         * fns.c (Fplist_remprop):
4854         * fns.c (Fplist_member):
4855         * fns.c (Flax_plist_get):
4856         * fns.c (Flax_plist_put):
4857         * fns.c (Flax_plist_remprop):
4858         * fns.c (Flax_plist_member):
4859         * fns.c (Fequal):
4860         * fns.c (Fold_equal):
4861         * fns.c (Frequire):
4862         * fns.c (Fbase64_encode_region):
4863         * fns.c (Fbase64_encode_string):
4864         * fns.c (Fbase64_decode_region):
4865         * frame.c:
4866         * frame.c (frame_matches_frame_spec):
4867         * frame.c (device_matches_device_spec):
4868         * frame.c (next_frame):
4869         * frame.c (previous_frame):
4870         * frame.c (Fnext_frame):
4871         * frame.c (Fprevious_frame):
4872         * frame.c (Fframe_property):
4873         * frame.c (Fset_frame_height):
4874         * frame.c (Fset_frame_size):
4875         * frame.h:
4876         * glyphs.c:
4877         * glyphs.c (if):
4878         * glyphs.c (decode_error_behavior_flag):
4879         * glyphs.c (Fmake_image_instance):
4880         * indent.c (Findent_to):
4881         * intl.c (Fignore_defer_gettext):
4882         * keymap.c (Fkeymapp):
4883         * keymap.c (Flookup_key):
4884         * lread.c:
4885         * lread.c (Fload_internal):
4886         * lread.c (Feval_buffer):
4887         * lread.c (Feval_region):
4888         * macros.c (Fexecute_kbd_macro):
4889         * marker.c (set_marker_internal):
4890         * marker.c (Fset_marker):
4891         * marker.c (set_marker_restricted):
4892         * marker.c (Fcopy_marker):
4893         * marker.c (noseeum_copy_marker):
4894         * menubar.c:
4895         * menubar.c (Fpopup_menu):
4896         * minibuf.c:
4897         * mule-charset.c (Fcharset_name):
4898         * mule-charset.c (Fchar_charset):
4899         * mule-charset.c (Fchar_octet):
4900         * mule-charset.c (Fsplit_char):
4901         * mule-wnnfns.c (Fwnn_open):
4902         * mule-wnnfns.c (Fwnn_dict_comment):
4903         * mule-wnnfns.c (Fwnn_quit_henkan):
4904         * mule-wnnfns.c (Fwnn_word_toroku):
4905         * mule-wnnfns.c (Fwnn_word_sakujo):
4906         * mule-wnnfns.c (Fwnn_word_use):
4907         * mule-wnnfns.c (Fwnn_hindo_set):
4908         * objects.c:
4909         * objects.c (Fmake_color_instance):
4910         * objects.c (Fmake_font_instance):
4911         * print.c (Fwrite_char):
4912         * process.c:
4913         * process.c (mark_process):
4914         * process.c (print_process):
4915         * process.c (get_process_from_usid):
4916         * process.c (Fprocessp):
4917         * process.c (Fprocess_live_p):
4918         * process.c (Fget_process):
4919         * process.c (Fget_buffer_process):
4920         * process.c (get_process):
4921         * process.c (Fprocess_id):
4922         * process.c (Fprocess_name):
4923         * process.c (Fprocess_command):
4924         * process.c (init_process_io_handles):
4925         * process.c (start_process_unwind):
4926         * process.c (Fstart_process_internal):
4927         * process.c (Fopen_multicast_group_internal):
4928         * process.c (Fset_process_window_size):
4929         * process.c (read_process_output):
4930         * process.c (send_process):
4931         * process.c (Fprocess_tty_name):
4932         * process.c (Fset_process_buffer):
4933         * process.c (Fprocess_buffer):
4934         * process.c (Fprocess_mark):
4935         * process.c (set_process_filter):
4936         * process.c (Fset_process_filter):
4937         * process.c (Fprocess_filter):
4938         * process.c (Fprocess_send_region):
4939         * process.c (Fprocess_send_string):
4940         * process.c (exec_sentinel):
4941         * process.c (Fset_process_sentinel):
4942         * process.c (Fprocess_sentinel):
4943         * process.c (status_notify):
4944         * process.c (Fprocess_status):
4945         * process.c (Fprocess_exit_status):
4946         * process.c (process_send_signal):
4947         * process.c (Fprocess_send_eof):
4948         * process.c (deactivate_process):
4949         * process.c (remove_process):
4950         * process.c (Fdelete_process):
4951         * process.c (kill_buffer_processes):
4952         * process.c (Fprocess_kill_without_query):
4953         * process.c (Fprocess_kill_without_query_p):
4954         * rangetab.c:
4955         * rangetab.c (Fget_range_table):
4956         * rangetab.c (Fput_range_table):
4957         * rangetab.c (Fremove_range_table):
4958         * rangetab.c (Fclear_range_table):
4959         * search.c:
4960         * search.c (Fskip_chars_forward):
4961         * search.c (Fskip_chars_backward):
4962         * search.c (Fskip_syntax_forward):
4963         * search.c (Fskip_syntax_backward):
4964         * search.c (search_command):
4965         * search.c (Freplace_match):
4966         * search.c (Fregexp_quote):
4967         * select.c (Fown_selection_internal):
4968         * select.c (Fselection_owner_p):
4969         * select.c (Fselection_exists_p):
4970         * select.c (Fget_selection_internal):
4971         * specifier.c:
4972         * symbols.c:
4973         * symbols.c (Fintern):
4974         * symbols.c (Fintern_soft):
4975         * symbols.c (Funintern):
4976         * symbols.c (Fapropos_internal):
4977         * symbols.c (Fset_default):
4978         * syntax.c:
4979         * syntax.c (Fsyntax_table_p):
4980         * syntax.c (Fcopy_syntax_table):
4981         * syntax.c (Fset_syntax_table):
4982         * syntax.c (Fchar_syntax):
4983         * syntax.c (syntax_match):
4984         * syntax.c (Fmatching_paren):
4985         * syntax.c (Fforward_word):
4986         * syntax.c (scan_lists):
4987         * syntax.c (Fscan_lists):
4988         * syntax.c (Fscan_sexps):
4989         * syntax.c (Fparse_partial_sexp):
4990         * toolbar.c (Fcheck_toolbar_button_syntax):
4991         * tooltalk.doc:
4992         * window.c:
4993         * window.c (Fwindowp):
4994         * window.c (Fwindow_live_p):
4995         * window.c (Fwindow_point):
4996         * window.c (Fdelete_window):
4997         * window.c (Fnext_window):
4998         * window.c (Fprevious_window):
4999         * window.c (Fother_window):
5000         * window.c (window_loop):
5001         * window.c (Fget_lru_window):
5002         * window.c (Fsplit_window):
5003         * window.c (Fenlarge_window):
5004         * window.c (Fenlarge_window_pixels):
5005         * window.c (Fshrink_window):
5006         * window.c (Fshrink_window_pixels):
5007         * window.c (change_window_height):
5008         * window.c (Fwindow_configuration_p):
5009         * window.c (Fcurrent_window_configuration):
5010         * window.h:
5011         * casefiddle.c (casify_object):
5012         * casefiddle.c (Fupcase):
5013         * casefiddle.c (Fdowncase):
5014         * casefiddle.c (Fcapitalize):
5015         * casefiddle.c (Fupcase_initials):
5016         * casefiddle.c (casify_region_internal):
5017         * casefiddle.c (casify_region):
5018         * casefiddle.c (Fupcase_region):
5019         * casefiddle.c (Fdowncase_region):
5020         * casefiddle.c (Fcapitalize_region):
5021         * casefiddle.c (Fupcase_initials_region):
5022         * casefiddle.c (Fupcase_word):
5023         * casefiddle.c (Fdowncase_word):
5024         * casefiddle.c (Fcapitalize_word):
5025         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5026         Replace 0 with '\0' when working with bytes.
5027         Replace initial "(" with "\(" in docstrings.
5028
5029 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5030
5031         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5032
5033         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5034
5035 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5036
5037         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5038
5039 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5040
5041         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5042         correctly.
5043
5044 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5045
5046         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5047         (inhibit_auto_save_session): New variable.
5048         (vars_of_fileio): Declare and initialize them.
5049         * fileio.c (Fdo_auto_save): Don't create session file if
5050         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5051
5052 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5053
5054         * sgiplay.c (play_internal): C++ compilability.
5055         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5056         * callproc.c (Fold_call_process_internal):
5057         Remove unused vars `env', `first'.
5058         * scrollbar.c (update_scrollbar_instance):
5059         #### unused var `current_window'.
5060         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5061         etc. within #ifdef NOT_YET.
5062         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5063         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5064         * specifier.c (specifier_instance):
5065         #### unused var `tag'.
5066         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5067
5068 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5069
5070         * fns.c (Fbutlast):
5071         * fns.c (list_sort):
5072         * fns.c (Ffillarray):
5073         * fns.c (bytecode_nconc2):
5074         * fns.c (Fnconc):
5075         * fns.c (mapcar1):
5076         * fns.c (Fmapconcat):
5077         Be pedantically 64-bit correct.  For the time when someone will
5078         want to have a list with length > 2**32.
5079
5080         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5081         Work around MIPSpro compiler bug.
5082
5083         * process-unix.c (unix_kill_child_process): Add snarky comment.
5084         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5085
5086         * config.h.in: Oops, _getpt ==> _getpty
5087
5088 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5089
5090         * config.h.in:
5091         * regex.c:
5092         Use void*, not char*, as return type of alloca().
5093
5094         * alloc.c (free_marker): Side effect inside assert expression!
5095
5096 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5097
5098         * mule-charset.c (Fset_charset_ccl_program): To check
5099         if the given ccl program is valid, use setup_ccl_program()
5100         instead of CHECK_VECTOR().
5101         (Fmake_charset): Likewise.
5102
5103 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5104
5105         * faces.c (get_extent_fragment_face_cache_index):
5106         Fix cachel.merged_faces memory leak.
5107
5108 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5109
5110         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5111         Reset MSB of octets obtained by DECODE_SJIS
5112         because of the incompatibility with Emacs.
5113         (ccl_driver)<CCL_ENCODE_SJIS>:
5114         Set MSB of octets before passing them to
5115         ENCODE_SJIS because of the incompatibility
5116         with Emacs.
5117
5118 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5119
5120         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5121         (DECLARE_LRECORD): Undo the last change.
5122         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5123
5124 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5125
5126         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5127         the implementation to lrecord_implementations_table.
5128
5129 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5130
5131         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5132         initial value of `lrecord_type_##c_name' and
5133         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5134         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5135         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5136         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5137         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5138
5139 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5140
5141         * miscplay.c (sndcnv8S_2mono):
5142         (sndcnv2monounsigned):
5143         (sndcnvULaw_2linear):
5144         (sndcnv16swap):
5145         Remove implementation-defined behavior.
5146
5147 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5148
5149         * input-method-xlib.c: Warning suppression.
5150
5151 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5152
5153         * mule-ccl.c: Sync up with Emacs 21.0.90.
5154         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5155         Do nothing.
5156         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5157         Likewise.
5158         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5159         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5160         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5161         leading char belongs to official 2-dimensional charset.
5162         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5163         write the given character as is.  Otherwise,
5164         if it is a multibyte char, convert it by
5165         non_ascii_set_charptr_emchar, then write it.
5166         (CCL_WRITE_STRING): Likewise.
5167         (ccl_get_compiled_code): New function.
5168         (setup_ccl_program): When ccl_prog is invalid,
5169         return -1.
5170         (Fregister_code_conversion_map): New function.
5171         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5172
5173         * mule-ccl.h: Sync up with Emacs 21.0.90.
5174         (Fregister_ccl_program): export it.
5175
5176         * redisplay-msw.c (separate_textual_runs):
5177         If ccl program is not valid, don't do ccl conversion.
5178
5179         * redisplay-x.c (separate_textual_runs): Ditto.
5180
5181         * file-coding.c (Fmake_coding_system):
5182         When type is ccl and value is vector, register it
5183         with a proper symbol.  And checks whether the
5184         given ccl program is valid.
5185         (mule_decode): When calling ccl_driver, if src indicates
5186         NULL pointer, set an empty string instead.
5187         (mule_encode): Likewise.
5188
5189 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5190
5191         The following large batch of changes gets us back to a state of
5192         C++ compilability.  Extbyte is now a char, which means that
5193         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5194
5195         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5196
5197         * sound.c (Fplay_sound): Type correctness.
5198
5199         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5200         (x_get_window_property): Type correctness.
5201         (receive_incremental_selection): unsigned char ==> Extbyte
5202         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5203         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5204         (Fx_store_cutbuffer_internal): Type correctness.
5205
5206         * process-unix.c (try_to_initialize_subtty): Type correctness.
5207
5208         * objects-x.c (x_print_color_instance): Type correctness.
5209         (x_print_font_instance): Type correctness.
5210         (x_list_fonts): SExtbyte ==> Extbyte.
5211         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5212         (x_find_charset_font): SExtbyte ==> Extbyte.
5213         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5214         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5215         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5216         Use bufbyte_strcmp.
5217
5218         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5219         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5220         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5221         (BYTE_C0_P): Use bit ops for char-signedness safety.
5222         (BYTE_C1_P): Use bit ops for char-signedness safety.
5223         (CHARSET_BY_LEADING_BYTE):
5224         (CHARSET_BY_ATTRIBUTES):
5225         Always use inline function.
5226         Use type_checking_assert.
5227         Hide chlook.
5228
5229         * mule-charset.c (non_ascii_charptr_copy_char):
5230         Modify to work with both ASCII and non-ASCII characters.
5231         Improve docs and variable names.
5232         Replace over-clever fall-through switch with a simple loop.
5233         (Lstream_get_emchar_1):
5234         Replace over-clever fall-through switch with a simple loop.
5235
5236         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5237         Warning suppression.
5238
5239         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5240         the return value of Lstream_getc, which could be EOF as well.
5241
5242         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5243
5244         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5245         APIs can be used on Extbytes without casts.  Risky!
5246         (SExtbyte): Remove.
5247         (UExtbyte): Remove.
5248
5249         * input-method-xlib.c (XIM_init_device):
5250         Use Xlib.h instead of IntrinsicP.h.
5251         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5252         which will break in X11R7.
5253         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5254         to call XRegisterIMInstantiateCallback with correct types.
5255
5256         * gui-x.c (button_item_to_widget_value): Type correctness.
5257
5258         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5259
5260         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5261         (xbm_instantiate_1): Type correctness.
5262         (BUILD_GLYPH_INST):  Type correctness.
5263
5264         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5265
5266         * file-coding.c:
5267         (decode_coding_sjis):
5268         (decode_coding_big5):
5269         (decode_coding_ucs4):
5270         (decode_coding_utf8):
5271         (decode_coding_iso2022):
5272         (decode_coding_no_conversion):
5273         Make all decoding functions take an Extbyte * arg.
5274         (encode_coding_sjis):
5275         (encode_coding_big5):
5276         (encode_coding_ucs4):
5277         (encode_coding_utf8):
5278         (encode_coding_iso2022):
5279         (encode_coding_no_conversion):
5280         Make all encoding functions take a Bufbyte * arg.
5281         Use size_t instead of unsigned int for memory sizes.
5282         Only cast to unsigned char whenever dereferencing Extbyte *.
5283
5284         * doc.c (unparesseuxify_doc_string): Type correctness.
5285
5286         * console-x.c (split_up_display_spec):
5287         Rewrite without using details of internal string representation.
5288         (x_semi_canonicalize_device_connection): Type correctness.
5289
5290         * config.h.in:
5291         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5292         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5293         (HAVE_XFREE386): Removed.
5294
5295         * buffer.h (DEC_CHARPTR): `const' correctness.
5296         (bufbyte_strcmp): New.
5297         (bufbyte_memcmp): New.
5298
5299         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5300
5301         * buffer.h (XCHAR_OR_CHAR_INT):
5302         Always use inline function.
5303         Remove redundant type checking assert() - XINT will abort quite nicely.
5304
5305 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5306
5307         * search.c (Freplace_match): Set newtext to an empty string.
5308
5309 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5310
5311         * s/decosf1-3.h: Remove #include of stropts.h
5312         * s/ptx.h: Remove #include of stropts.h
5313         * s/usg5-4.h: Remove #include of stropts.h
5314         * sysproc.h:
5315         * config.h.in:
5316         Use stropts.h, not sys/stropts.h.
5317         Use strtio.h, not sys/strtio.h.
5318
5319 2000-10-04  Martin Buchholz <martin@xemacs.org>
5320
5321         * XEmacs 21.2.36 is released.
5322
5323 2000-09-21  Andy Piper  <andy@xemacs.org>
5324
5325         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5326         changes still involve copying the widget tree.
5327         (update_widget_face): make sure a change is register in the widget
5328         tree. Call update_tab_widget_face appropriately.
5329         (update_tab_widget_face): ditto.
5330         (x_tab_control_redisplay): make sure non-structural changes still
5331         involve copying the widget tree.
5332
5333 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5334
5335         * lread.c (locate_file): Check the path element is non-nil.
5336
5337 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5338
5339         * lisp.h: Warning suppression for SCO compilers.
5340
5341         * redisplay-tty.c (reset_tty_modes): Fix crash.
5342         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5343
5344 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5345
5346         Big signal/process handling overhaul.  Bugs fixed:
5347         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5348         M-x comint-kill-subjob should work for both values nil and t of
5349         process-connection-type. It was broken on most platforms.
5350         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5351         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5352         * process-unix.c: Signal/Process handling overhaul.
5353         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5354         (allocate_pty): Use all available modern methods of allocating
5355         ptys, falling back to old style BSD allocation as a last resort.
5356         Use allegedly more secure Unix98 pty allocation by default.
5357         (allocate_pty_the_old_fashioned_way): New. the last resort.
5358         (unix_create_process): Push ptem, ldterm, ttcompat where
5359         available.  Autoconfiscate.
5360         (try_to_initialize_subtty): New.
5361         (unix_kill_child_process): Proper signal handling for ptys on most
5362         platforms, using special knowledge of AIX, BSD, etc...
5363         (unix_create_process): Always disconnect_controlling_terminal() for
5364         subprocesses, whether using ptys or not.
5365         * process.h: Remove old getpt-dependent PTY code.
5366         * process.c (Fprocess_send_signal): New, obvious generic function.
5367         (decode_signal): New.
5368         (Finterrupt_process):
5369         (Fkill_process):
5370         (Fquit_process):
5371         (Fstop_process):
5372         (Fcontinue_process):
5373         (Fsignal_process): Use decode_signal.
5374         (process_send_signal):
5375         Many docstring corrections.
5376         Allow any signal to be sent to a process object.
5377         * config.h.in: Add symbols for big signal/process overhaul.
5378         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5379         * sysproc.h: Include process-related headers, where available:
5380         sys/stropts.h sys/strtio.h pty.h libutil.h
5381         * s/irix4-0.h:
5382         * s/irix5-0.h:
5383         * s/cygwin32.h:
5384         * s/gnu.h:
5385         * s/linux.h:
5386         * s/hpux.h:
5387         * s/aix3-1.h:
5388         Remove old S&M pty stuff.
5389         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5390         * systty.h: Simplify cpp hackery, improve comments.
5391         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5392
5393         * editfns.c (Fformat_time_string):
5394         Be a little more paranoid with the return value of ctime.
5395
5396         * fileio.c (check_executable):
5397         (check_writable):
5398         Use symbolic constants X_OK, W_OK.
5399
5400         * console-x.c (split_up_display_spec): Fix a warning.
5401
5402 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5403
5404         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5405         * ntproc.c (sys_spawnve): make_string ==> build_string
5406         Small clarity improvements.
5407
5408 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5409
5410         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5411
5412         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5413
5414         * config.h.in (HAVE_STRCASECMP): Remove.
5415
5416 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5417
5418         * redisplay-output.c (redisplay_output_pixmap):
5419         Cleaner and possibly more 64-bit correct code.
5420
5421 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5422
5423         * dumper.c (pdump_load_finish): move restoration of
5424         `noninteractive1' to emacs.c (main_1).
5425         * emacs.c (main_1): protect LISP-visible command-line flags
5426         from pdump_load().
5427
5428 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5429
5430         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5431         DUMP_TARGET instead of literal program names.
5432
5433 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5434
5435         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5436
5437 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5438
5439         * *: Spelling mega-patch
5440
5441 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5442
5443         * fns.c (bad_bad_turtle):
5444         Delete "Eek!" comment, since we fixed the bug to which it refers.
5445
5446 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5447
5448         * alloca.c: Replace REGISTER with register.
5449
5450 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5451
5452         * file-coding.c (ucs_to_char): Use countof.
5453
5454 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5455
5456         * file-coding.c: (ucs_to_char):
5457         (complex_vars_of_file_coding):
5458         Use countof instead of sizeof.
5459         Use CHECK_NATNUM instead of CHECK_INT.
5460
5461         * sysdep.c (strcasecmp): Remove.
5462         * device-x.c (ascii_strcasecmp): New.
5463         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5464         Avoid using non-standard non-portable strcasecmp.
5465
5466 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5467
5468         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5469         * font-lock.c: remove reference to emacsfns.h.
5470         * search.c: small doc improvement.
5471         * event-Xt.c: correct file names in comments.
5472         * console-x.h Correct file names in comments.
5473         * frame.c: Correct file names in comments.
5474         * event-stream.c: remove Energize from comments.
5475
5476 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5477
5478         * symeval.h (DEFERROR_STANDARD):
5479         (DEFERROR):
5480         (DEFSYMBOL):
5481         (DEFSYMBOL_NO_DUMP):
5482         (DEFSYMBOL_MULTIWORD_PREDICATE):
5483         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5484         (DEFKEYWORD):
5485         The construct &##name is not sensible C.
5486         Fixes compilation errors with Unixware native compiler.
5487
5488 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5489
5490         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5491         (next_frame_internal): Removed.  We now just have next_frame.
5492         (next_frame):
5493         Write a simpler and cleaner one-pass algorithm.
5494         Remove called_from_delete_device arg and #ifdefed-out code.
5495         (previous_frame):
5496         Renamed from prev_frame.  Update callers.
5497         Cleaned up to have an analogous implementation to next_frame.
5498         (other_visible_frames_internal): Remove the
5499         called_from_delete_device bogus arg, and hence, remove this
5500         function.  Just use other_visible_frames().
5501
5502         * window.c (Fnext_window):
5503         Prettify docstring.
5504         Since next_frame() is guaranteed to return a frame, remove check
5505         for nil inserted in previous patch.
5506         (Fprevious_window):
5507         Prettify docstring.
5508         Make code look more like Fnext_window.
5509         (window_loop):
5510         Respect the `console' arg when iterating through windows.
5511         Fixes bug: (get-buffer-window buffer t device) not respecting
5512         the `device' arg.
5513         This function needs more work, as others have pointed out.
5514
5515         * frame.h: Rename prev_frame to previous_frame.
5516         device_matches_console_spec no longer takes a `frame' arg.
5517
5518         * s/gnu.h:
5519         * s/linux.h:
5520         * s/hpux.h:
5521         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5522         From "Golubev I. N." <gin@mo.msk.ru>.
5523
5524         * make-src-depend: Fix typo.
5525
5526 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5527
5528         * window.c (Fnext_window):
5529         next_frame() might return nil, not a frame.
5530         Fixes this crash:
5531         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5532
5533         * frame.c (next_frame_internal):
5534         We've passed a frame if we've passed its device.
5535         Fixes this crash:
5536         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5537 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5538
5539 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5540
5541         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5542         Allow option to suppress accelerators in menu/dialog items.
5543         (populate_or_checksum_helper): Pass dialog title through above.
5544
5545 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5546
5547         * event-msw.c (mswindows_key_to_emacs_keysym):
5548         Add "pause" key, fix "menu" key.
5549
5550 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5551
5552         * eval.c (reinit_vars_of_eval):
5553         Increase max_lisp_eval_depth to 1000,
5554         required for thai-xtis.el to byte-compile under some circumstances.
5555
5556 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5557
5558         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5559         From Kenichi Handa.
5560
5561 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5562
5563         * make-src-depend: Make the generated Makefiles smaller.
5564
5565         * s/hpux.h (SETUP_SLAVE_PTY):
5566         Provide a %d in the format string for the errno argument.
5567
5568         * editfns.c (Ftemp_directory):
5569         Warning fix.
5570         Avoid buffer overrun on very long file name.
5571
5572         * input-method-xlib.c (XIM_init_device):
5573         6th parameter of XRegisterIMInstantiateCallback has different
5574         pointer types on different OSes, so simply cast to (void *).
5575
5576         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5577
5578         * sysdll.c (dll_open):
5579         shl_load will hang hard if passed a NULL filename.
5580         Simply return NULL for compatibility with dlopen.
5581         * sysdll.c: Conform to XEmacs coding standards.
5582
5583         * sysdep.c (get_pty_max_bytes):
5584         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5585
5586 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5587
5588         * tooltalk.c: Add #include <syssignal.h>
5589
5590 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5591
5592         * s/hpux.h: Don't use undefined function sigunblock().
5593
5594 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5595
5596         * config.h.in: Add HAVE_BALLOON_HELP.
5597         * emacs.c: Use HAVE_BALLOON_HELP.
5598         * Makefile.in.in (x_objs):
5599         Make Balloon Help conditional on finding shape.h.
5600
5601 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5602
5603         * syntax.c (regex_emacs_buffer_p): New variable.
5604         * syntax.h (regex_emacs_buffer_p): extern.
5605         * search.c (looking_at_1):
5606         (string_match_1):
5607         (fast_string_match):
5608         (search_buffer): Set regex_emacs_buffer_p.
5609         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5610         when before_dot, at_dot, after_dot.
5611
5612 2000-08-23  Andy Piper  <andy@xemacs.org>
5613
5614         * gui-x.c (popup_selection_callback): Only set action_occurred
5615         when we really have an image instance.
5616         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5617
5618 2000-08-23  Andy Piper  <andy@xemacs.org>
5619
5620         * gui-msw.c (mswindows_handle_gui_wm_command): set
5621         action_occurred.
5622         * gui-x.c (popup_selection_callback): ditto.
5623
5624         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5625         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5626         (struct Lisp_Image_Instance): add action_occurred flag.
5627
5628         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5629         (image_instance_changed): ditto.
5630         (reset_frame_subwindow_instance_cache): only unmap windows - do
5631         not remove them from the cache also.
5632
5633         * glyphs-widget.c (tab_control_update): better debug.
5634         (progress_gauge_update): ditto.
5635         (layout_update): ditto.
5636         (layout_instantiate): ditto.
5637         (tab_control_order_only_changed): cope with null pending items.
5638
5639         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5640         debug. Force selection of an item when an action occurred. Cope
5641         with null pending_items.
5642         (mswindows_progress_gauge_redisplay): better debug.
5643         * glyphs-x.c (x_tab_control_redisplay): ditto.
5644
5645         * redisplay.c (redisplay_frame): reset the frame cache if the
5646         frame is garbaged.
5647
5648         * window.c (Fset_window_configuration): potentially re-enable
5649         frame cache reset.
5650         (window_unmap_subwindows): need to finalize instances here since
5651         it is only used in mark_window_as_deleted.
5652
5653 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5654
5655         * nas.c (SndOpenDataForReading):
5656         nas.c (WaveOpenDataForReading):
5657         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5658         Somehow escaped from the 2000-08-14 patch.
5659
5660 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5661
5662         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5663         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5664
5665 2000-08-21  Andy Piper  <andy@xemacs.org>
5666
5667         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5668         window if it is not already displayed.
5669
5670         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5671         it is not already displayed.
5672
5673         * window.c (Fset_window_configuration): don't reset the frame
5674         cache.
5675
5676         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5677         instances from the frame cache if we are actually finalizing them.
5678         (reset_frame_subwindow_instance_cache): reset frame cache only
5679         after unmapping everything.
5680         (map_subwindow): set displayed flag after mapping.
5681
5682 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5683
5684         * data.c (indirect_function):
5685         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5686
5687         * eval.c (function_argcount):
5688         Use original function when signaling errors.
5689
5690 2000-08-18  Andy Piper  <andy@xemacs.org>
5691
5692         * frame.c (delete_frame_internal): use new
5693         free_frame_subwindow_instances name.
5694
5695         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5696         (add_tab_item): make return type correct.
5697         (mswindows_tab_control_instantiate): assert index of tab.
5698         (mswindows_tab_control_redisplay): Re-code to use
5699         gui_item_equal_sans_selected and gui_item_list_find_selected.
5700
5701         * glyphs-widget.c (tab_control_update): Correct comment.
5702
5703         * window.c (window_unmap_subwindows): use new
5704         unmap_subwindow_instance_cache_mapper.
5705         (window_unmap_subwindows_cache_mapper): deleted.
5706         (Fset_window_configuration): comparisons should now be with
5707         EQ. Preserve the subwindow instance cache across configuration
5708         changes.
5709         (allocate_window): ditto.
5710         (make_dummy_parent): ditto.
5711
5712         * glyphs.c (free_frame_subwindow_instances): rename from
5713         free_frame_subwindow_instance_cache. finalize all instances rather
5714         than just those in the display cache.
5715         (finalize_all_subwindow_instances): walk windows unmapping and
5716         finalizing subwindows.
5717         (unmap_subwindow_instance_cache_mapper): moved from
5718         window.c. Allow finalization as well as unmapping.
5719
5720         * gui.c (gui_item_list_find_selected): new function.
5721
5722         * gui.h (gui_item_list_find_selected): declare.
5723
5724         * glyphs-x.c (x_tab_control_redisplay): pick tab
5725         explicitly. Re-code to use gui_item_equal_sans_selected and
5726         gui_item_list_find_selected.
5727
5728         * glyphs-x.h: add lwlib-utils.h
5729
5730         * buffer.c (Frecord_buffer): undo previous change.
5731
5732 2000-08-09  Vin Shelton  <acs@xemacs.org>
5733
5734         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5735         possible.  Create temporary files more securely.  The patch was
5736         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5737         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5738         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5739         for details.
5740
5741 2000-08-07  Ben Wing  <ben@xemacs.org>
5742
5743         * getloadavg.c: remove duplicate (and windows-breaking)
5744         includes of fcntl.h and sys/file.h.
5745
5746         * nt.c: remove duplicate getloadavg() definition.
5747
5748         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5749         encodings.
5750
5751 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5752
5753         * eval.c (function_argcount): If function needs to be autoloaded
5754         actually use the loaded definition.
5755         GCPRO function.
5756
5757 2000-08-05  Ben Wing  <ben@xemacs.org>
5758
5759         * getloadavg.c: add prototype for getloadavg().  remove
5760         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5761         of the code).  remove duplicate header includes.
5762
5763         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5764
5765         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5766         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5767         useful load average.
5768
5769         * alloc.c (reinit_alloc_once_early): removed references to
5770         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5771         the lisp vars are the only things referencing the malloc_sbrk_*
5772         vars, and they were already if 0'd out.  these vars only exist
5773         in the older malloc.c, which is basically unused, and they're
5774         only for informational purposes.
5775
5776         * m\*.h: removed useless VIRT_ADDR_VARIES.
5777
5778         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5779
5780 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5781
5782         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5783         color if the image is a mono pixmap.
5784
5785 2000-07-30  Ben Wing  <ben@xemacs.org>
5786
5787         * Makefile.in.in (release):
5788         Remove stray @.
5789
5790         * buffer.c (directory_is_current_directory):
5791         * dired-msw.c (mswindows_get_files):
5792         * dired.c:
5793         * dired.c (Fdirectory_files):
5794         * dired.c (file_name_completion_stat):
5795         * dired.c (Ffile_attributes):
5796         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5797         preprocessor tricks, to avoid problems on some machines
5798         (e.g. SCO).
5799
5800         * callproc.c (egetenv): GC docs.
5801
5802         * console-msw.h:
5803         * console-msw.h (struct mswindows_dialog_id):
5804         * lrecord.h (lrecord_type):
5805         New object for use with MSW dialogs.
5806
5807         * console.h (struct console_methods):
5808         New enable/disable frame methods, for proper modal dialogs.
5809
5810         * device-msw.c (msprinter_default_printer): Fix to follow
5811         proper Mule conventions.
5812
5813         * device-msw.c:
5814         * device-msw.c (signal_open_printer_error):
5815         * device-msw.c (msprinter_init_device):
5816         * device-msw.c (ensure_not_printing):
5817         * device-msw.c (plist_get_margin):
5818         * device-msw.c (Fmsprinter_select_settings):
5819         * device-msw.c (finalize_devmode):
5820         * device-msw.c (Fmsprinter_settings_despecialize):
5821         * device-msw.c (signal_enum_priner_error):
5822         * extents.c (decode_extent):
5823         * extents.c (decode_map_extents_flags):
5824         * extents.c (decode_extent_at_flag):
5825         * extents.c (Fextent_at):
5826         * extents.c (Fextents_at):
5827         * extents.c (symbol_to_glyph_layout):
5828         [[[[2]]]] Use structured errors.
5829
5830         * dialog-msw.c:
5831         * dialog-msw.c (mswindows_is_dialog_msg):
5832         * dialog-msw.c (mark_mswindows_dialog_id):
5833         * dialog-msw.c (dialog_proc):
5834         * dialog-msw.c (handle_question_dialog_box):
5835         * dialog-msw.c (syms_of_dialog_mswindows):
5836         Define new object to clean up marking; use it as a dialog identifier.
5837         Call new delete-dialog-box-hook.
5838
5839         * dialog-x.c (dbox_selection_callback):
5840         * dialog-x.c (dbox_descriptor_to_widget_value):
5841         * dialog-x.c (x_make_dialog_box_internal):
5842         Call new delete-dialog-box-hook.
5843         Return an id.
5844
5845         * dialog.c:
5846         * dialog.c (syms_of_dialog):
5847         * dialog.c (vars_of_dialog):
5848         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5849
5850         * eval.c:
5851         * eval.c (signal_call_debugger):
5852         when noninteractive, output stack traces on the console instead
5853         of in a (never-seen) buffer.
5854
5855         * eval.c (signal_type_error):
5856         * eval.c (invalid_argument_2):
5857         * lisp.h:
5858         new funs for use w/structured errors.
5859
5860         * event-Xt.c:
5861         * event-Xt.c (x_to_emacs_keysym):
5862         * event-Xt.c (describe_event):
5863         * event-Xt.c (emacs_Xt_event_handler):
5864         * event-Xt.c (vars_of_event_Xt):
5865         * event-msw.c:
5866         * event-msw.c (mswindows_wnd_proc):
5867         * event-msw.c (vars_of_event_mswindows):
5868         rename {x,mswindows}-debug-events to debug-{}-events for
5869         consistency with other debug-foo variables.
5870
5871         * event-stream.c:
5872         document next-event more clearly.
5873
5874         * fileio.c (Ffile_name_directory):
5875         * fileio.c (Ffile_name_nondirectory):
5876         * fileio.c (Funhandled_file_name_directory):
5877         * fileio.c (file_name_as_directory):
5878         * fileio.c (Ffile_name_as_directory):
5879         * fileio.c (directory_file_name):
5880         * fileio.c (Fdirectory_file_name):
5881         * fileio.c (Fmake_temp_name):
5882         * fileio.c (Ffile_truename):
5883         * fileio.c (Fsubstitute_in_file_name):
5884         * fileio.c (expand_and_dir_to_file):
5885         * fileio.c (barf_or_query_if_file_exists):
5886         * fileio.c (check_executable):
5887         * fileio.c (Ffile_exists_p):
5888         * fileio.c (Ffile_writable_p):
5889         * fileio.c (Ffile_directory_p):
5890         * fileio.c (Ffile_regular_p):
5891         * fileio.c (Ffile_modes):
5892         * fileio.c (Ffile_newer_than_file_p):
5893         * fileio.c (Fverify_visited_file_modtime):
5894         * fileio.c (Fset_visited_file_modtime):
5895         * fileio.c (auto_save_1):
5896         (1). (2).
5897         fix up gcpro's.
5898
5899         * frame-msw.c:
5900         * frame-msw.c (mswindows_init_frame_1):
5901         * frame-msw.c (mswindows_enable_frame):
5902         * frame-msw.c (error_frame_unsizable):
5903         * frame-msw.c (msprinter_init_frame_1):
5904         * frame-msw.c (msprinter_init_frame_3):
5905         * frame-msw.c (console_type_create_frame_mswindows):
5906         (2).
5907         implement new enable/disable frame methods.
5908
5909         * frame-x.c:
5910         * frame-x.c (x_enable_frame):
5911         * frame-x.c (console_type_create_frame_x):
5912         implement new enable/disable frame methods.
5913
5914         * frame.c:
5915         * frame.c (Fdisable_frame):
5916         * frame.c (syms_of_frame):
5917         * frame.h (struct frame):
5918         implement new enable/disable frame methods/functions.
5919
5920         * general-slots.h:
5921         add initial-focus.
5922
5923         * glyphs-msw.c (mswindows_widget_instantiate):
5924         comment that initial-focus should be implemented.
5925
5926         * glyphs-widget.c:
5927         * glyphs-widget.c (check_valid_instantiator):
5928         * glyphs-widget.c (check_valid_orientation):
5929         * glyphs-widget.c (check_valid_tab_orientation):
5930         * glyphs-widget.c (check_valid_justification):
5931         * glyphs-widget.c (check_valid_border):
5932         * glyphs-widget.c (check_valid_callback):
5933         * glyphs-widget.c (check_valid_int_or_function):
5934         * glyphs-widget.c (check_valid_string_or_vector):
5935         * glyphs-widget.c (check_valid_item_list_1):
5936         * glyphs-widget.c (widget_validate):
5937         * glyphs-widget.c (combo_box_validate):
5938         * glyphs-widget.c (widget_instantiate):
5939         * glyphs-widget.c (syms_of_glyphs_widget):
5940         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5941         * glyphs-widget.c (image_instantiator_combo_box):
5942         * glyphs-widget.c (image_instantiator_scrollbar):
5943         * glyphs-widget.c (image_instantiator_tab_control):
5944         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5945         (2).
5946         support (unimplemented) keyword initial-focus.
5947         reindent long macros.
5948
5949         * glyphs-x.c (x_redisplay_widget):
5950         * glyphs-x.c (x_button_instantiate):
5951         * glyphs-x.c (x_button_redisplay):
5952         * glyphs-x.c (x_progress_gauge_instantiate):
5953         * glyphs-x.c (x_edit_field_instantiate):
5954         * glyphs-x.c (x_combo_box_instantiate):
5955         * glyphs-x.c (x_tab_control_instantiate):
5956         * glyphs-x.c (x_label_instantiate):
5957         * gui-x.c:
5958         * gui-x.c (button_item_to_widget_value):
5959         * gui-x.c (gui_items_to_widget_values_1):
5960         * gui-x.c (gui_item_children_to_widget_values):
5961         * gui-x.c (gui_items_to_widget_values):
5962         * gui-x.h:
5963         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5964         add new flag to gui-parsing routines to indicate whether
5965         accelerator specs should be supported.
5966
5967         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5968
5969         * glyphs.h (struct Lisp_Image_Instance):
5970         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5971         add initial-focus flag.
5972
5973         * gui.c:
5974         * gui.c (syms_of_gui):
5975         * gui.c (vars_of_gui):
5976         clean up menu-no-selection-hook.
5977
5978         * gui.h:
5979         support delete-dialog-box-hook.
5980
5981         * lread.c (Fload_internal):
5982         * lread.c (locate_file_in_directory_mapper):
5983         (1).
5984
5985         * lrecord.h:
5986         * lrecord.h (struct toolbar_button):
5987         * lrecord.h (syms_of_toolbar):
5988         document how to create a new object.
5989
5990         * menubar-msw.c (mswindows_char_is_accelerator):
5991         may be called on frames w/o menus.
5992
5993         * menubar.c (vars_of_menubar):
5994         clean up :filter docs.
5995
5996         * nt.c (readdir):
5997         * ntproc.c:
5998         (1).
5999
6000         * process-nt.c:
6001         * process-nt.c (validate_signal_number):
6002         * process-nt.c (signal_cannot_launch):
6003         * process-nt.c (nt_create_process):
6004         * process-nt.c (nt_send_process):
6005         * process-nt.c (nt_kill_child_process):
6006         * process-nt.c (nt_open_network_stream):
6007         * process-nt.c (syms_of_process_nt):
6008         (2).
6009         delete quote-handling.  call new lisp code that does it better.
6010
6011         * process-unix.c (connect_to_file_descriptor):
6012         * process-unix.c (allocate_pty):
6013         * process-unix.c (unix_send_process):
6014         * process-unix.c (unix_kill_child_process):
6015         * process-unix.c (unix_open_network_stream):
6016         * process-unix.c (unix_open_multicast_group):
6017         (1). (2).
6018
6019         * process.c:
6020         * process.c (Fstart_process_internal):
6021         (2).  need to canonicalize process path even if absolute.
6022
6023         * select-msw.c (symbol_to_ms_cf):
6024         * select-msw.c (ms_cf_to_symbol):
6025         * select-msw.c (cf_is_autofreed):
6026         * select-msw.c (mswindows_destroy_selection):
6027         * select.c:
6028         * select.c (syms_of_select):
6029         * select.h:
6030         support dibv5, fix bugs. (from Mike Alexander)
6031
6032         * select.c (Fget_selection_internal):
6033         * select.c (select_convert_out):
6034
6035         * sysdep.c:
6036         * sysdep.c (xemacs_stat):
6037         renamed.
6038
6039         * sysdep.c (mkdir):
6040         * sysdep.c (rmdir):
6041         but keep original stat() here because we provide encapsulation
6042         around these funs.
6043
6044         * sysfile.h:
6045         * sysfile.h (fstat):
6046         remove stat garbage.
6047
6048         * syswindows.h:
6049         fix X/MSW conflict.
6050         don't include tchar.h.  it's inappropriate because it makes
6051         compile-time distinctions when we want runtime distinctions.
6052         (we provide our own tchar replacements)
6053
6054         * toolbar.c:
6055         use default object printer for toolbar-button.
6056
6057         * unexcw.c:
6058         make sure we don't encapsulate.
6059
6060         * window.c (vars_of_window):
6061         emphasize that temp-buffer-show-hook is obsolete.
6062
6063 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6064
6065         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6066         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6067
6068         * events.c (Fevent_timestamp_lessp):
6069         Not 64-bit clean.  Use EMACS_INT, not int.
6070
6071 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6072
6073         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6074         unsigned int and changed the last enum to
6075         lrecord_type_last_built_in_type.
6076         (lrecord_implementations_table): changed prototype to know how
6077         long the array is supposed to be.
6078         (lrecord_type_count): new unsigned int to keep track of the
6079         current number of lisp lrecord types.
6080         (DEFINE_EXTERNAL_LRECORD):
6081         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6082         dynamic-modules to declare new lisp types. They are the same
6083         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6084         int for each new type, and increment lrecord_type_count by 1.
6085
6086         * alloc.c (lrecord_implementations_table): Changed to reference
6087         lrecord_type_last_built_in_type for the size of the array.
6088         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6089
6090 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6091
6092         * glyphs.h (check_valid_item_list): Renamed from
6093         check_valid_item_list_1.
6094
6095 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6096
6097         * select.c (Qselect_coerce): New.
6098         * select.c (Vselection_coercion_alist): New.
6099         * select.c (syms_of_select): Declare.
6100         * select.c (get-selection-internal): Use it.
6101         Use the new select-coerce functionality.
6102
6103         * select.c (select_coerce): New.
6104         * select.h (select_coerce): Declare.
6105         New function to coerce one type of data into another.
6106
6107 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6108
6109         * callproc.c (Fcall_process_internal):
6110         (Fcall_process_internal):
6111         * process-unix.c (unix_create_process):
6112         Save and restore the value of errno, so that error messages are accurate.
6113
6114 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6115
6116         * elhash.c (print_hash_table):
6117         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6118         Prettify docstrings and indentation.
6119
6120 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6121
6122         * window.c (Fwindow_pixel_edges): Subtract frame border and
6123         gutter size.
6124
6125 2000-07-31  Andy Piper  <andy@xemacs.org>
6126
6127         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6128         will acknowledge the change.
6129
6130         * glyphs.h: declare tab_control_order_only_changed.
6131
6132         * glyphs-x.c (x_tab_control_redisplay): use
6133         tab_control_order_only_changed.
6134
6135         * glyphs-widget.c (tab_control_order_only_changed): new function.
6136
6137         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6138         tab_control_order_only_changed.
6139
6140         * gui.c (gui_item_equal_sans_selected): new function.
6141         (gui_item_equal): use it.
6142
6143         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6144         :properties in favor of :items..
6145
6146         * glyphs-widget.c (check_valid_item_list): rename from
6147         check_valid_item_list_1.
6148         (check_valid_item_list_1): renamed.
6149         (combo_box_validate): deprecate :properties in favor of :items.
6150         (widget_instantiate): ditto.
6151         (tab_control_update): ditto.
6152         (image_instantiator_combo_box): ditto.
6153         (image_instantiator_tree_view): ditto.
6154         (image_instantiator_tab_control): ditto.
6155         (layout_post_instantiate): remove dead code.
6156
6157         * print.c (debug_print_no_newline): only write to debugger if in
6158         WIN32_NATIVE.
6159
6160         * elhash.c (Fmake_hash_table): update doc string.
6161
6162         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6163         messages whilst in GC. This at least stops XEmacs crashing but has
6164         the potential for wierd behaviour.
6165
6166 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6167
6168         * config.h.in:
6169         Make existence of s&m files optional.
6170
6171         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6172         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6173         * s/gnu.h: Remove HAVE_GETLOADAVG.
6174         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6175         * s/sol2.h: Remove HAVE_GETLOADAVG.
6176         * lisp.h: Remove getloadavg() declaration.
6177         * fns.c:
6178         Include <sys/loadavg.h> if available.
6179         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6180         * config.h.in:  Group together getloadavg()-related macros.
6181         Use only configure-time tests to detect getloadavg().
6182
6183 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6184
6185         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6186
6187 2000-07-25  Andy Piper  <andy@xemacs.org>
6188
6189         * syswindows.h: add tchar.h for native builds.
6190
6191         * frame.c (syms_of_frame): remove set-glyph-image.
6192
6193         * general-slots.h: add Qset_glyph_image.
6194
6195         * glyphs-widget.c (layout_update): add domain arg to
6196         set-glyph-image.
6197         (syms_of_glyphs_widget): remove set-glyph-image.
6198
6199 2000-07-23  Ben Wing  <ben@xemacs.org>
6200
6201         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6202         Vpopup_frame_list.
6203
6204 2000-07-22  Andy Piper  <andy@xemacs.org>
6205
6206         * symsinit.h: add syms_of_win32().
6207
6208         * gui-msw.c (syms_of_gui_mswindows): remove
6209         Fmswindows_shell_execute.
6210         (Fmswindows_shell_execute): moved to win32.c.
6211
6212         * emacs.c (main_1): add syms_of_win32 ().
6213
6214         * win32.c (init_potentially_nonexistent_functions): rewrite in
6215         compiler-friendly terms.
6216         (Fmswindows_shell_execute): move here from gui-msw.c.
6217         (syms_of_win32): new.
6218
6219         * device-msw.c (Fmswindows_printer_list): clean up args to
6220         EnumPrinters.
6221         Don't include tchar under cygwin or mingw.
6222         (msprinter_default_printer): make cygwin-friendly.
6223
6224 2000-07-21  Andy Piper  <andy@xemacs.org>
6225
6226         * glyphs-widget.c (image_instantiator_tree_view): use tab
6227         control's update function.
6228         (layout_property): new function. Retrieve items.
6229
6230         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6231         function. Re-populate the tree view from the pending items.
6232
6233         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6234         is designated the parent if the domain is an image instance. This
6235         is needed so that dirtiness can be cascade up the hierarchy and
6236         thus for layout children to be redisplayed correctly.
6237         (allocate_image_instance): rename glyph -> parent.
6238
6239         * redisplay.h: change redisplay_output_layout signature.
6240
6241         * redisplay-msw.c (mswindows_output_display_block): use domain
6242         arg.
6243
6244         * redisplay-x.c (x_output_display_block): use domain arg.
6245
6246 2000-07-10  Andy Piper  <andy@xemacs.org>
6247
6248         * window.c (Fset_window_configuration): add comment.
6249
6250         * redisplay-output.c (compare_runes):
6251         (redisplay_output_subwindow): redisplay rather than update subwindow.
6252         (redisplay_output_layout): ditto.
6253
6254         * redisplay-msw.c (mswindows_frame_output_end):
6255         (mswindows_frame_output_end): make defer window pos optional.
6256
6257         * lisp.h: add Flast.
6258
6259         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6260         normalize method. Change update method to be for changed
6261         instantiators. Add redisplay method. Change signature of layout
6262         method.
6263         (struct Lisp_Image_Instance): add instantiator.
6264         (IMAGE_INSTANCE_INSTANTIATOR): new.
6265         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6266         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6267         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6268
6269         * glyphs.c:
6270         (find_instantiator_differences): new function.
6271         (Fset_instantiator_property): new convenience function.
6272         (check_image_instance_structure): strictly check for vector
6273         instantiators.
6274         (normalize_image_instantiator): make non-static.
6275         (instantiate_image_instantiator): pass on dest_mask and use new
6276         signatures for image_instance_layout and friends.
6277         (mark_image_instance): mark the instantiator. Mark the subwindow
6278         face not the widget face.
6279         (image_instance_equal): add instantiator.
6280         (image_instance_hash): ditto.
6281         (allocate_image_instance): ditto.
6282         (Fset_image_instance_property): removed.
6283         (Fimage_instance_file_name): ditto.
6284         (Fcolorize_image_instance): ditto.
6285         (image_instance_layout): add offsets to be set.
6286         (update_image_instance): new function. update an image instance
6287         from its changed instantiator.
6288         (inherit_normalize): add dest_mask.
6289         (xbm_normalize): ditto.
6290         (xface_normalize): ditto.
6291         (xpm_normalize): ditto.
6292         (text_update): set_property -> update.
6293         (image_instantiate): use the glyph identity as a hash key, not the
6294         instantiator.
6295         (glyph_width): use new image_instance_layout signature.
6296         (glyph_ascent): ditto.
6297         (glyph_descent): ditto.
6298         (glyph_height): ditto.
6299         (glyph_query_geometry): ressurrect.
6300         (glyph_layout): ditto.
6301         (redisplay_subwindow): update -> redisplay.
6302         (syms_of_glyphs): add Fset_instantiator_property.
6303         (image_instantiator_format_create): set_property -> update.
6304
6305         * glyphs-x.c:
6306         (autodetect_normalize): add dest_maks to signature.
6307         (x_redisplay_subwindow): update -> redisplay.
6308         (x_redisplay_widget): ditto.
6309         (x_button_redisplay): ditto.
6310         (x_progress_gauge_redisplay): ditto.
6311         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6312         stacking order.
6313         (console_type_create_glyphs_x): update -> redisplay.
6314         (image_instantiator_format_create_glyphs_x): ditto.
6315
6316         * glyphs-widget.c:
6317         (check_valid_instantiator): disallow glyphs in the instantiator,
6318         they must now be vectors.
6319         (check_valid_instantiator_list): ditto.
6320         (glyph_instantiator_to_glyph): use internal symbol rather than
6321         intern.
6322         (widget_update): renamed from widget_set_property. Call cascaded
6323         update methods.
6324         (redisplay_widget): renamed from update_widget.
6325         (widget_layout): image_instance_layout now takes position as well
6326         as size.
6327         (widget_normalize): ditto.
6328         (widget_instantiate): ditto.
6329         (tab_control_query_geometry) ditto.:
6330         (tab_control_update): renamed from tab_control_set_property.
6331         (progress_gauge_update): set_property -> update.
6332         (layout_normalize): rewrite so that child instantiators are
6333         normalized also.
6334         (layout_update): new function. Create glyphs from the normalized
6335         children and cope with any other layout keywords. We do not
6336         instantiate children here that will be take care of by
6337         redisplay_output_layout.
6338         (layout_instantiate): call layout_update and not much else.
6339         (layout_post_instantiate): not sure whether this is needed
6340         anymore.
6341         (layout_query_geometry): query glyph geometry rather than
6342         image_instance geometry.
6343         (layout_layout): set offsets from pass in parameters. Use glyph
6344         geometry and layout functions rather than image instance ones.
6345         (native_layout_layout): ditto.
6346         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6347         (image_instantiator_widget): set_property -> update.
6348         (image_instantiator_buttons): ditto.
6349         (image_instantiator_progress_guage): ditto.
6350         (image_instantiator_tab_control): ditto.
6351         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6352         (image_instantiator_layout): add update method.
6353
6354         * glyphs-msw.c (bmp_normalize):
6355         (mswindows_resource_normalize): add dest_mask so that it can be
6356         proprogated by layout_normalize.
6357         (begin_defer_window_pos): make optional because it may not be the
6358         right thing to do and it introduces differences with X.
6359         (mswindows_unmap_subwindow): ditto.
6360         (mswindows_map_subwindow): ditto.
6361         (mswindows_redisplay_subwindow): renamed from
6362         mswindows_update_subwindow.
6363         (mswindows_redisplay_widget): ditto.
6364         (mswindows_button_redisplay): renamed from
6365         mswindows_button_update. Update is now what the instantiation
6366         function does for a changed instantiator.
6367         (mswindows_progress_gauge_instantiate): set the progress value
6368         here if appropriate.
6369         (mswindows_tab_control_redisplay): cope with re-ordering of the
6370         members of the tab widget by simply selecting the new top
6371         widget. This makes things appear ok if you click on a tab.
6372         (mswindows_combo_box_instantiate): image_instance_layout now takes
6373         position as well as size.
6374         (mswindows_progress_gauge_redisplay): renamed from
6375         mswindows_progress_gauge_update.
6376         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6377         (image_instantiator_format_create_glyphs_mswindows): ditto.
6378
6379         * glyphs-eimage.c (jpeg_normalize):
6380         (gif_normalize):
6381         (png_normalize):
6382         (tiff_normalize): add dest_mask so that it can be proprogated by
6383         layout_normalize.
6384
6385         * elhash.c:
6386         (print_hash_table):
6387         (hash_table_weakness_validate):
6388         (decode_hash_table_weakness):
6389         (Fhash_table_weakness):
6390         (Fhash_table_type):
6391         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6392
6393         * console.h (struct console_methods): move update_* to
6394         redisplay_*.
6395
6396 2000-07-20  Ben Wing  <ben@xemacs.org>
6397
6398         * *.[ch] (XSETOBJ): remove unused middle argument.
6399         lisp-disunion.h: correct wrap_object() to one argument.
6400
6401 2000-07-15  Ben Wing  <ben@xemacs.org>
6402
6403         * s/cygwin32.h:
6404         * s/cygwin32.h (CYGWIN_CONV_PATH):
6405         Add missing logb prototype for v1.1.
6406         Use post-b20 names and alias to pre-b20 names when pre-b20.
6407
6408         * s/windowsnt.h: [5].
6409
6410 2000-07-15  Ben Wing  <ben@xemacs.org>
6411
6412         * Makefile.in.in (x_objs):
6413         * Makefile.in.in (sheap_objs):
6414         * Makefile.in.in (objs):
6415         added win32.o, cosmetic cleanups.
6416
6417         * alloc.c (Fmake_byte_code):
6418         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6419         etc. macros which declare their own args now.
6420
6421         * alloc.c (syms_of_alloc):
6422         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6423
6424         * buffer.c:
6425         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6426
6427         * buffer.c (Fget_file_buffer):
6428         Fixed GCPRO problem.
6429
6430         * buffer.c (get_truename_buffer):
6431         Fixed comment about GC checking.
6432
6433         * buffer.c (syms_of_buffer):
6434         Undeclared those dedicated frame funs.
6435         [2].
6436
6437         * buffer.h:
6438         Define convenience macros for internal/external conversions.
6439         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6440         and Qenvironment_variable_encoding for cleaner code.
6441
6442         * bufslots.h:
6443         Remove dedicated-frame; in lisp.
6444
6445         * bytecode.c (funcall_compiled_function):
6446         [1].
6447
6448         * bytecode.c (syms_of_bytecode):
6449         [2].
6450
6451         * console-msw.c:
6452         * console-msw.c (mswindows_show_console): Rewrote.
6453
6454         * console-msw.c (Fmswindows_debugging_output): New.
6455         Sends to OutputDebugString (special MSWin debugger interface).
6456
6457         * console-msw.c (Fmswindows_message_box):
6458         Fixed stupid bugs so it works when called from kill-emacs.
6459
6460         * console-msw.c (syms_of_console_mswindows):
6461         Declare Fmswindows_debugging_output.
6462
6463         * console-msw.h:
6464         New MSWin prototypes.
6465
6466         * console-msw.h (struct mswindows_frame):
6467         New entry last-click-mods for improved button-modifier support.
6468
6469         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6470         New struct entry `popup' with corresponding accessor.
6471
6472         * console-x.c:
6473         * console-x.c (split_up_display_spec):
6474         * console-x.c (get_display_arg_connection):
6475         * console-x.c (x_semi_canonicalize_console_connection):
6476         * console-x.c (x_canonicalize_device_connection):
6477         [[[6]]]: Change char to more specific type.
6478         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6479
6480         * console-x.c (x_semi_canonicalize_console_connection):
6481         * console-x.c (x_canonicalize_device_connection):
6482         [[[9]]]: Fix up error signalling to use new structured error system.
6483
6484         * console-x.h:
6485         [[[4]]]: Define codesys aliases:
6486         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6487         Qx_color_name_encoding, Qx_display_name_encoding.
6488
6489         * console.h (struct console_methods):
6490         New method make_dialog_box_internal supersedes older
6491         popup_dialog_box method.
6492
6493         * data.c:
6494         Define many new errors, part of new structured errors.
6495
6496         * data.c (init_errors_once_early):
6497         * data.c (syms_of_data):
6498         [2].
6499
6500         * device-msw.c (mswindows_init_device):
6501         [[[5]]]: Cleanup to support NT 3.51.
6502
6503         * device-msw.c (decode_devmode): Cleanup.
6504
6505         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6506         * device-msw.c (mswindows_handle_print_dialog_box):
6507         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6508         * device-msw.c (syms_of_device_mswindows):
6509         Delete the dialog box primitives recently introduced by Kirill and
6510         instead interface to general dialog box interface.
6511
6512         * device-x.c:
6513         * device-x.c (compute_x_app_name):
6514         * device-x.c (x_init_device):
6515         * device-x.c (Fx_valid_keysym_name_p):
6516         * device-x.c (Fx_set_font_path):
6517         [6].
6518         [7].
6519
6520         * device.h (wrap_device): New.
6521         First of its kind; meant to replace XSETDEVICE.
6522
6523         * dialog-msw.c: Many file-dialog symbols.
6524
6525         * dialog-msw.c (mswindows_register_popup_frame): New.
6526         * dialog-msw.c (mswindows_is_dialog_msg): New.
6527         For supporting kbd traversal in dialog boxes.
6528
6529         * dialog-msw.c (dialog_proc):
6530         Support hitting ESC in dialogs.
6531
6532         * dialog-msw.c (struct):
6533         Common dialog box errors.
6534
6535         * dialog-msw.c (handle_file_dialog_box): New.
6536         Add file dialog code.
6537
6538         * dialog-msw.c (handle_question_dialog_box):
6539         Redo existing code to support new question dialog syntax.
6540
6541         * dialog-msw.c (console_type_create_dialog_mswindows):
6542         We support new dialog console method.
6543
6544         * dialog-msw.c (syms_of_dialog_mswindows):
6545         * dialog-msw.c (vars_of_dialog_mswindows):
6546         New file dialog symbols, vars.
6547
6548         * dialog-x.c:
6549         * dialog-x.c (maybe_run_dbox_text_callback):
6550         * dialog-x.c (dbox_descriptor_to_widget_value):
6551         * dialog-x.c (x_make_dialog_box_internal):
6552         * dialog-x.c (console_type_create_dialog_x):
6553         Mule-ize entire file.
6554         Redo to support question dialog syntax.
6555         [6].
6556
6557         * dialog.c:
6558         * dialog.c (Fmake_dialog_box_internal):
6559         * dialog.c (syms_of_dialog):
6560         Kill old popup-dialog-box, replace with new primitive.
6561         Just call device method or signal error.
6562
6563         * eldap.c (Fldap_open):
6564         * eldap.c (Fldap_search_basic):
6565         * eldap.c (Fldap_add):
6566         * eldap.c (Fldap_modify):
6567         [1].
6568         [7].
6569
6570         * emacs.c:
6571         * emacs.c (make_arg_list_1):
6572         * emacs.c (make_arg_list):
6573         Mule-ize call to dll_init().
6574         [6].
6575         [8].
6576
6577         * emacs.c (make_argc_argv):
6578         * emacs.c (free_argc_argv):
6579         * emacs.c (init_cmdargs):
6580         * emacs.c (main_1):
6581         * emacs.c (Fkill_emacs):
6582         * emacs.c (Fdump_emacs):
6583         Update comments about what can be used in syms_* etc.
6584         Call init_win32() when necessary.
6585         Fix up MS Win dialog box in kill-buffer to actually work right.
6586         [7].
6587
6588         * eval.c:
6589         * eval.c (For):
6590         * eval.c (Fand):
6591         * eval.c (Fprogn):
6592         * eval.c (Fprog1):
6593         * eval.c (Fprog2):
6594         * eval.c (FletX):
6595         * eval.c (Flet):
6596         * eval.c (condition_case_3):
6597         * eval.c (Feval):
6598         * eval.c (function_argcount):
6599         * eval.c (funcall_lambda):
6600         [1].
6601
6602         * eval.c (type_error): New.
6603         * eval.c (maybe_type_error): New.
6604         * eval.c (continuable_type_error): New.
6605         * eval.c (maybe_continuable_type_error): New.
6606         * eval.c (type_error_with_frob): New.
6607         * eval.c (maybe_type_error_with_frob): New.
6608         * eval.c (continuable_type_error_with_frob): New.
6609         * eval.c (maybe_continuable_type_error_with_frob): New.
6610         New functions for use with structured errors.
6611
6612         * event-Xt.c:
6613         * event-Xt.c (x_event_to_emacs_event):
6614         Buttons are now modifiers too.
6615
6616         * event-Xt.c (emacs_Xt_current_event_timestamp):
6617         Implement new event method.
6618         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6619
6620         * event-msw.c:
6621         * event-msw.c (ntpipe_shove_writer): [5].
6622         * event-msw.c (mswindows_enqueue_mouse_button_event):
6623         * event-msw.c (mswindows_drain_windows_queue):
6624         * event-msw.c (mswindows_wnd_proc): [7].
6625         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6626         * event-msw.c (mswindows_modifier_state):
6627         Throughout: support new button modifiers.
6628
6629         * event-msw.c (emacs_mswindows_current_event_timestamp):
6630         Implement new event method.
6631         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6632
6633         * event-stream.c:
6634         * event-stream.c (event_stream_current_event_timestamp): New.
6635         * event-stream.c (maybe_kbd_translate): New functionality.
6636         * event-stream.c (vars_of_event_stream):
6637         Document new kbd-translate-table functionality.
6638
6639         * event-stream.c (Fcurrent_event_timestamp): New.
6640         New primitive for use in fabricated events.
6641         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6642
6643         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6644
6645         * events.c:
6646         * events.c (Fmake_event):
6647         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6648         [1].
6649         [9].
6650
6651         * events.c (format_event_object): fix gcc warnings.
6652
6653         * events.c (Fevent_timestamp): Document new primitives.
6654
6655         * events.c (TIMESTAMP_HALFSPACE): New.
6656
6657         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6658         comparing timestamps correctly (half-space algorithm).
6659
6660         * events.c (Fevent_modifier_bits): Doc fix.
6661
6662         * events.c (Fevent_modifiers): Major doc addition.
6663         * events.c (event_x_y_pixel_internal): Typo fix.
6664         * events.c (syms_of_events): Declare new primitives.
6665
6666         * events.h:
6667         Update long comment for button modifiers, timestamps.
6668
6669         * events.h (struct event_stream):
6670         New current_event_timestamp method.
6671
6672         * extents.c:
6673         * extents.c (extent_in_region_p):
6674         * extents.c (decode_extent):
6675         * extents.c (Fset_extent_parent):
6676         * extents.c (decode_map_extents_flags):
6677         Fix gcc warnings.
6678         [9].
6679
6680         * extents.c (struct extent_at_arg):
6681         * extents.c (decode_extent_at_flag):
6682         * extents.c (extent_at_mapper):
6683         * extents.c (extent_at_bytind):
6684         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6685         * extents.c (Fextents_at): New primitive. [9].
6686         * extents.c (symbol_to_glyph_layout): [9].
6687         Support new primitive `extents-at'.
6688
6689
6690         * extents.c (get_text_property_bytind):
6691         extent_at_bytind has another arg.
6692         [9].
6693
6694         * extents.c (syms_of_extents): New primitive.
6695
6696         * file-coding.c (Fmake_coding_system): [1].
6697         * file-coding.c (subsidiary_coding_system): fix gcc warning
6698         * file-coding.c (syms_of_file_coding): [2].
6699
6700         * fileio.c (Fexpand_file_name):
6701         * fileio.c (Fsysnetunam):
6702         * fileio.c (Ffile_exists_p):
6703         * fileio.c (Ffile_executable_p):
6704         * fileio.c (Fverify_visited_file_modtime):
6705         Clean up GCPROing.
6706
6707         * fileio.c (syms_of_fileio): [2].
6708
6709         * filelock.c (lock_file_1):
6710         * filelock.c (current_lock_owner):
6711         * filelock.c (lock_if_free):
6712         * filelock.c (lock_file):
6713         * filelock.c (unlock_file):
6714         Clean up GCPROing.
6715
6716         * fns.c (concat): Fix gcc warning.
6717
6718         * fns.c (Fmember):
6719         * fns.c (Fold_member):
6720         * fns.c (Fmemq):
6721         * fns.c (Fold_memq):
6722         * fns.c (memq_no_quit):
6723         * fns.c (Fassoc):
6724         * fns.c (Fold_assoc):
6725         * fns.c (Fassq):
6726         * fns.c (Fold_assq):
6727         * fns.c (assq_no_quit):
6728         * fns.c (Frassoc):
6729         * fns.c (Fold_rassoc):
6730         * fns.c (Frassq):
6731         * fns.c (Fold_rassq):
6732         * fns.c (rassq_no_quit):
6733         * fns.c (Fdelete):
6734         * fns.c (Fold_delete):
6735         * fns.c (Fdelq):
6736         * fns.c (Fold_delq):
6737         * fns.c (delq_no_quit):
6738         * fns.c (Fremassoc):
6739         * fns.c (Fremassq):
6740         * fns.c (remassq_no_quit):
6741         * fns.c (Fremrassoc):
6742         * fns.c (Fremrassq):
6743         * fns.c (remrassq_no_quit):
6744         * fns.c (Freverse):
6745         * fns.c (mapcar1):
6746         [1].
6747
6748         * frame-msw.c (mswindows_init_frame_1):
6749         * frame-msw.c (mswindows_delete_frame):
6750         Register popups with dialog code so keyboard traversing works.
6751
6752         * frame-tty.c (tty_raise_frame_no_select): [1].
6753
6754         * frame-x.c:
6755         * frame-x.c (x_set_frame_text_value):
6756         * frame-x.c (x_set_frame_properties):
6757         * frame-x.c (x_create_widgets):
6758         [7].
6759
6760         * frame.c:
6761         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6762
6763         * frame.h (wrap_frame): New.
6764         Macro like wrap_device.
6765
6766         * general.c:
6767         * general.c (SYMBOL):
6768         * general.c (syms_of_general):
6769         Major reorg.  This is now just a wrapper and symbols themselves
6770         are listed in general-slots.h.
6771
6772         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6773         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6774
6775         * glyphs-msw.c (mswindows_native_layout_instantiate):
6776         Add DS_CONTROL so keyboard traversal will work.
6777
6778         * glyphs-widget.c:
6779         * glyphs-widget.c (syms_of_glyphs_widget):
6780         Move some symbols to general-slots.h.
6781
6782         * glyphs-x.c:
6783         * glyphs-x.c (xbm_instantiate_1):
6784         * glyphs-x.c (x_xbm_instantiate):
6785         * glyphs-x.c (x_xface_instantiate):
6786         * glyphs-x.c (autodetect_instantiate):
6787         * glyphs-x.c (cursor_font_instantiate):
6788         * glyphs-x.c (x_update_widget):
6789         * glyphs-x.c (x_widget_instantiate):
6790         * glyphs.c (bitmap_to_lisp_data):
6791         * glyphs.c (pixmap_to_lisp_data):
6792         [7].
6793
6794         * glyphs.c (syms_of_glyphs):
6795         [2].
6796
6797         * gui-x.c:
6798         * gui-x.c (print_widget_value):
6799         * gui-x.c (menu_separator_style_and_to_external):
6800         * gui-x.c (add_accel_and_to_external):
6801         * gui-x.c (button_item_to_widget_value):
6802         * gui-x.c (gui_items_to_widget_values_1):
6803         * gui-x.c (gui_items_to_widget_values):
6804         * gui-x.c (syms_of_gui_x):
6805         * gui-x.c (vars_of_gui_x):
6806         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6807         [9].
6808
6809         * gui-x.h:
6810         Muleize, prototype changes matching gui-x.c.
6811
6812         * gui.c:
6813         * gui.c (separator_string_p):
6814         * gui.c (gui_item_add_keyval_pair):
6815         * gui.c (make_gui_item_from_keywords_internal):
6816         * gui.c (signal_too_long_error):
6817         * gui.c (parse_gui_item_tree_item):
6818         * gui.c (syms_of_gui):
6819         * gui.c (vars_of_gui):
6820         * gui.h:
6821         menu-no-selection-hook moved here (used by MSWin).
6822         Move some symbols to general-slots.h.
6823         [6].
6824         [9].
6825
6826         * insdel.c (get_buffer_pos_char):
6827         * insdel.c (get_buffer_range_char):
6828         Add GC comments.
6829
6830         * keymap.c (keymap_lookup_directly):
6831         * keymap.c (keymap_store):
6832         * keymap.c (ensure_meta_prefix_char_keymapp):
6833         * keymap.c (describe_map):
6834         * keymap.h:
6835         Support new button modifiers.
6836
6837         * lisp-disunion.h (wrap_object):
6838         * lisp-disunion.h (XSETOBJ):
6839         Rename make_obj to wrap_object.
6840
6841         * lisp-union.h:
6842         * lisp-union.h (make_int):
6843         * lisp-union.h (make_char):
6844         Support wrap_object.
6845
6846         * lisp.h:
6847         * lisp.h (LIST_LOOP):
6848         * lisp.h (EXTERNAL_LIST_LOOP):
6849         * lisp.h (LIST_LOOP_2):
6850         * lisp.h (EXTERNAL_LIST_LOOP_1):
6851         * lisp.h (EXTERNAL_LIST_LOOP_2):
6852         * lisp.h (EXTERNAL_LIST_LOOP_3):
6853         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6854         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6855         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6856         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6857         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6858         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6859         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6860         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6861         * lisp.h (struct Lisp_Symbol):
6862         * lisp.h (maybe_continuable_error_with_frob):
6863         Fix up section comments.
6864         Add new types for char to indicate usage.
6865         Delete symbols auto-generated from general-slots.h.
6866         Add prototypes for structured error functions.
6867         Add long comments describing looping macros and change interface
6868         so that lvalues are automatically declared.
6869         Add NO_DECLARE macro in case callers want to declare lvalues
6870         themselves.
6871
6872         * lread.c (read_syntax_error):
6873         * lread.c (continuable_read_syntax_error):
6874         * lread.c (read_structure):
6875         * lread.c (sequence_reader):
6876         * lread.c (read_list_conser):
6877         * lread.c (read_compiled_function):
6878         Rename syntax_error and continuable_syntax_error to avoid clash
6879         with same-named structured error functions.
6880
6881         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6882         * menubar-msw.c (populate_menu_add_item):
6883         * menubar-msw.c (populate_or_checksum_helper):
6884         [5].
6885         [9].
6886
6887         * menubar-x.c:
6888         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6889         Mule-ize whole file.
6890
6891         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6892
6893         * mule-charset.c (Fmake_charset):
6894         * mule-wnnfns.c (Fwnn_set_param):
6895         [1].
6896
6897         * ntproc.c (create_child):
6898         * ntproc.c (Fwin32_set_current_locale):
6899         Add comments portending doom.
6900
6901         * objects-msw.c:
6902         * objects-msw.c (old_font_enum_callback_2):
6903         * objects-msw.c (font_enum_callback_1):
6904         * objects-msw.c (mswindows_enumerate_fonts):
6905         [5].
6906
6907         * objects-x.c:
6908         * objects-x.c (allocate_nearest_color):
6909         * objects-x.c (x_parse_nearest_color):
6910         * objects-x.c (x_initialize_color_instance):
6911         * objects-x.c (x_print_color_instance):
6912         * objects-x.c (x_finalize_color_instance):
6913         * objects-x.c (x_valid_color_name_p):
6914         * objects-x.c (x_initialize_font_instance):
6915         * objects-x.c (x_print_font_instance):
6916         * objects-x.c (valid_x_font_name_p):
6917         * objects-x.c (truename_via_FONT_prop):
6918         * objects-x.c (truename_via_random_props):
6919         * objects-x.c (truename_via_XListFonts):
6920         * objects-x.c (x_font_truename):
6921         * objects-x.c (x_font_instance_truename):
6922         * objects-x.c (x_font_instance_properties):
6923         * objects-x.c (x_list_fonts):
6924         * objects-x.c (x_find_charset_font):
6925         Mule-ize entire file.
6926         [7].
6927
6928         * objects-x.h:
6929         Mule-verify.
6930
6931         * print.c:
6932         * print.c (std_handle_out_external):
6933         * print.c (debug_print_no_newline):
6934         * print.c (syms_of_print):
6935         Output to all debugger kinds in debug-print.
6936         Fix console-output code under MSWin to actually work.
6937
6938         * process-nt.c (send_signal):
6939         * process-nt.c (nt_create_process):
6940         Use newer Unicode macros.
6941
6942         * process-unix.c (unix_create_process):
6943         * process-unix.c (unix_canonicalize_host_name):
6944         * process-unix.c (unix_open_network_stream):
6945         [7].
6946
6947         * scrollbar-x.c:
6948         Mule-verify.
6949
6950         * search.c (syms_of_search):
6951         [2].
6952
6953         * select-msw.c (mswindows_destroy_selection):
6954         Use LIST_LOOP_2.
6955
6956         * select-x.c (symbol_to_x_atom):
6957         [7].
6958
6959         * select.c (syms_of_select):
6960         [2].
6961
6962         * sound.c (Fplay_sound_file):
6963         [7].
6964
6965         * specifier.c:
6966         * specifier.c (decode_specifier_type):
6967         * specifier.c (Fvalid_specifier_locale_type_p):
6968         * specifier.c (check_valid_locale_or_locale_type):
6969         * specifier.c (decode_locale):
6970         * specifier.c (decode_locale_type):
6971         * specifier.c (decode_locale_list):
6972         * specifier.c (check_valid_domain):
6973         * specifier.c (decode_specifier_tag_set):
6974         * specifier.c (Fcanonicalize_tag_set):
6975         * specifier.c (Fdefine_specifier_tag):
6976         * specifier.c (Fspecifier_tag_predicate):
6977         * specifier.c (check_valid_inst_list):
6978         * specifier.c (check_valid_spec_list):
6979         * specifier.c (decode_how_to_add_specification):
6980         * specifier.c (check_modifiable_specifier):
6981         * specifier.c (specifier_add_spec):
6982         * specifier.c (boolean_validate):
6983         * specifier.c (display_table_validate):
6984         [9].
6985
6986         * specifier.c (syms_of_specifier):
6987         Move some symbols to general-slots.h.
6988         [2].
6989
6990         * symbols.c:
6991         * symbols.c (Fmapatoms):
6992         * symbols.c (Fapropos_internal):
6993         Add GCPROs.
6994
6995         * symbols.c (set_default_buffer_slot_variable):
6996         * symbols.c (set_default_console_slot_variable):
6997         [1].
6998
6999         * symbols.c (defsymbol_massage_name_1):
7000         * symbols.c (defkeyword_massage_name):
7001         * symbols.c (deferror_1):
7002         * symbols.c (deferror):
7003         * symbols.c (deferror_massage_name_and_message):
7004         * symeval.h:
7005         * symeval.h (DEFSYMBOL):
7006         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7007
7008         * symbols.c (syms_of_symbols):
7009         [2].
7010
7011         * symsinit.h:
7012         * symsinit.h (init_win32): New.
7013         Also new is syms_of_dialog_mswindows.
7014
7015         * syswindows.h:
7016         Add new Unicode macros, missing Cygwin wide-char functions,
7017         convenience conversion macros for Qmswindows_tstr, macros for
7018         encapsulating required MSWin <-> Cygwin filename conversions,
7019         prototype for dynamically-extracted (not in NT 3.51) functions.
7020
7021         * toolbar-x.c:
7022         Mule-verify.
7023
7024         * tooltalk.c (Fadd_tooltalk_message_arg):
7025         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7026         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7027         [7].
7028
7029         * tooltalk.c (syms_of_tooltalk):
7030         [2].
7031
7032         * unexnt.c:
7033         * unexnt.c (unexec):
7034         Fix up headers, declaration of unexec() to be more standard.
7035
7036 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7037
7038         * offix.h: Revert change to guard macros - they're used in offix.c!
7039
7040 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7041
7042         * lisp.h: Defsubred Fdelete.
7043
7044         * console-msw.h:  (msprinter_default_printer): Added.
7045
7046         * console-msw.c (msprinter_canonicalize_console_connection):
7047         (msprinter_canonicalize_device_connection): Added.
7048
7049         * device-msw.c (msprinter_default_printer):
7050         (Fmswingows_get_default_printer):
7051         (signal_enum_priner_error):
7052         (Fmswingows_printer_list): Added.
7053
7054 2000-07-19  Martin Buchholz <martin@xemacs.org>
7055
7056         * XEmacs 21.2.35 is released.
7057
7058 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7059
7060         * select-x.c (x_handle_selection_request):
7061         Text selected in xemacs and pasted into xterm failed to appear.
7062         Spelling fixes and cosmetic changes.
7063
7064 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7065
7066         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7067         XEmacs frame (fix for doubling chars in dialog boxes).
7068
7069 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7070
7071         * select.c (select_convert_in, select_convert_out):
7072         Don't call intern() every time.
7073
7074         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7075         * select.c (vars_of_select): Initialise them.
7076
7077 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7078
7079         * select.c (selection-coercible-types): New.
7080
7081         * select.c (own-selection-internal):
7082         * select.c (get-selection-internal):
7083         MULE bug fix - these should default to COMPOUND_TEXT and not
7084         STRING for MULE. I think.
7085
7086         * select.c (select_convert_out): Use selection-coercible-types
7087         to find types that we can attempt to perform coercions on.
7088
7089 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7090
7091         * mule-wnnfns.c:
7092         * mule-canna.c:
7093         Add coding: cookie to identify encoding.
7094
7095         * mule-canna.c (CANNA_mode_keys): make static.
7096         Use proper prototypes, even for functions of no arguments.
7097         Remove external prototype for Fding().
7098
7099         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7100
7101         * select.c (syms_of_select): Add missing DEFSUBR.
7102
7103 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7104
7105         * select.c (get_selection_internal, own_selection_internal):
7106         Make the type default to STRING, rather than placing a nil type
7107         into Vselection_alist.
7108
7109 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7110
7111         * gpmevent.c (tty_selection_exists_p):
7112         * gpmevent.c (tty_own_selection):
7113         Updated parameter lists.
7114
7115 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7116
7117         * select.h (selection-alist): Removed declaration.
7118
7119         * select.h (get_local_selection):
7120         * select.c (get_local_selection):
7121         Made static.
7122
7123         * select.h (convert_selection): Removed declaration.
7124         * select.c (convert_selection): Removed.
7125         This function belongs in Lisp.
7126
7127         * select.h (select_convert_in): Declare.
7128         * select.h (select_convert_out): Declare.
7129         * select.c (select_convert_in): New.
7130         * select.c (select_convert_out): New.
7131         New conversion functions for other files to call.
7132
7133         * select.h (select_notify_buffer_kill): Declare.
7134         * select.c (select_notify_buffer_kill): New.
7135         New functions that get called from kill-buffer.
7136
7137         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7138         X-specific lisp code.
7139
7140         * select.h: Declare some of the lisp-visible functions for
7141         external use.
7142
7143         * select.c (clean_local_selection_data): Removed. This was
7144         a disgusting function, and previously should have been in
7145         select-x.c in any case. The functionality is now provided
7146         in select-convert-from-integer (select.el).
7147
7148         * select.c (available-selection-types): Fixed stupidity where
7149         INTEGER and ATOM got added twice. Also add STRING when we see an
7150         extent.
7151
7152         * select.c (get-selection-internal): Removed symbol stripping. No
7153         longer causes conversion when data comes from the internal cache.
7154
7155         * select.c (syms_of_select): Added new functions.
7156
7157         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7158         error checking - previously this called abort!
7159
7160         * select-x.c (x_own_selection): Changed comment.
7161
7162         * select-x.c (x_handle_selection_request): Use select_convert_out.
7163         Don't mess with selection-alist; it's an internal variable of select.c.
7164
7165         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7166
7167         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7168         rather than messing with selection-alist.
7169
7170         * select-msw.c (mswindows_get_foreign_selection):
7171         Use TO_INTERNAL_FORMAT rather than hacking.
7172
7173 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7174
7175         * process-unix.c (unix_open_multicast_group):
7176         (unix_open_multicast_group): Remove useless casts.
7177
7178 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7179
7180         * sound.c (Fplay_sound): Fix `unused variable' warning.
7181
7182         * emacs.c (main): Use correct type for _environ on SCO5.
7183
7184 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7185
7186         * console.h (own_selection_method):
7187         * console.h (selection_exists_p_method):
7188         * console.h (available_selection_types_method): New.
7189         * console.h (register_selection_data_type_method): New.
7190         * console.h (selection_data_type_name): New.
7191
7192         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7193         function & alist to track GlobalAlloc()'d handles that need
7194         releasing when the clipboard data gets replaced or emptied.
7195
7196         * event-msw.c (mswindows_wnd_proc): Call it.
7197
7198         * lisp.h, general.c (Qappend): New symbol representing a
7199         `how-to-add' mode.
7200
7201         * select.c (own-selection-internal):
7202         * select.c (selection-exists-p):
7203         * select.c (available-selection-types): New.
7204         * select.c (register-selection-data-type): New.
7205         * select.c (selection-data-type-name): New.  New functions to deal
7206         with device-specific selection data formats.
7207         * select.c (selection-converter-out-alist): Renamed.
7208         * select.c (selection-converter-in-alist): New.
7209         * select.c (selection-appender-alist): New.  Added new alists.
7210         * select.c (syms_of_select, vars_of_select): Added new symbols &
7211         variables.
7212         * select.c (get_local_selection): Split.
7213         * select.c: Removed spurious type checking - selections may now be
7214         of any type, not just strings.
7215         * select.c (own-selection-internal):
7216
7217         * select.h, select.c (convert_selection): New. Created
7218         convert_selection() function based on get_local_selection().
7219         * select.h, select.c (QCF_*): New symbols representing mswindows
7220         clipboard formats.
7221         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7222         symbols representing `how-to-add' modes.
7223
7224         * select-msw.c (x_sym_p): New.
7225         * select-msw.c (symbol_to_ms_cf): New.
7226         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7227         symbols & clipboard formats. Can also handle string names.
7228         * select-msw.c (mswindows_own_selection):
7229         * select-msw.c (mswindows_selection_exists_p):
7230         Added `data-type' parameter. Use it.
7231         * select-msw.c (mswindows_available_selection_types): New.
7232         * select-msw.c (mswindows_register_selection_data_type): New.
7233         * select-msw.c (mswindows_selection_data_type_name): New.
7234         * select-msw.c (mswindows_own_selection):
7235         * select-msw.c (mswindows_get_foreign_selection):
7236         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7237         * select-msw.c (console_create_select_mswindows): Added new methods.
7238         * select-msw.c (mswindows_destroy_selection): New.
7239         * select-msw.c (Vhandle_alist): New list.
7240         * select-msw.c (mswindows_own_selection):
7241
7242         * select-x.c (x_own_selection):
7243         * select-x.c (x_selection_exists_p):
7244         * select-x.c: Added some comments about maybe using new
7245         functionality.
7246         * select-x.c (x_own_selection):
7247
7248         * specifier.c: Remove definition of Qappend (now in general.c)
7249         * specifier.c (syms_of_specifier): Remove Qappend.
7250
7251 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7252
7253         * config.h.in: Add socklen_t.
7254
7255         * s/decosf4-0.h: No special compiler flags needed or desired.
7256         In particular, undefine _BSD for DEC OSF 4.0.
7257
7258 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7259
7260         * redisplay-msw.c (msprinter_frame_output_end): Added.
7261         (console_type_create_redisplay_mswindows): Referred the above.
7262
7263         * frame.c (setup_frame_without_minibuffer): Do not create a
7264         default minibuffer frame on a printer device.
7265
7266         * frame-msw.c (apply_dc_geometry): Added.
7267         (msprinter_start_page):
7268         (msprinter_init_frame_3):
7269         (msprinter_eject_page): Use it.
7270
7271         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7272         and removed residual duplex and orientation properties.
7273
7274 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7275
7276         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7277
7278         * unexalpha.c: Remove system prototypes from C sources!
7279
7280 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7281
7282         * eval.c: Remove references to M-x edit-options in DEFUNs for
7283         `defvar' and `defconst'.
7284
7285 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7286
7287         * config.h.in: Remove SMART_INCLUDE hackery.
7288
7289         PostgreSQL hacking:
7290         * config.h.in: Don't use SMART_INCLUDE.
7291
7292         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7293         * inline.c: Simply #include "postgresql.h"
7294         * postgresql.c:
7295         - Don't use SMART_INCLUDE
7296         - Use simply "const".
7297         - Use standard doc string conventions.
7298         - Use correct type for result of PQstatus.
7299
7300 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7301
7302         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7303
7304         C++ compilation changes.
7305         * config.h.in (EXTERN_C): Define.
7306         * config.h.in (not): This is also a C++ keyword.
7307         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7308         * cm.c: Use EXTERN_C.
7309         * redisplay-tty.c: Use EXTERN_C.
7310         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7311
7312 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7313
7314         * general.c: Remove duplicate definition for Qfunction.
7315
7316 2000-07-08  Ben Wing  <ben@xemacs.org>
7317
7318         * device-msw.c (msprinter_init_device):
7319         * device-msw.c (sync_printer_with_devmode):
7320         * device-msw.c (handle_devmode_changes):
7321         * device-msw.c (print_dialog_worker):
7322         * device-msw.c (Fmsprinter_apply_settings):
7323         * device-msw.c (hash_devmode):
7324         * device-msw.c (Fmsprinter_settings_despecialize):
7325         use Qmswindows_tstr, not Qctext.
7326
7327         * vm-limit.c (check_memory_limits):
7328         avoid infinite loop printing warning messages.
7329
7330 2000-07-05  Craig Lanning  <lanning@scra.org>
7331
7332         * Makefile.in.in: Add support for including the Windows resources
7333         when building with the cygwin and mingw targets.
7334
7335         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7336         not set or not correct.
7337         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7338         (init_initial_directory): Don't try to use $PWD on the
7339         WIN32_NATIVE target.
7340
7341         * s\cygwin32.h:
7342         [[Add -mwindows to eliminate console window.]] not required --ben
7343         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7344         (MAIL_USE_POP): removed; now handled by configure.
7345
7346         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7347         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7348         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7349         (MAIL_USE_POP): removed; now handled by configure.
7350         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7351         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7352         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7353         constant string.
7354         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7355         up from <winsock.h> via systime.h.
7356         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7357         (getpagesize): from Dan Holmsand, added.
7358         Added #endif which was left dangling by Ben's mega patch; added
7359         comment to help prevent this in the future.
7360
7361         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7362
7363 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7364
7365         * console-msw.h (struct mswindows_device): Removed unnecessary
7366         cached device geometry values.
7367         Added update_tick and an accessor macro.
7368         (Lisp_Devmode): Added lrecord declaration.
7369         (struct msprinter_device): Contain devmode as a Lisp object.
7370         Added mswindows_get_selected_frame_hwnd();
7371
7372         * console.h (struct console_methods): Indentation nitpicking.
7373
7374         * device-msw.c (mswindows_init_device): Do not initialize geometry
7375         cache. Initialize update tick.
7376         (mswindows_device_system_metrics): Ask the device for its geometry.
7377         (global_free_2_maybe):
7378         (devmode_to_hglobal):
7379         (handle_printer_changes):
7380         (ensure_not_printing):
7381         (print_dialog_worker):
7382         (Fmsprinter_print_setup_dialog):
7383         (Fmsprinter_print_dialog):
7384         (plist_get_margin):
7385         (plist_set_margin):
7386         (Fmsprinter_page_setup_dialog): Added functions.
7387         (sync_printer_with_devmode):
7388         (handle_devmode_changes):
7389         (Fmsprinter_get_settings):
7390         (Fmsprinter_select_settings):
7391         (Fmsprinter_apply_settings):
7392         (allocate_devmode):
7393         (Fmsprinter_settings_copy):
7394         (Fmsprinter_settings_despecialize):
7395         (print_devmode):
7396         (finalize_devmode):
7397         (equal_devmode):
7398         (hash_devmode): Added functions
7399         (syms_of_device_mswindows): Init devmode lrecord class.
7400
7401         * device.h: Added an exfun for find-device.
7402
7403         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7404         geometry; although, recreate the device compatible DC.
7405
7406         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7407         (msprinter_init_frame_3):
7408         (msprinter_frame_property):
7409         (msprinter_internal_frame_property_p):
7410         (msprinter_frame_properties):
7411         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7412         print job properties (will move to device settings).
7413
7414         * lisp.h: Added symbols.
7415
7416         * general.c (syms_of_general): Declared them.
7417
7418         * hash.c (string_hash): Added.
7419
7420         * lrecord.h (lrecord_type): Added devmode lrecord type.
7421
7422 2000-07-02  Mike Sperber <mike@xemacs.org>
7423
7424         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7425         FreeBSD 4.0.
7426
7427 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7428
7429         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7430         integer.
7431
7432 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7433
7434         * data.c (Fstring_to_number): Don't recognize floating point if
7435         base is not 10.
7436
7437 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7438
7439         * glyphs-widget.c (tab_control_query_geometry):
7440         (widget_query_geometry):
7441         (button_query_geometry):
7442         * glyphs.c (text_query_geometry):
7443         Enforce type correctness.
7444
7445 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7446
7447         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7448         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7449
7450 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7451
7452         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7453         conflicts with gcc's fixincluded version of FOO.h.
7454
7455         * glyphs.h (image_instance_geometry): Remove trailing `,'
7456
7457 2000-06-08  Mike Alexander  <mta@arbortext.com>
7458
7459         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7460         (shove_thread): Don't write the same output twice
7461         (make_ntpipe_output_stream): Increase priority of shove thread
7462         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7463         chance to run
7464         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7465         it.
7466
7467 2000-06-12  Ben Wing  <ben@xemacs.org>
7468
7469         * s\mingw32.h (sigset):
7470         * s\windowsnt.h (sigset):
7471         rename msw_ to mswindows_ for consistency with general convention.
7472
7473 2000-06-12  Ben Wing  <ben@xemacs.org>
7474
7475         * console-msw.c:
7476         * console-msw.c (mswindows_get_console_hwnd):
7477         * console-msw.c (mswindows_ensure_console_allocated):
7478         * console-msw.c (mswindows_hide_console):
7479         * console-msw.c (mswindows_show_console):
7480         * console-msw.c (mswindows_ensure_console_buffered):
7481         * console-msw.c (mswindows_output_console_string):
7482         * console-msw.c (mswindows_windows9x_p):
7483         * console-msw.h:
7484         * device-msw.c (mswindows_get_workspace_coords):
7485         * device-msw.c (mswindows_device_system_metrics):
7486         * dialog-msw.c (mswindows_popup_dialog_box):
7487         * event-msw.c (mswindows_wnd_proc):
7488         * frame-msw.c (mswindows_size_frame_internal):
7489         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7490         * menubar-msw.c (displayable_menu_item):
7491         * menubar-msw.c (mswindows_char_is_accelerator):
7492         * nt.c:
7493         * nt.c (mswindows_sigset):
7494         * nt.c (mswindows_sigrelse):
7495         * nt.c (mswindows_sigpause):
7496         * nt.c (mswindows_raise):
7497         * nt.c (timer_proc):
7498         * ntproc.c:
7499         * ntproc.c (find_child_console):
7500         * ntproc.c (sys_kill):
7501         * print.c:
7502         * print.c (std_handle_out_external):
7503         * process-nt.c (find_child_console):
7504         * process-nt.c (send_signal_the_95_way):
7505         * process-nt.c (ensure_console_window_exists):
7506         * process-nt.c (nt_create_process):
7507         * syssignal.h:
7508         rename msw_ to mswindows_ for consistency with general convention.
7509
7510         * emacs.c:
7511         * dumper.c:
7512         include nt.h, not syswindows.h.
7513
7514         * nt.c (mswindows_fstat):
7515         * nt.c (mswindows_stat):
7516         prefix mswindows_ instead of attempting to directly override the
7517         library functions.  fix declarations.
7518
7519         * nt.h:
7520         include syswindows.h.  move some sysdep.h stuff here.
7521
7522         * ntheap.h:
7523         include syswindows.h, not <windows.h>.
7524
7525         * ntplay.c:
7526         clean up headers.
7527
7528         * sysdep.c:
7529         clean up headers.
7530
7531         * sysdep.c (sys_fstat):
7532         * sysdep.c (sys_stat):
7533         call mswindows versions when appropriate.
7534
7535         * sysdep.h:
7536         move mswin decls to nt.h.
7537
7538         * syswindows.h:
7539         add long comment describing appropriate use of the various windows
7540         headers.
7541
7542 2000-06-11  Ben Wing  <ben@xemacs.org>
7543
7544         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7545
7546 2000-06-10  Ben Wing  <ben@xemacs.org>
7547
7548         * Makefile.in.in (release):
7549         Correction to make sure xemacs.exe always dumped when correct.
7550
7551         * alloca.c:
7552         * balloon_help.c:
7553         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7554
7555         * buffer.c (set_buffer_internal):
7556         [[[[2]]]]: Remove HAVE_FEP code.
7557
7558         * buffer.c (init_initial_directory):
7559         [3].
7560
7561         * bytecode.c:
7562         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7563         individual files.
7564
7565         * callproc.c:
7566         * callproc.c (call_process_cleanup):
7567         * callproc.c (Fold_call_process_internal):
7568         * callproc.c (child_setup):
7569         * callproc.c (getenv_internal):
7570         * callproc.c (init_callproc):
7571         * callproc.c (vars_of_callproc):
7572         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7573         __CYGWIN32__ -> CYGWIN.
7574         DOS_NT -> WIN32_NATIVE.
7575         Remove MSDOS support/references, converting to WIN32_NATIVE
7576           where correct.
7577         __MINGW32__ -> MINGW.
7578         Fix windows.h includes.
7579         Remove bogus HAVE_NTGUI.
7580
7581         * config.h.in:
7582         [2].
7583
7584         * console-msw.c:
7585         mswindows_message_outputted added for use in allowing startup
7586         errors on the console to be seen.
7587
7588         * console-msw.c (msw_ensure_console_allocated):
7589         * console-msw.c (msw_output_console_string):
7590         * console-msw.c (DHEADER):
7591         * console-msw.c (DOPAQUE_DATA):
7592         * console-msw.c (DEVENT):
7593         * console-msw.c (DCONS):
7594         * console-msw.c (DCONSCDR):
7595         * console-msw.c (DSTRING):
7596         * console-msw.c (DVECTOR):
7597         * console-msw.c (DSYMBOL):
7598         * console-msw.c (DSYMNAME):
7599         Fix warnings.
7600
7601         * console-stream.c (stream_init_console):
7602         Fix text/binary problems.
7603
7604         * device-msw.c:
7605         * device-msw.c (mswindows_finish_init_device):
7606         * device-msw.c (mswindows_delete_device):
7607         [1].
7608
7609         * device.c (handle_asynch_device_change):
7610         [3].
7611
7612         * dgif_lib.c:
7613         * dgif_lib.c (DGifOpenFileName):
7614         * dgif_lib.c (DGifOpenFileHandle):
7615         * dgif_lib.c (DGifGetLine):
7616         * dgif_lib.c (DGifGetPixel):
7617         Added config.h/lisp.h, fix up includes.
7618         [1].
7619
7620         * dired-msw.c:
7621         [4].
7622
7623         * dired.c:
7624         * dired.c (file_name_completion):
7625         * dired.c (Ffile_attributes):
7626         * dired.c (syms_of_dired):
7627         [1].
7628
7629         * dumper.c:
7630         * dumper.c (pdump_file_unmap):
7631         * dumper.c (pdump_load):
7632         [1].
7633
7634         * editfns.c:
7635         * editfns.c (Ftemp_directory):
7636         * editfns.c (user_login_name):
7637         * editfns.c (Fuser_real_login_name):
7638         * editfns.c (get_home_directory):
7639         [1].
7640
7641         * elhash.c (finish_marking_weak_hash_tables):
7642         [[[[5]]]]: Fix GCC warnings.
7643
7644         * emacs.c:
7645         * emacs.c (mswindows_handle_hardware_exceptions):
7646         * emacs.c (make_arg_list_1):
7647         * emacs.c (main_1):
7648         * emacs.c (Fkill_emacs):
7649         * emacs.c (Fdump_emacs):
7650         [1].
7651         Fix problems with nested crashes, add long comment.
7652
7653         * event-Xt.c (init_event_Xt_late):
7654         [1].
7655
7656         * event-msw.c:
7657         * event-msw.c (mswindows_dde_callback):
7658         * event-msw.c (mswindows_handle_sticky_modifiers):
7659         * event-msw.c (mswindows_wnd_proc):
7660         [1].
7661         [5].
7662
7663         * events.c (character_to_event):
7664         [1].
7665
7666         * fileio.c:
7667         * fileio.c (Ffile_name_directory):
7668         * fileio.c (Ffile_name_nondirectory):
7669         * fileio.c (directory_file_name):
7670         * fileio.c (Fexpand_file_name):
7671         * fileio.c (Fsubstitute_in_file_name):
7672         * fileio.c (Ffile_name_absolute_p):
7673         * fileio.c (check_executable):
7674         * fileio.c (Ffile_readable_p):
7675         * fileio.c (Ffile_accessible_directory_p):
7676         * fileio.c (Ffile_modes):
7677         * fileio.c (Funix_sync):
7678         * fileio.c (vars_of_fileio):
7679         [1]. [4].
7680
7681         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7682
7683         Expand getdefdir defn.
7684         Fix bogus rename() comment.
7685
7686         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7687         to use standard XEmacs include files, e.g. sysfile.h, rather
7688         than system-specific includes.
7689
7690         * fns.c:
7691         * fns.c (Fsubseq):
7692         [5]. [6].
7693
7694         * frame.c (vars_of_frame):
7695         [1].
7696
7697         * getloadavg.c:
7698         * getloadavg.c (getloadavg):
7699         [1]. [6].
7700         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7701         (We don't use it elsewhere in the code; just add a comment.)
7702
7703         * gif_io.c:
7704         [6].
7705         Add config.h.
7706
7707         * glyphs-msw.c:
7708         * glyphs-msw.c (mswindows_resource_instantiate):
7709         [1].
7710
7711         * glyphs-x.c (x_native_layout_instantiate):
7712         [5].
7713
7714         * gui-msw.c (Fmswindows_shell_execute):
7715         [1].
7716
7717         * insdel.c:
7718         [4].
7719
7720         * lisp.h:
7721         [4]. [5].
7722
7723         * lread.c (locate_file_in_directory_mapper):
7724         [1].
7725
7726         * lstream.c:
7727         [4].
7728
7729         * mem-limits.h:
7730         * mem-limits.h (get_lim_data):
7731         [1].
7732
7733         * menubar-msw.c:
7734         [4].
7735
7736         * ndir.h:
7737         [1].
7738
7739         * nt.c:
7740         * nt.c (getwd):
7741         * nt.c (closedir):
7742         * nt.c (rva_to_section):
7743         * nt.c (mswindows_executable_type):
7744         [1]. [6].
7745         Fix closedir() defn.
7746
7747         * nt.h:
7748         [[[[8]]]]: *_OK defs moved to sysfile.h.
7749
7750         * ntproc.c:
7751         [6]. [7].
7752
7753         * objects-x.c:
7754         [4].
7755
7756         * print.c:
7757         * print.c (std_handle_out_external):
7758         [1]. [4].
7759
7760         * process-nt.c:
7761         * process-nt.c (nt_create_process):
7762         [6].
7763         try to fix process quoting somewhat.
7764
7765         * process-unix.c (unix_create_process):
7766         [1].
7767
7768         * process.c:
7769         * process.c (vars_of_process):
7770         Add Vnull_device.
7771
7772         * process.h:
7773         [1].
7774
7775         * realpath.c:
7776         * realpath.c (xrealpath):
7777         [1].
7778
7779         * redisplay-tty.c (init_tty_for_redisplay):
7780         [3].
7781
7782         * redisplay.c:
7783         [4]. [6].
7784
7785         * scrollbar-msw.c:
7786         [4].
7787
7788         * sheap.c:
7789         * sheap.c (more_static_core):
7790         * sheap.c (report_sheap_usage):
7791         [5]. [6].
7792
7793         * signal.c:
7794         * signal.c (alarm_signal):
7795         [1]. [6].
7796
7797         * sound.c:
7798         [6].
7799
7800         * strftime.c:
7801         * strftime.c (zone_name):
7802         [1]. [5].
7803
7804         * symsinit.h (init_sunpro):
7805         [1].
7806
7807         * syscommctrl.h:
7808         commctrl.h not in Cygwin b20.1.
7809
7810         * sysdep.c:
7811         * sysdep.c (endif):
7812         * sysdep.c (sys_subshell):
7813         * sysdep.c (init_baud_rate):
7814         * sysdep.c (emacs_get_tty):
7815         * sysdep.c (emacs_set_tty):
7816         * sysdep.c (tty_init_sys_modes_on_device):
7817         * sysdep.c (init_system_name):
7818         * sysdep.c (sys_open):
7819         * sysdep.c (interruptible_open):
7820         * sysdep.c (sys_fopen):
7821         * sysdep.c (sys_mkdir):
7822         * sysdep.c (sys_rename):
7823         * sysdep.c (get_process_times_1):
7824         [1]. [6].
7825
7826         * sysdep.h:
7827         [1].
7828
7829         * sysdir.h:
7830         * sysdir.h (DIRENTRY_NONEMPTY):
7831         [1]. [6].
7832
7833         * sysdll.c (dll_init):
7834         * sysdll.h:
7835         [1].
7836
7837         * sysfile.h:
7838         [1]. [6]. [8].
7839         added text/binary defs.
7840
7841         * sysfloat.h:
7842         [1].
7843
7844         * sysproc.h:
7845         * sysproc.h (EDESTADDRREQ):
7846         * sysproc.h (poll_fds_for_input):
7847         [1]. [6].
7848
7849         * syspwd.h:
7850         [6].
7851
7852         * syssignal.h:
7853         [1].
7854
7855         * systime.h:
7856         [1]. [6].
7857
7858         * systty.h:
7859         [1].
7860
7861         * syswindows.h:
7862         [1].
7863         Always define WIN32_LEAN_AND_MEAN.
7864
7865         * unexcw.c (unexec):
7866         [5].
7867
7868         * unexec.c:
7869         * unexec.c (copy_text_and_data):
7870         * unexec.c (adjust_lnnoptrs):
7871         [1].
7872
7873         * unexnt.c:
7874         * unexnt.c (_start):
7875         [1].
7876
7877 2000-06-07  Ben Wing  <ben@xemacs.org>
7878
7879         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7880         was used only as a model.  We've long since extracted any useful
7881         logic or code out of this. (I just did an exhaustive search.)
7882
7883         * s\msdos.h: Removed.
7884
7885         * s\windows95.h: Removed.
7886
7887 2000-06-10  Ben Wing  <ben@xemacs.org>
7888
7889         * s\cygwin32.h:
7890         [1]. [5].
7891         Don't use extern with fun defs.
7892
7893         * s\mingw32.h:
7894         [1]. [7].
7895         Remove nt\inc include.
7896         Remove getdisk, getdefdir. (The former is unused, the latter
7897         expanded in fileio.h.)
7898
7899         * s\windowsnt.h:
7900         * s\windowsnt.h (WIN32_NATIVE):
7901         * s\windowsnt.h (HAVE_STRCASECMP):
7902         [1]. [7].
7903         Add long comment about preprocessor changes.
7904         Remove getdisk, getdefdir. (The former is unused, the latter
7905         expanded in fileio.h.)
7906
7907 2000-06-10  Ben Wing  <ben@xemacs.org>
7908
7909         * m\arm.h:
7910         * m\delta.h:
7911         * m\intel386.h:
7912         * m\sequent.h:
7913         * m\template.h:
7914         * m\windowsnt.h:
7915         [1].
7916         Remove bogus/unused NO_SOCK_SIGIO.
7917
7918 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7919
7920         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7921         not an Emchar.
7922
7923 2000-06-04  Mike Sperber <mike@xemacs.org>
7924
7925         * casetab.c (set_case_table): For `set-standard-case-table',
7926         actually deposit the new case tables where the rest of XEmacs can
7927         see them.
7928
7929 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7930
7931         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7932
7933 2000-06-05  Ben Wing  <ben@xemacs.org>
7934
7935         * callproc.c (child_setup): Don't do close_load_descs() under
7936         MS Windows.  Put in a comment explaining why.
7937
7938 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7939
7940         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7941         Toolkit shell" which breaks `kill-compilation' on Windows NT
7942         native, retaining STDERR handling improvements.
7943
7944 2000-06-01  Andreas Jaeger  <aj@suse.de>
7945
7946         * s/s390.h: Support for S390, based on a patch by Martin
7947         Schwidefsky <schwidefsky@de.ibm.com>.
7948
7949 2000-05-30  Andy Piper  <andy@xemacs.org>
7950
7951         * window.c (allocate_window):
7952         (make_dummy_parent):
7953         (Fset_window_configuration): use new hashtable type.
7954
7955         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7956         (struct image_instantiator_methods):
7957         (struct Lisp_Image_Instance): make instance geometry signed.
7958
7959         * glyphs.c (instantiate_image_instantiator):
7960         (image_instance_query_geometry):
7961         (image_instance_layout):
7962         (image_instance_layout):
7963         (query_string_geometry):
7964         (text_query_geometry):
7965         (image_instantiate):
7966         (image_instantiate):
7967         (cache_subwindow_instance_in_frame_maybe):
7968         (subwindow_query_geometry): make instance geometry signed.
7969
7970         * glyphs-widget.c (widget_query_geometry):
7971         (widget_layout):
7972         (button_query_geometry):
7973         (tree_view_query_geometry):
7974         (tab_control_query_geometry):
7975         (layout_query_geometry):
7976         (layout_layout):
7977         (native_layout_layout): make instance geometry signed.
7978
7979 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7980
7981         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7982         constant.
7983
7984         * general.c (syms_of_general): Add Qfull_assoc symbol.
7985
7986         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7987         correctly.
7988         (decode_weak_list_type): Decode full-assoc type.
7989         (encode_weak_list_type): Encode full-assoc type.
7990         (Fmake_weak_list): Update doc string.
7991
7992 2000-05-30  Andy Piper  <andy@xemacs.org>
7993
7994         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7995
7996         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7997         (decode_hash_table_weakness): ditto.
7998         (Fhash_table_weakness): ditto.
7999         (Fhash_table_type): ditto.
8000         (finish_marking_weak_hash_tables): ditto.
8001         (hash_table_weakness_validate): ditto.
8002         (syms_of_elhash): ditto.
8003
8004 2000-05-28  Martin Buchholz <martin@xemacs.org>
8005
8006         * XEmacs 21.2.34 is released.
8007
8008 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8009
8010         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8011         start cache.
8012         (updating_line_start_cache): Gone.
8013         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8014         generic code to force a minimum of 1 line laid out in the
8015         CMOTION_DISP case.
8016
8017 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8018
8019         * glyphs.c (instantiate_image_instantiator): Check for initialized
8020         height & width no longer special cases IMAGE_NOTHING.
8021         (nothing_instantiate): Set height and width of instance.
8022
8023 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8024
8025         * unexelf.c (unexec): Search for ".data" section.
8026         Initialize new_data2_offset from old_data_index.
8027         Remove redundant check for ElfW.
8028
8029 2000-05-23  Andy Piper  <andy@xemacs.org>
8030
8031         * glyphs.c (get_image_instantiator_governing_domain): allow more
8032         specific domains as the governing domain rather than expecting an
8033         exact match. This fixes problems with layouts.
8034
8035 2000-05-22  Andy Piper  <andy@xemacs.org>
8036
8037         * redisplay-output.c (compare_runes): check for non-images
8038
8039         * glyphs.c (set_glyph_dirty_p): ditto.
8040         (update_glyph_cachel_data): ditto.
8041
8042         * glyphs-widget.c (layout_post_instantiate): ditto.
8043         (layout_post_instantiate): ditto.
8044
8045         * event-msw.c (mswindows_wnd_proc): warning removal.
8046
8047 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8048
8049         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8050
8051         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8052
8053         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8054
8055         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8056         (mswindows_executable_type): mingw32 now has enough headers for
8057         this to work.
8058
8059 2000-05-20  Andy Piper  <andy@xemacs.org>
8060
8061         * console-msw.c (mswindows_output_last_error): ; -> ,
8062
8063 2000-05-12  Andy Piper  <andy@xemacs.org>
8064
8065         * console-msw.c (FROB): compare ints with ints.
8066
8067 2000-05-11  Andy Piper  <andy@xemacs.org>
8068
8069         * glyphs-x.c (x_finalize_image_instance): make minimal build
8070         happy.
8071
8072 2000-05-20  Ben Wing  <ben@xemacs.org>
8073
8074         * event-Xt.c:
8075         * event-Xt.c (vars_of_event_Xt):
8076         move modifier-keys-are-sticky to event-stream.c.
8077
8078         * event-msw.c:
8079         * event-msw.c (mswindows_enqueue_mouse_button_event):
8080         * event-msw.c (key_needs_default_processing_p):
8081         * event-msw.c (XEMSW_LCONTROL):
8082         * event-msw.c (mswindows_handle_sticky_modifiers):
8083         * event-msw.c (FROB):
8084         * event-msw.c (clear_sticky_modifiers):
8085         * event-msw.c (output_modifier_keyboard_state):
8086         * event-msw.c (output_alt_keyboard_state):
8087         * event-msw.c (mswindows_wnd_proc):
8088         * event-msw.c (mswindows_modifier_state):
8089         * event-msw.c (emacs_mswindows_handle_magic_event):
8090         implement sticky modifiers.
8091
8092         * event-stream.c:
8093         * event-stream.c (vars_of_event_stream):
8094         move modifier-keys-are-sticky here.
8095
8096         * lisp.h:
8097         add CHECK_FUNCTION.
8098
8099         * rangetab.c:
8100         implement map-range-table.
8101
8102
8103 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8104
8105         * redisplay-tty.c (reset_tty_modes):
8106         (tty_redisplay_shutdown): Adjust argument type to
8107         tty_frame_output_end.
8108
8109 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8110
8111         * eval.c (Fbacktrace): Don't output a line with only right
8112         parenthesis.
8113
8114 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8115
8116         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8117         (Fpq_reset_poll): Ditto.
8118
8119 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8120
8121         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8122
8123 2000-05-16  Ben Wing  <ben@xemacs.org>
8124
8125         * buffer.c:
8126         * buffer.c (dfc_convert_to/from_internal_format):
8127         * buffer.c (reinit_vars_of_buffer):
8128         Fix conversion functions to allow reentrancy.
8129
8130         * console-msw.c:
8131         * console-msw.c (mswindows_output_last_error):
8132         New fun, generally useful -- output a human-readable
8133         version of GetLastError() on the console.
8134
8135         * console-msw.h:
8136         * console-msw.h (struct mswindows_frame):
8137         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8138
8139         * console-stream.c (stream_output_begin):
8140         * console-stream.c (stream_output_end):
8141         * console-stream.c (stream_output_vertical_divider):
8142         * console-stream.c (stream_clear_region):
8143         * console-stream.c (stream_flash):
8144         * console-stream.c (console_type_create_stream):
8145         Delete blank stream methods, not needed.
8146
8147         * console.h (struct console_methods):
8148         Split begin/end methods into window and frame.
8149
8150         * event-msw.c:
8151         * event-msw.c (mswindows_handle_paint):
8152         * event-msw.c (output_alt_keyboard_state):
8153         * event-msw.c (mswindows_wnd_proc):
8154         * event-msw.c (vars_of_event_mswindows):
8155         Comment about problems with ignored-expose.
8156         Define mswindows-debug-events; not really implemented.
8157
8158         * frame-msw.c (mswindows_init_frame_1):
8159         random cleanups.
8160
8161         * glyphs-msw.c:
8162         * glyphs-msw.c (begin_defer_window_pos):
8163         * glyphs-msw.c (mswindows_unmap_subwindow):
8164         * glyphs-msw.c (mswindows_map_subwindow):
8165         * glyphs-msw.c (mswindows_resize_subwindow):
8166         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8167
8168         * glyphs.c (make_image_instance_1):
8169         Fix crash.
8170
8171         * gutter.c (Fredisplay_gutter_area):
8172         Use new begin/end methods.
8173
8174         * lisp.h (Dynarr_new2):
8175         New creation fun.
8176
8177         * redisplay-msw.c:
8178         * redisplay-msw.c (mswindows_frame_output_begin):
8179         * redisplay-msw.c (mswindows_frame_output_end):
8180         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8181         New begin/end methods -- handle DeferWindowPos.
8182
8183         * redisplay-output.c (redisplay_move_cursor):
8184         * redisplay-output.c (redraw_cursor_in_window):
8185         * redisplay-output.c (redisplay_update_line):
8186         * redisplay-output.c (redisplay_output_window):
8187         New begin/end methods.
8188
8189         * redisplay-tty.c:
8190         * redisplay-tty.c (tty_frame_output_begin):
8191         * redisplay-tty.c (tty_frame_output_end):
8192         * redisplay-tty.c (console_type_create_redisplay_tty):
8193         New begin/end methods.
8194
8195         * redisplay-x.c:
8196         * redisplay-x.c (x_window_output_begin):
8197         * redisplay-x.c (x_window_output_end):
8198         * redisplay-x.c (console_type_create_redisplay_x):
8199         New begin/end methods.
8200
8201         * redisplay.c (redisplay_frame):
8202         * redisplay.c (Fredisplay_echo_area):
8203         New begin/end methods.
8204         use MAYBE_DEVMETH for clear_frame; it may not exist.
8205
8206         * window.h (WINDOW_XFRAME):
8207         WINDOW_XFOO macros -- get locale and decode struct pointer.
8208
8209
8210 2000-05-12  Ben Wing  <ben@xemacs.org>
8211
8212         * emacs.c:
8213         * emacs.c (ensure_no_quitting_from_now_on):
8214         * emacs.c (fatal_error_signal):
8215         * emacs.c (mswindows_handle_hardware_exceptions):
8216         * emacs.c (main):
8217         * emacs.c (Fkill_emacs):
8218         * emacs.c (shut_down_emacs):
8219         * emacs.c (assert_failed):
8220         various improvements in fatal error handling.
8221
8222         * eval.c:
8223         move preparing_for_armageddon to emacs.c.
8224
8225         * lisp.h:
8226         declare fatal_error_in_progress.
8227
8228         * print.c:
8229         * print.c (std_handle_out_external):
8230         * print.c (std_handle_out_va):
8231         * print.c (stderr_out):
8232         * print.c (stdout_out):
8233         use console under mswin when no standard output.
8234         don't do code conversion during fatal error.
8235
8236         * scrollbar.c (Fscrollbar_page_up):
8237         * scrollbar.c (Fscrollbar_page_down):
8238         fix missing else.  reindent.
8239
8240 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8241
8242         Emergency fix.
8243
8244         * glyphs.h (GLYPH_CACHEL_DESCENT):
8245         (GLYPH_CACHEL_DESCENT):
8246         (GLYPH_CACHEL_DESCENT):
8247         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8248         used in case these are inline functions.
8249         Use more absurd values to error check.
8250
8251         include window.h for error check functions.
8252
8253 2000-05-11  Ben Wing  <ben@xemacs.org>
8254
8255         * cmdloop.c (Freally_early_error_handler):
8256         Display message box under windows; otherwise, message will disappear
8257         before it can be viewed.
8258
8259         * console-msw.c:
8260         * console-msw.c (Fmswindows_message_box):
8261         * console-msw.c (FROB):
8262         * console-msw.c (syms_of_console_mswindows):
8263         Define new fun `mswindows-message-box'.
8264         #### I will merge this into `popup-dialog-box'; just give me
8265         a bit of time.
8266
8267         * general.c:
8268         * general.c (syms_of_general):
8269         Some new symbols used in `mswindows-message-box'.
8270
8271         * glyphs.c:
8272         * glyphs.c (Fset_image_instance_property):
8273         put warning in this fun.
8274
8275         * glyphs.h:
8276         * glyphs.h (GLYPH_CACHEL_WIDTH):
8277         * glyphs.h (GLYPH_CACHEL_ASCENT):
8278         * glyphs.h (GLYPH_CACHEL):
8279         * glyphs.h (GLYPH_CACHEL_GLYPH):
8280         define error-checking versions to try to catch a bug i've seen --
8281         redisplay gets in an infinite loop because the glyph width of the
8282         continuation glyph is 65535.
8283
8284         * lisp.h:
8285         Extern message-box stuff.
8286
8287         * window.c (allocate_window):
8288         * window.c (make_dummy_parent):
8289         * window.c (Fset_window_configuration):
8290         Use EQUAL not EQ for subwindow caches to make them work a bit
8291         better. (Something is still very broken.)
8292
8293
8294 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8295
8296         * glyphs.c (image_instantiate): Suppress gcc warnings.
8297         (Fmake_image_instance): Fix doc string.
8298         * specifier.c (Fmake_specifier): Ditto.
8299
8300 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8301
8302         * paths.h.in (PATH_LOCK): Removed.
8303         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8304         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8305
8306 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8307
8308         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8309         Document (featurep '(and xemacs 21.02)).
8310
8311 2000-05-09  Ben Wing  <ben@xemacs.org>
8312
8313         * buffer.c (complex_vars_of_buffer):
8314         update modeline-format doc.
8315
8316         * device.h:
8317         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8318
8319         * emacs.c:
8320         timeline of all released versions of Emacs, for use in creating
8321         authorship comments and in synching up.
8322
8323         * glyphs-widget.c (image_instantiator_buttons):
8324         * glyphs-widget.c (image_instantiator_edit_fields):
8325         * glyphs-widget.c (image_instantiator_combo_box):
8326         * glyphs-widget.c (image_instantiator_scrollbar):
8327         * glyphs-widget.c (image_instantiator_progress_guage):
8328         * glyphs-widget.c (image_instantiator_tree_view):
8329         * glyphs-widget.c (image_instantiator_tab_control):
8330         * glyphs-widget.c (image_instantiator_labels):
8331         * glyphs-widget.c (image_instantiator_layout):
8332         * glyphs-widget.c (image_instantiator_native_layout):
8333         rename decode_domain method to governing_domain.
8334
8335         * glyphs.c:
8336         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8337         * glyphs.c (add_entry_to_device_ii_format_list):
8338         make sure we don't put an entry more than once into the list.
8339         * glyphs.c (check_instance_cache_mapper):
8340         *************************************************************
8341         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8342         HAVE BEEN GETTING.
8343         *************************************************************
8344         * glyphs.c (get_image_instantiator_governing_domain):
8345         clean up, expand on new concept of governing domain.
8346         * glyphs.c (instantiate_image_instantiator):
8347         * glyphs.c (allocate_image_instance):
8348         use governing_domain instead of cache_domain in naming.
8349         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8350         * glyphs.c (make_image_instance_1):
8351         * glyphs.c (Fmake_image_instance):
8352         allow for any domain (not just device), and process the
8353         governing domain correctly.  very big doc fix.
8354         * glyphs.c (Fimage_instance_domain):
8355         new primitive, to retrieve the governing domain of an image instance.
8356         * glyphs.c (image_instantiate):
8357         use new governing_domain stuff.  this fixes a crash you could get
8358         by instantiating certain widget glyphs in frame locales. (should
8359         signal an error instead of crashing.)
8360         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8361         * glyphs.c (Fglyphp): clean up doc.
8362         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8363         * glyphs.c (syms_of_glyphs):
8364         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8365         * glyphs.c (image_instantiator_format_create): add some comments about
8366         bogus code.
8367         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8368         for current-display-table. (Apparently Hrjove implemented in 1998 a
8369         design I wrote up in 1996, but didn't update the doc string.)
8370
8371         * glyphs.h: clean up a doc string.
8372         * glyphs.h (governing_domain):
8373         * glyphs.h (struct image_instantiator_methods):
8374         changes for governing_domain stuff.
8375
8376         * gutter.c:
8377         * gutter.c (Fgutter_specifier_p):
8378         * gutter.c (Fgutter_size_specifier_p):
8379         * gutter.c (Fgutter_visible_specifier_p):
8380         * objects.c:
8381         * objects.c (Fcolor_specifier_p):
8382         * objects.c (Ffont_specifier_p):
8383         * objects.c (Fface_boolean_specifier_p):
8384         doc strings moved to make-*-specifier.
8385
8386         * redisplay.c (add_disp_table_entry_runes_1):
8387         * redisplay.c (generate_fstring_runes):
8388         * redisplay.c (screen):
8389         add random comments and doc strings.
8390
8391         * specifier.c:
8392         * specifier.c (Fmake_specifier):
8393         major overhaul of this doc string.
8394
8395         * specifier.c (Fvalid_specifier_domain_p):
8396         comment about the bogosity of image instances being domains.
8397         * specifier.c (decode_domain):
8398         now non-static, used in glyphs.c.
8399         * specifier.c (specifier_instance):
8400         comment about the bogosity of image instances being domains.
8401         * specifier.c (Fgeneric_specifier_p):
8402         move doc string to make-generic-specifier.
8403         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8404         rebackslashify.
8405
8406         * specifier.h:
8407         * specifier.h (DOMAIN_FRAME):
8408         * specifier.h (DOMAIN_LIVE_P):
8409         * specifier.h (DOMAIN_XDEVICE):
8410         rebackslashify.
8411         add comments about problems with these macros.
8412         prototype for decode_domain.
8413
8414         * toolbar.c:
8415         * toolbar.c (Ftoolbar_specifier_p):
8416         move doc string to `make-toolbar-specifier'.
8417
8418         * window.c (window_unmap_subwindows_cache_mapper):
8419         *************************************************************
8420         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8421         HAVE BEEN GETTING.
8422         *************************************************************
8423
8424 2000-05-09  Andy Piper  <andy@xemacs.org>
8425
8426         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8427
8428         * window.c (Fset_window_configuration): reset the frame subwindow
8429         cache and re-initialize the window subwindow caches.
8430
8431         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8432
8433 2000-05-09  Ben Wing  <ben@xemacs.org>
8434
8435         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8436         DWORD.
8437
8438 2000-04-26  Mike Woolley  <mike@bulsara.com>
8439
8440         * ntheap.c: Changed recreate_heap to limit the amount reserved
8441         for the heap to that which is actually available. Also now
8442         displays a message box (with some dignostics) in the event that
8443         it still can't start.
8444
8445 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8446
8447         * callproc.c (Fold_call_process_internal): GCPRO path
8448
8449 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8450
8451         Patch by Bill Perry.
8452
8453         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8454         back data instead of #ifdef.
8455         (Fscrollbar_page_down): ditto.
8456
8457 2000-05-07  Ben Wing  <ben@xemacs.org>
8458
8459         * buffer.h:
8460         Kludge for defining Qmswindows_tstr.
8461
8462         * nt.c:
8463         * nt.c (open_input_file):
8464         * nt.c (open_output_file):
8465         * nt.c (rva_to_section):
8466         * nt.c (mswindows_executable_type):
8467         Move all memory-mapped-file routines here (some were in unexnt.c,
8468         which is bad because they are used by process-nt.c, and unexnt
8469         won't be around when portable dumping).  Synched the above routines
8470         with FSF 20.6.
8471
8472         * nt.h:
8473         Removed ifdef'd out bogus code.
8474         Fixed some prototypes.
8475
8476         * nt.h (file_data):
8477         * nt.h (OFFSET_TO_RVA):
8478         * nt.h (RVA_TO_OFFSET):
8479         * nt.h (RVA_TO_PTR):
8480         Moved the memory-mapped-file structures, macros and prototypes
8481         here, to parallel nt.c.  ntheap.h should really be removed
8482         entirely, and it's a non-portable-dumper specific file.
8483
8484         * ntheap.h (round_to_next):
8485         Moved the memory-mapped-file structures, macros and prototypes
8486         to nt.h.
8487
8488         * ntproc.c (compare_env):
8489         Moved rva_to_section and mswindows_executable_type to nt.c.
8490         Moved compare_env to process-nt.c.
8491         ntproc.c will die, one day.
8492
8493         * ntproc.c (sys_spawnve):
8494         Account for win32_ -> mswindows_.
8495
8496         * process-nt.c:
8497         * process-nt.c (struct nt_process_data):
8498         * process-nt.c (ensure_console_window_exists):
8499         * process-nt.c (compare_env):
8500         * process-nt.c (nt_create_process):
8501         * process-nt.c (nt_kill_process_by_pid):
8502         * process-nt.c (syms_of_process_nt):
8503         * process-nt.c (vars_of_process_nt):
8504         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8505         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8506         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8507         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8508         Move compare_env here from ntproc.c.
8509
8510         * process.c (Fprocess_send_region):
8511         Takes an optional fourth argument, BUFFER, which should fix some
8512         problems with call-process.
8513
8514         * syscommctrl.h:
8515         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8516
8517         * syswindows.h:
8518         Move ICC_BAR_CLASSES to syscommctrl.h.
8519         Add preliminary macros for MSWindows/Mule.  More to come.
8520
8521         * unexnt.c:
8522         * unexnt.c (unexec):
8523         open_output_file moved to nt.c.
8524
8525
8526 2000-05-05  Andy Piper  <andy@xemacs.org>
8527
8528         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8529         instance from the frame cache also since GC may catch up too late
8530         to make frame deletion sane.
8531
8532 2000-05-04  Andy Piper  <andy@xemacs.org>
8533
8534         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8535         (x_finalize_image_instance): ungcpro on deletion.
8536
8537         * glyphs.c (image_instantiator_format_create): give pointers a
8538         query geometry method so that the geometry is at least set.
8539
8540         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8541         initialize layouts if using widgets.
8542
8543 2000-05-03  Andy Piper  <andy@xemacs.org>
8544
8545         * nt.c: remove bogus reference to sysmmsystem.h
8546
8547         * gui-x.c (popup_selection_callback): fix no selection abort.
8548
8549 2000-05-02  Andy Piper  <andy@xemacs.org>
8550
8551         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8552         (mswindows_widget_instantiate): ditto.
8553
8554         * glyphs-widget.c (initialize_widget_image_instance): initialize
8555         children correctly.
8556         (widget_instantiate): cope with children and items in the same
8557         instance.
8558
8559         * glyphs.c (mark_image_instance): cope with children as a first
8560         class member.
8561         (image_instance_equal): ditto.
8562         (image_instance_hash): ditto.
8563         (image_instance_changed): ditto.
8564
8565 2000-04-30  Andy Piper  <andy@xemacs.org>
8566
8567         * glyphs.c (subwindow_query_geometry): new function. Return some
8568         defaults.
8569         (subwindow_instantiate): don't assign dimensions if none have been
8570         given.
8571         (image_instantiator_format_create): add subwindow_query_geometry.
8572         (print_image_instance): cope with layouts as widgets.
8573
8574 2000-04-29  Andy Piper  <andy@xemacs.org>
8575
8576         * frame.c (delete_frame_internal): call
8577         free_frame_subwindow_instance_cache so that all subwindows are
8578         finalized before their parent.
8579         (mark_frame): remove subwindow_cachels.
8580         (Fmake_frame): remove subwindow_cachel manipulation.
8581         (allocate_frame_core): subwindow_instance_cache is a weak list.
8582         (delete_frame_internal): set subwindow_instance_cache to nil.
8583
8584         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8585         finalization safe.
8586         (mswindows_finalize_image_instance): use the device
8587         not the domain as the domain may have died already.
8588
8589         * glyphs-x.c (x_finalize_image_instance): ditto.
8590         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8591         HEIGHT.
8592
8593         * redisplay-output.c (redisplay_unmap_subwindows): update for
8594         subwindow instance cache as a weak list.
8595         (redisplay_unmap_subwindows_maybe): ditto.
8596         (redisplay_unmap_subwindows_except_us): ditto.
8597
8598         * glyphs.c (unmap_subwindow): error checking will check the domain
8599         so don't deal with it here. Don't use cachels anymore.
8600         (map_subwindow): ditto.
8601         (update_subwindow_cachel_data): remove old accessor names.
8602         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8603         (Fresize_subwindow): don't update cachel.
8604         (mark_subwindow_cachels):
8605         (update_subwindow_cachel_data):
8606         (add_subwindow_cachel):
8607         (get_subwindow_cachel_index):
8608         (update_subwindow_cachel):
8609         (reset_subwindow_cachels):
8610         (mark_subwindow_cachels_as_not_updated): deleted.
8611         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8612         subwindow instance to the frame cache.
8613         (find_matching_subwindow): update for subwindow instance cache as
8614         a weak list.
8615         (update_widget_instances): ditto.
8616         (image_instance_type_to_mask):inlined.
8617         (free_frame_subwindow_instance_cache): new function. finalize all
8618         subwindows that are instantiated.
8619
8620         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8621         of cachel information.
8622         (IMAGE_INSTANCE_DISPLAY_X):
8623         (IMAGE_INSTANCE_DISPLAY_Y):
8624         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8625         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8626         (XIMAGE_INSTANCE_DISPLAY_X):
8627         (XIMAGE_INSTANCE_DISPLAY_Y):
8628         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8629         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8630         remove subwindow_cachel structure and function references.
8631         (image_instance_type_to_mask): inline from glyphs.c
8632
8633         * redisplay.c (redisplay_frame): remove subwindow_cachel
8634         references.
8635
8636         * frame.h (struct frame): remove subwindow_cachels.
8637         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8638
8639         * frameslots.h: add subwindow_instance_cache.
8640
8641         * window.c (replace_window): check subwindow cache of replacement.
8642         (window_unmap_subwindows_cache_mapper):
8643         (window_unmap_subwindows): new functions. Unmap all subwindows
8644         cached on this window.
8645         (mark_window_as_deleted): unmap all subwindows.
8646
8647 2000-04-27  Andy Piper  <andy@xemacs.org>
8648
8649         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8650
8651         * glyphs-widget.c (widget_layout): return something.
8652         (layout_layout): return something. Fail if not initialized.
8653         (layout_query_geometry): ditto.
8654         (image_instantiator_native_layout): new function. Initialized the
8655         native layout type.
8656         (widget_instantiate): don't do layout stuff here.
8657
8658         * glyphs.c (instantiate_image_instantiator): reorded calling or
8659         instantiate and post_instantiate with layout in between.
8660         (image_instance_layout): be more selective about deciding whether
8661         the layout has been done or not.
8662
8663         * glyphs.h (struct image_instantiator_methods): return a value
8664         from layout_method.
8665
8666 2000-04-26  Andy Piper  <andy@xemacs.org>
8667
8668         * glyphs.c (allocate_image_instance): make initial width and
8669         height unspecified. Set initialized to 0.
8670
8671         * syscommctrl.h new file. Encapsulates commctrl.h.
8672
8673         * syswindows.h new file. Encapsulates windows.h.
8674
8675         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8676         * nt.c: ditto.
8677         * console-msw.h: ditto.
8678
8679         * redisplay-tty.c (tty_output_display_block): remove layout references.
8680
8681         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8682         window handle rather than just the frame.
8683
8684         * glyphs.c (mark_image_instance): remove layout references.
8685         (print_image_instance): ditto.
8686         (image_instance_equal): ditto.
8687         (image_instance_hash): ditto.
8688         (decode_image_instance_type): ditto.
8689         (encode_image_instance_type): ditto.
8690         (image_instantiate): ditto.
8691         (allocate_glyph): ditto.
8692         (Fimage_instance_height): ditto.
8693         (Fimage_instance_width): ditto.
8694         (update_subwindow): ditto.
8695
8696         * redisplay-x.c (x_output_display_block): recode for layouts as
8697         widgets.
8698
8699         * redisplay-output.c (redisplay_output_layout): recode for layouts
8700         as widgets.
8701         (compare_runes): remove layout references.
8702
8703         * redisplay-msw.c (mswindows_output_display_block): recode for
8704         layouts as widgets.
8705
8706         * glyphs-widget.c (image_instantiator_layout): remove
8707         layout_possible_dest_types.
8708         (layout_possible_dest_types): deleted.
8709
8710         * glyphs.h (image_instance_type): remove layout references.
8711         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8712         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8713         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8714
8715 2000-04-25  Andy Piper  <andy@xemacs.org>
8716
8717         * glyphs-widget.c (image_instantiator_buttons):
8718         (image_instantiator_edit_fields):
8719         (image_instantiator_combo_box):
8720         (image_instantiator_scrollbar):
8721         (image_instantiator_progress_guage):
8722         (image_instantiator_tree_view):
8723         (image_instantiator_tab_control):
8724         (image_instantiator_labels):
8725         (image_instantiator_layout): call default post_instantiate method.
8726         (widget_post_instantiate): new function. Simply lays out the
8727         widgets.
8728
8729         * glyphs.h (struct image_instantiator_methods): add
8730         post_instantiate method.
8731
8732         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8733         method calls.
8734
8735 2000-04-23  Andy Piper  <andy@xemacs.org>
8736
8737         * glyphs.h (struct image_instantiator_methods): add
8738         decode_domain_method.
8739         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8740         derived from the domain.
8741         (IMAGE_INSTANCE_FRAME): new accessor.
8742         (XIMAGE_INSTANCE_FRAME): ditto.
8743
8744         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8745         instead of _SUBWINDOW_FRAME.
8746         (finalize_image_instance): ditto.
8747         (Fimage_instance_foreground): ditto.
8748         (Fimage_instance_background): ditto.
8749         (image_instantiate): ditto.
8750         (update_subwindow_cachel): ditto.
8751         (update_subwindow): ditto.
8752         (unmap_subwindow): ditto.
8753         (map_subwindow): ditto
8754         (subwindow_instantiate): ditto.
8755         * glyphs-msw.c (mswindows_update_widget): ditto.
8756         (mswindows_progress_gauge_instantiate): ditto.
8757         (mswindows_tab_control_update): ditto.
8758         * glyphs-x.c (x_update_widget): ditto.
8759         (x_widget_instantiate): ditto.
8760         (x_tab_control_instantiate): ditto.
8761         (x_tab_control_update): ditto.
8762         * event-msw.c (mswindows_wnd_proc): ditto
8763
8764         * glyphs-widget.c (image_instantiator_layout): use
8765         subwindow_decode_domain.
8766         (image_instantiator_buttons): ditto.
8767         (image_instantiator_edit_fields): ditto.
8768         (image_instantiator_combo_box): ditto.
8769         (image_instantiator_scrollbar): ditto.
8770         (image_instantiator_progress_guage): ditto.
8771         (image_instantiator_tree_view): ditto.
8772         (image_instantiator_tab_control): ditto.
8773         (image_instantiator_labels): ditto.
8774         (image_instantiator_layout): ditto.
8775
8776         * glyphs.c: add instance error checking to many functions.
8777         (instantiate_image_instantiator): decode device from cache_domain.
8778         (image_instantiate): partially rewrite by using
8779         decode_image_instantiator_domain to determine what domain the
8780         instance needs to be cached in.
8781         (decode_image_instantiator_domain): new function. Determine what
8782         domain the image needs to be cached in.
8783         (check_window_subwindow_cache): new error checking function.
8784         (check_instance_cache_mapper): ditto.
8785         (check_image_instance_structure): ditto.
8786         (subwindow_decode_domain): new function. Encodes a window as a
8787         subwindow's cache domain.
8788         (image_instantiator_format_create): use it for text and
8789         subwindows.
8790
8791 2000-04-21  Andy Piper  <andy@xemacs.org>
8792
8793         * glyphs.c (image_instance_device): new function.
8794         (image_instance_frame): new function.
8795         (image_instance_window): new function.
8796         (image_instance_live_p): new function.
8797
8798         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8799         cache to nil.
8800
8801         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8802         (IMAGE_INSTANCE_DOMAIN): new accessor.
8803         (XIMAGE_INSTANCE_DOMAIN): ditto.
8804
8805         * glyphs-x.c (x_finalize_image_instance): device->domain.
8806
8807         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8808         (mswindows_finalize_image_instance): ditto.
8809
8810         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8811         (gif_instantiate): ditto.
8812         (png_instantiate): ditto.
8813         (tiff_instantiate): ditto.
8814
8815         * glyphs.c (instantiate_image_instantiator): use domain rather
8816         than device.
8817         (mark_image_instance): device -> domain.
8818         (print_image_instance): ditto.
8819         (finalize_image_instance): ditto.
8820         (image_instance_equal): ditto.
8821         (allocate_image_instance): ditto.
8822         (Fcolorize_image_instance): ditto.
8823         (query_string_geometry): ditto.
8824         (image_instantiate): ditto
8825         (query_string_font): ditto.
8826         (image_instantiate): ditto.
8827         (update_subwindow): ditto.
8828         (unmap_subwindow): ditto.
8829         (map_subwindow): ditto.
8830         (subwindow_instantiate): ditto.
8831
8832         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8833         (DOMAIN_FRAME): ditto.
8834         (DOMAIN_WINDOW): ditto.
8835         (DOMAIN_LIVE_P): ditto.
8836         (XDOMAIN_DEVICE): ditto.
8837         (XDOMAIN_FRAME): ditto.
8838         (XDOMAIN_WINDOW): ditto.
8839
8840         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8841         a valid specifier domain.
8842
8843 2000-04-19  Andy Piper  <andy@xemacs.org>
8844
8845         * glyphs-widget.c (syms_of_glyphs_widget): remove
8846         widget-callback-current-channel.
8847         (vars_of_glyphs_widget): ditto.
8848         * glyphs.h: ditto
8849
8850         * gui.c (get_gui_callback): revert to previous behaviour.
8851
8852 2000-04-18  Andy Piper  <andy@xemacs.org>
8853
8854         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8855         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8856         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8857
8858         * glyphs.c (image_instance_equal): add margin_width.
8859         (image_instance_hash): ditto.
8860
8861         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8862         (layout_query_geometry): ditto.
8863         (layout_layout): ditto.
8864         (syms_of_glyphs_widget): add margin-width.
8865         (image_instantiator_layout): allow margin-width.
8866
8867         * glyphs.c (update_widget_instances): make a normal function.
8868         (syms_of_glyphs): remove Qupdate_widget_instances.
8869         * glyphs.h: ditto.
8870
8871         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8872         so that we don't corrupt ideas about the last event or
8873         command. Remove widget-callback-current-channel fiddling.
8874         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8875
8876 2000-05-01  Martin Buchholz <martin@xemacs.org>
8877
8878         * XEmacs 21.2.33 is released.
8879
8880 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8881
8882         * make-src-depend: Allow dots in header file name.
8883
8884 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8885
8886         * mule-charset.h (struct charset_lookup): Add
8887         next_allocated_1_byte_leading_byte and
8888         next_allocated_2_byte_leading_byte.
8889         * mule-charset.c: Move above two variables so that those values
8890         will be dumped.
8891
8892 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8893
8894         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8895         when string length is zero.
8896         (find_charsets_in_emchar_string): Ditto.
8897
8898 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8899
8900         * lisp.h: extern Qdialog and Qmenubar.
8901
8902         * gui-x.c: added events.h.
8903                 also fixed typo which made the file uncompilable.
8904
8905         * general.c: Added Qmenubar and Qdialog
8906
8907 2000-04-28  Ben Wing  <ben@xemacs.org>
8908
8909         * frame-msw.c (mswindows_init_frame_1):
8910         * frame-msw.c (mswindows_mark_frame):
8911         * event-msw.c (mswindows_enqueue_dispatch_event):
8912         * console-msw.h:
8913         * console-msw.h (struct mswindows_frame):
8914         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8915         there are now three hash tables for callbacks.
8916         mswindows_enqueue_dispatch_event is no longer static.
8917
8918         * dialog-x.c (maybe_run_dbox_text_callback):
8919         * dialog-x.c (dbox_descriptor_to_widget_value):
8920         switch to new cons3 form for callbacks.
8921
8922         * glyphs-msw.c (mswindows_register_gui_item):
8923         * glyphs-msw.c (mswindows_widget_instantiate):
8924         * glyphs-msw.c (add_tree_item):
8925         * glyphs-msw.c (add_tab_item):
8926         new image instance parameter, so it can be passed to callback-ex.
8927         respect :callback-ex as well as :callback.
8928
8929         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8930         add :callback-ex.
8931
8932         * glyphs.c (print_image_instance):
8933         prettify, e.g. now prints widget type.
8934
8935         * gui-x.h:
8936         certain funs have new image instance parameter.
8937
8938         * gui.c:
8939         * gui.c (get_gui_callback):
8940         * gui.c (gui_item_add_keyval_pair):
8941         * gui.c (gui_item_init):
8942         * gui.c (gui_add_item_keywords_to_plist):
8943         * gui.c (mark_gui_item):
8944         * gui.c (gui_item_hash):
8945         * gui.c (gui_item_equal):
8946         * gui.c (copy_gui_item):
8947         * gui.c (syms_of_gui):
8948         recognize callback-ex in a number of places.
8949         also, fix the annoying "can't get out of yes-no dialog" bug.
8950
8951         * gui.h:
8952         * gui.h (struct Lisp_Gui_Item):
8953         recognize callback-ex in a number of places.
8954
8955         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8956         new parameter in button_item_to_widget_value.
8957
8958         * glyphs-x.c (x_update_widget):
8959         * glyphs-x.c (x_button_instantiate):
8960         * glyphs-x.c (x_button_update):
8961         * glyphs-x.c (x_progress_gauge_instantiate):
8962         * glyphs-x.c (x_edit_field_instantiate):
8963         * glyphs-x.c (x_combo_box_instantiate):
8964         * glyphs-x.c (x_tab_control_instantiate):
8965         * glyphs-x.c (x_label_instantiate):
8966         new image instance parameter in various places.
8967
8968         * event-Xt.c:
8969         * event-Xt.c (enqueue_Xt_dispatch_event):
8970         this fun gets exported.
8971
8972         * gui-msw.c:
8973         * gui-msw.c (mswindows_handle_gui_wm_command):
8974         handle both :callback and :callback-ex, and generate our own
8975         event because it's one of the callback-ex arguments.
8976
8977         * gui-x.c:
8978         * gui-x.c (popup_selection_callback):
8979         handle both :callback and :callback-ex, and generate our own
8980         event because it's one of the callback-ex arguments.
8981         * gui-x.c (button_item_to_widget_value):
8982         * gui-x.c (gui_items_to_widget_values_1):
8983         * gui-x.c (gui_item_children_to_widget_values):
8984         * gui-x.c (gui_items_to_widget_values):
8985         new image instance parameter in various places.
8986
8987         * fns.c (Freplace_list):
8988         fix small typo in doc string.
8989
8990         * lisp.h:
8991         declare enqueue_Xt_dispatch_event.
8992
8993 2000-04-28  Ben Wing  <ben@xemacs.org>
8994
8995         * buffer.c:
8996         * buffer.c (Frecord_buffer):
8997         * buffer.c (syms_of_buffer):
8998         delete record-buffer-hook.
8999
9000         * fns.c:
9001         * fns.c (Freplace_list):
9002         * fns.c (syms_of_fns):
9003         new primitive replace-list.
9004
9005         * frameslots.h:
9006         slot for old buffer-alist.
9007
9008         * lisp.h:
9009         exfun replace-list.
9010
9011         * redisplay.c:
9012         * redisplay.c (redisplay_frame):
9013         * redisplay.c (syms_of_redisplay):
9014         * redisplay.c (vars_of_redisplay):
9015         new hook buffer-list-changed-hook.
9016         call it.
9017
9018 2000-04-27  Ben Wing  <ben@xemacs.org>
9019
9020         * extents.h: extern in_modeline_generation.
9021
9022         * redisplay.c (generate_formatted_string_db): set
9023         in_modeline_generation.
9024
9025         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9026         flags if in modeline generation.  otherwise frame-modified-tick
9027         is ticked far too often.
9028         Declare in_modeline_generation.
9029
9030 2000-04-26  Ben Wing  <ben@xemacs.org>
9031
9032         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9033         option.
9034         (vars_of_emacs): add quick-build as an error-checking option.
9035         A bit kludgy, but there doesn't seem much point in creating
9036         a real var for this.
9037
9038         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9039
9040 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9041
9042         * redisplay.h (struct display_line): Add a new variable,
9043         line_continuation.
9044
9045         * redisplay.c (create_text_block): Set dl->line_continuation if
9046         the line continues.
9047         (create_string_text_block): Ditto.
9048         (regenerate_window_incrementally): Use line_continuation instead
9049         of searching continuation glyph.
9050         (add_margin_runes): Call add_glyph_rune.
9051         (add_glyph_rune): Handle margin glyph.
9052
9053 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9054
9055         * filelock.c (fill_in_lock_file_name):
9056         ANSIfy.
9057         Check for IS_ANY_SEP instead of '/'.
9058         (lock_file_1):
9059         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9060         Never check errno without first seeing that system call failed.
9061         (unlock_file): Add GCPRO.
9062         (Flock_buffer): Fix docstring.
9063         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9064
9065 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9066
9067         * sysdep.c (get_pty_max_bytes):
9068         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9069         strings longer than 252 bytes.
9070
9071         * md5.c: Unconditionally include ANSI header <limits.h>
9072
9073         * glyphs-x.c (convert_EImage_to_XImage):
9074         * lisp-union.h (union Lisp_Object):
9075         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9076
9077 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9078
9079         * filelock.c (current_lock_owner): Remove unused variable o, p.
9080
9081 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9082
9083         * callint.c: Remove multiply defined symbol Qlet
9084         (syms_of_callint): ditto.
9085
9086 2000-04-14  Andy Piper  <andy@xemacs.org>
9087
9088         * general.c (syms_of_general): add last-command, this-command, let
9089         and funcall.
9090
9091         * lisp.h: declare various symbols.
9092
9093         * glyphs.h: declare Qwidget_callback_current_channel;
9094
9095         * glyphs-widget.c (syms_of_glyphs_widget): add
9096         Qgui_callback_current_channel.
9097         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9098
9099         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9100         widget-callback-current-channel when invoking the interactive
9101         arg. Also bind last-command and next-command when invoking the
9102         widget updates.
9103         * gui-x.c (popup_selection_callback): ditto.
9104
9105         * gui.c (get_gui_callback): massage args so that we are always
9106         calling eval. This allows us to add our own variable bindings
9107         outside.
9108
9109         * glyphs-x.c (x_button_instantiate): use
9110         gui_items_to_widget_values since this is GC safe.
9111         (x_progress_gauge_instantiate): ditto.
9112         (x_edit_field_instantiate): ditto.
9113         (x_label_instantiate): ditto.
9114
9115         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9116         (emacs_Xt_event_widget_focus_out): new function
9117         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9118         focus.
9119         (emacs_Xt_event_add_widget_actions): new function. add focus
9120         functions as actions.
9121         (init_event_Xt_late): use it.
9122
9123 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9124
9125         * event-stream.c (Fdispatch_event): Doc fix.
9126
9127 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9128
9129         * postgresql.c: Remove all references to PQsetenv*.
9130
9131         * postgresql.h: Remove references to PGsetenvHandler object.
9132         * lrecord.h (lrecord_type): Ditto.
9133
9134 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9135
9136         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9137         real_heigh and real_width members, and accessor macros for these.
9138
9139         * glyphs-msw.c (init_image_instance_geometry): New function.
9140         (init_image_instance_from_dibitmap): Use it.
9141         (mswindows_resource_instantiate): Use it.
9142         (init_image_instance_from_xbm_inline): Use it.
9143         (mswindows_initialize_image_instance_mask): Use real bitmap
9144         geometry.
9145         (mswindows_create_resized_bitmap): Ditto.
9146         (mswindows_create_resized_mask): Ditto.
9147
9148         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9149         and bitmap to their surface size.
9150
9151 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9152
9153         * process-unix.c (unix_send_process): Guard against process MIA
9154         after Faccept_process_output.
9155
9156 2000-04-11  Ben Wing  <ben@xemacs.org>
9157
9158         * eval.c (unbind_to_hairy): fix brokenness introduced by
9159         nanosecond speed improvements.
9160
9161 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9162
9163         * sunplay.c (init_device): To play sounds correctly, the device
9164         apparently needs to be initialized at least once by XEmacs.  Make
9165         it so.
9166
9167 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9168
9169         * redisplay.c (add_margin_runes): Add text image glyph
9170           handling.
9171
9172 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9173
9174         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9175         gcc is newer than 2.5.
9176
9177 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9178
9179         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9180
9181         * fns.c (size_bit_vector):
9182         * alloc.c (size_vector):
9183         (make_vector_internal):
9184         (make_bit_vector_internal):
9185         (sweep_bit_vectors_1):
9186         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9187
9188 2000-04-06  Andy Piper  <andy@xemacs.org>
9189
9190         * gmalloc.c (malloc): undo previous change.
9191         (malloc): ditto.
9192         (free): ditto.
9193         (realloc): ditto.
9194
9195 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9196
9197         * line-number.c (buffer_line_number): Revert to former version.
9198
9199 2000-04-06  Andy Piper  <andy@xemacs.org>
9200
9201         * gmalloc.c (malloc): add error checking.
9202         (malloc): ditto.
9203         (free): ditto.
9204         (realloc): ditto.
9205
9206         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9207         button_item_to_widget_value arg.
9208
9209         * glyphs-x.c (x_button_instantiate): add extra
9210         button_item_to_widget_value arg.
9211         (x_progress_gauge_instantiate): ditto.
9212         (x_edit_field_instantiate): ditto.
9213         (x_label_instantiate): ditto.
9214
9215         * gui-x.c (gui_items_to_widget_values_1): add extra
9216         button_item_to_widget_value arg.
9217         (button_item_to_widget_value): add extra menu_item_p arg.
9218
9219         * gui-x.h: change signature of button_item_to_widget_value.
9220
9221         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9222         button_item_to_widget_value arg.
9223
9224 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9225
9226         * buffer.h (struct buffer): auto_save_modified should be long.
9227
9228 2000-04-05  Andy Piper  <andy@xemacs.org>
9229
9230         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9231         type.
9232         (button_query_geometry): give a little more room so that athena
9233         buttons fit.
9234
9235 2000-04-05  Andy Piper  <andy@xemacs.org>
9236
9237         * faces.c (complex_vars_of_faces): The widget face should inherit
9238         the font of the gui-element face.
9239
9240 2000-04-04  Andy Piper  <andy@xemacs.org>
9241
9242         * glyphs-x.c (x_button_update): new function. unconditionally
9243         update a button's state when the instance is dirty.
9244         (image_instantiator_format_create_glyphs_x): add x_button_update.
9245         (x_widget_instantiate): remove old resize cruft.
9246
9247 2000-04-02  Andy Piper  <andy@xemacs.org>
9248
9249         * frame.c (change_frame_size_1): The introduction of gutters means
9250         that we need to allow 0 as a potential frame dimension.
9251
9252 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9253
9254         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9255         image glyph if allow_cursor.
9256         (add_hscroll_rune): Don't allow cursor to border glyph.
9257         (create_text_block): Ditto.
9258
9259         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9260         text not in buffer.
9261         (redisplay_output_layout): Call ensure_face_cachel_complete for
9262         text image glyph.
9263
9264
9265 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9266
9267         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9268
9269         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9270         not in buffer
9271
9272         * redisplay-tty.c (tty_output_display_block): Delete the routine
9273         for text image glyph
9274         * redisplay-x.c (x_output_display_block): ditto
9275         * redisplay-msw.c (mswindows_output_display_block): ditto
9276
9277 2000-02-02  Mike Alexander  <mta@arbortext.com>
9278
9279         Note: Some of these were committed by accident as part of other
9280         patches.
9281
9282         * regex.c (regex_compile): Avoid compiler warnings.
9283
9284         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9285
9286         * nt.h: Declare term_ntproc correctly.
9287
9288         * nt.c: Remove incorrect declaration of get_home_directory which
9289         is declared correctly in lisp.h.
9290
9291         * keymap.c (get_keyelt): Avoid compiler warnings.
9292         (raw_lookup_key_mapper): Avoid compiler warnings.
9293
9294         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9295
9296         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9297
9298         * filemode.c (mode_string): Avoid compiler warnings.
9299
9300         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9301         avoid warning.
9302
9303         * events-mod.h: Undef some things that winuser.h defines differently.
9304
9305         * data.c (Faset): Avoid compiler warnings.
9306
9307         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9308
9309 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9310
9311         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9312         Fall through to simple beep on error.
9313         Replace "extern" by real header file.
9314
9315         * linuxplay.c: Use nativesound.h
9316         (play_sound_data): Return error code. Be less verbose on error.
9317
9318         * sunplay.c: Use nativesound.h
9319         (play_sound_data): Return error code. Be less verbose on error.
9320
9321         * ntplay.c: Use nativesound.h
9322         (play_sound_data): Return fake error code
9323
9324         * sgiplay.c: Use nativesound.h
9325         (play_sound_data): Return error code
9326
9327         * hpplay.c: Use nativesound.h, partially implement
9328         new error code. Break compilation until finished.
9329         (play_sound_data): error code.
9330
9331         * nativesound.h (play_sound_file):
9332           (play_sound_data): Prototype in new header.
9333
9334 2000-03-31  Andy Piper  <andy@xemacs.org>
9335
9336         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9337         for toggle and radio buttons.
9338         (image_instantiator_buttons): use it.
9339
9340 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9341
9342         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9343         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9344         found. Scrollbar event probably belonged to some old config.
9345
9346 2000-03-31  Andy Piper  <andy@xemacs.org>
9347
9348         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9349         than 1.
9350         (initialize_widget_image_instance): default layout to
9351         LAYOUT_HORIZONTAL rather than 0.
9352         (widget_instantiate): reverse the item list at the end rather than
9353         every iteration.
9354         (layout_layout): re-code for the border text at the front of the
9355         item list rather than at the end.
9356         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9357         provided by the user.
9358         (widget_query_geometry): comment.
9359
9360 2000-03-30  Andy Piper  <andy@xemacs.org>
9361
9362         * glyphs-widget.c (image_instantiator_layout): allow standard
9363         widget keywords in layouts.
9364
9365         * gutter.c (output_gutter): cope with nil gutter contents.
9366
9367         * frame.c (Fset_frame_properties): add gutter docs.
9368
9369 2000-03-29  Andy Piper  <andy@xemacs.org>
9370
9371         * toolbar-msw.c (TBSTYLE_FLAT): add.
9372         (mswindows_output_toolbar): minor fiddling.
9373
9374 2000-03-29  Andy Piper  <andy@xemacs.org>
9375
9376         * gutter.c (output_gutter): force gutter size recalculation if
9377         what we are trying to display won't fit.
9378         (update_gutter_geometry): new function. A per-gutter version of
9379         update_frame_gutter_geometry.
9380         (update_frame_gutter_geometry): use it.
9381         (redraw_exposed_gutter): add extra debugging output.
9382
9383 2000-03-28  Mike Alexander  <mta@arbortext.com>
9384
9385         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9386         (pdump_file_unmap): Implement it on Windows
9387         (pdump_file_get): Save alocated handles for pdump_file_unmap
9388
9389 2000-03-28  Andy Piper  <andy@xemacs.org>
9390
9391         * gui.c (get_gui_callback): treat Quit specially.
9392
9393 2000-03-27  Andy Piper  <andy@xemacs.org>
9394
9395         * glyphs.c (image_instantiate): be careful to check in the same
9396         way we assigned.
9397
9398 2000-03-27  Didier Verna  <didier@xemacs.org>
9399
9400         * config.h.in: define the proper SMART_INCLUDE macro.
9401         handle renaming of `foo_h_path' to `foo_h_file'.
9402
9403         * database.c: ditto.
9404
9405         * emacs.c: ditto.
9406
9407         * linuxplay.c: ditto.
9408
9409         * terminfo.c: ditto.
9410
9411         * tooltalk.h: ditto.
9412
9413 2000-03-27  Andy Piper  <andy@xemacs.org>
9414
9415         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9416         gets updated whenever the face might have changed.
9417
9418 2000-03-26  Mike Alexander  <mta@arbortext.com>
9419
9420         * dumper.c (pdump_resource_free): Fix the comment.
9421
9422 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9423
9424         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9425
9426 2000-03-22  Mike Alexander  <mta@arbortext.com>
9427
9428         * dumper.c: Include Windows headers on Windows
9429         (pdump_resource_free): Add a body to the function
9430         (pdump_load): exe_name -> exe_path and add some comments.
9431
9432 2000-03-25  Mike Alexander  <mta@arbortext.com>
9433
9434         * gui.c (copy_gui_item_tree): Return a value in all cases
9435
9436 2000-03-21  Didier Verna  <didier@xemacs.org>
9437
9438         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9439         lwlib/config.h.in.
9440         (SMART_INCLUDE): new macro.
9441         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9442         the proper location.
9443
9444         * postgresql.c: use it.
9445
9446         * inline.c: ditto.
9447
9448 2000-03-24  Andy Piper  <andy@xemacs.org>
9449
9450         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9451         do this.
9452
9453 2000-03-24  Andy Piper  <andy@xemacs.org>
9454
9455         * redisplay-output.c (compare_runes): use image_instance_changed
9456         to detect changes. Do not depend on glyphs_changed, only depend on
9457         dirtiness.
9458          (redisplay_output_layout): add debug messages.
9459         (compare_runes): ditto.
9460
9461         * glyphs.h: declare new functions.
9462         (struct Lisp_Image_Instance): remove percent and associated
9463         accessors.
9464
9465         * gui.h: declare new copying functions.
9466
9467         * gui.c (copy_gui_item_tree): new function.
9468         (copy_gui_item): new function.
9469         (gui_item_id_hash): revert to standard hash.
9470         (gui_item_hash): ditto.
9471         (gui_item_hash_internal): deleted.
9472         (mark_gui_item): mark value.
9473         (gui_item_add_keyval_pair): add value.
9474         (gui_item_init): ditto.
9475         (gui_add_item_keywords_to_plist): ditto.
9476         (gui_item_equal): ditto.
9477         (syms_of_gui): add Q_value.
9478
9479         * glyphs-x.c (x_progress_gauge_update): use pending items and
9480         value for setting the state.
9481         (x_update_widget): don't set items from pending here.
9482
9483         * glyphs-widget.c (update_widget): update items here.
9484         (progress_gauge_set_property): use items for storing value. Put
9485         new value in pending items.
9486
9487         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9488         items for new value. Convert percent -> value.
9489         (mswindows_tab_control_update): don't update items here.
9490
9491         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9492         (update_subwindow): ditto.
9493         (image_instance_changed): new function. Compare hash values and
9494         past and present widget items.
9495         (image_instantiate): We more careful about where we instantiate
9496         things.
9497         (image_instantiate): add error checking.
9498
9499         * gutter.c (syms_of_gutter): use -hook.
9500
9501 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9502
9503         * console-tty.c (Fset_console_tty_input_coding_system): Use
9504         Qkeyboard.
9505         (Fset_console_tty_output_coding_system): Use Qterminal.
9506         (tty_init_console): Use Qkeyboard and Qterminal.
9507
9508 2000-03-21  Ben Wing  <ben@xemacs.org>
9509
9510         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9511         From Mike Alexander <mta@arbortext.com>.
9512
9513 2000-03-21  Ben Wing  <ben@xemacs.org>
9514
9515         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9516         process brokenness.  Proper implementation to come.
9517         * callproc.c:
9518         Rename call-process-internal to old-call-process-internal.
9519         New impl. in process.el.
9520
9521 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9522
9523         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9524
9525 2000-03-20  Andy Piper  <andy@xemacs.org>
9526
9527         * glyphs.c (full_list_hash): make hashes of the same elements in
9528         different orders return different values.
9529
9530 2000-03-20  Martin Buchholz <martin@xemacs.org>
9531
9532         * XEmacs 21.2.32 is released.
9533
9534 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9535
9536         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9537         (DFC_MALLOC_USE_CONVERTED_DATA):
9538         Add aliasing-safe casts to allow use with char* or unsigned char*
9539         lvalues.
9540
9541         * eldap.c (Fldap_open):
9542         (Fldap_search_basic):
9543         (Fldap_add):
9544         (Fldap_modify):
9545         Make C++-compilable.
9546         Make sure GCPRO'ed variables are initialized.
9547         Use temp variables to avoid repeated calls to Flength.
9548
9549 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9550
9551         * sysfile.h:
9552         Make sure PATH_MAX is always defined.
9553         Include limits.h for PATH_MAX.
9554         Deprecate use of MAXPATHLEN.
9555
9556 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9557
9558         * emacs.c: Add reinit_vars_of_fileio.
9559         * symsinit.h: Add reinit_vars_of_fileio.
9560         * fileio.c (reinit_vars_of_fileio): New.
9561         * fileio.c (Fmake_temp_name):
9562         Initialize temp_name random number from microseconds to make
9563         collisions even less likely.  Initialize always at process startup
9564         time.  (make-temp-name) used to return the same file name twice in
9565         a row when PDUMP.
9566         Random stylistic fiddling.
9567         Comment fixes.
9568
9569 2000-03-20  Andy Piper  <andy@xemacs.org>
9570
9571         * glyphs.c (image_instantiate): allow text glyphs to be
9572         instantiated in the minibuffer window.
9573
9574 2000-03-19  Andy Piper  <andy@xemacs.org>
9575
9576         * glyphs.c (image_instance_hash): be careful about which items we
9577         hash on.
9578
9579         * glyphs-widget.c (tab_control_set_property): record into pending
9580         items rather than the actual items.
9581
9582         * glyphs-x.c (x_update_widget): use pending items to update with.
9583
9584         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9585         to update with.
9586
9587         * glyphs.c (mark_image_instance): mark pending items.
9588
9589         * window.c (Fset_window_configuration): record the buffer.
9590         (Fselect_window): totally revert previous change which breaks many
9591         things.
9592
9593 2000-03-18  Andy Piper  <andy@xemacs.org>
9594
9595         * glyphs-msw.c (mswindows_tab_control_update): force selected
9596         item.
9597
9598         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9599         window domain cache, otherwise we get inconsistencies at
9600         startup. There is something fishy at startup which can lead to the
9601         minibuffer being the selected window when the gutter content is
9602         instantiated.
9603
9604         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9605         gcpros.
9606         (parse_gui_item_tree_children): ditto.
9607         (parse_gui_item_tree_item): ditto.
9608
9609         * glyphs.c (Fupdate_widget_instances): return something.
9610
9611 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9612
9613         * window.c (Fselect_window): Undo 2000-03-17 change.
9614
9615 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9616
9617         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9618         against v7.0 libraries.  Insta-coredump city until the postgres
9619         folks fix it.
9620
9621 2000-03-17  Andy Piper  <andy@xemacs.org>
9622
9623         * faces.c (complex_vars_of_faces): don't give the widget face an
9624         inherited background pixmap.
9625
9626         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9627         selected item.
9628
9629         * event-stream.c (Fdispatch_non_command_events): return something.
9630
9631         * gutter.c (output_gutter): use widget face.
9632         (clear_gutter): ditto.
9633
9634         * NEWS: adjust again.
9635
9636         * window.c (Fselect_window): make sure this runs to completion to
9637         avoid oddities with Fset_window_configuration.
9638         (Fcurrent_window_configuration): in general do not save the
9639         minibuffer as the selected window.
9640
9641         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9642
9643 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9644
9645         * emacs.c (Frunning_temacs_p): Revert previous patch.
9646         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9647
9648 2000-03-16  Andy Piper  <andy@xemacs.org>
9649
9650         * glyphs-x.c (x_tab_control_update): if no widget values then
9651         return.
9652
9653         * NEWS: update for new features.
9654
9655         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9656         synthetic event to the native system.
9657         (reinit_vars_of_event_Xt): set force_event_pending to
9658         emacs_Xt_force_event_pending.
9659
9660         * events.h (struct event_stream): add force_event_pending.
9661
9662         * specifier.c (recompute_one_cached_specifier_in_window): add
9663         comment.
9664
9665         * redisplay.c (redisplay_frame): don't call
9666         update_frame_subwindows. Reset subwindow cachels when
9667         subwindows_changed, removing this was an optimization too far.
9668
9669         * redisplay-output.c (compare_runes): reorganize so that we catch
9670         glyph changes when we want them. Set optimize_output when this
9671         would help layouts.
9672         (redisplay_output_layout): remove frame_really_changed, use
9673         optimize_output instead.
9674
9675         * redisplay-msw.c (mswindows_output_display_block): reset
9676         optimize_output after outputting a glyph.
9677         * redisplay-x.c (x_output_display_block): ditto.
9678         * redisplay-tty.c (tty_output_display_block): ditto.
9679
9680         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9681         functions.
9682         (gutter_specs_changed): do specific gutter positions.
9683         (top_gutter_specs_changed): new function. Only update the
9684         specified gutter specs.
9685         (bottom_gutter_specs_changed): ditto.
9686         (left_gutter_specs_changed): ditto.
9687         (right_gutter_specs_changed): ditto.
9688
9689         * gui.c (gui_item_hash_internal): new function, does a real hash.
9690         (gui_item_id_hash): use it.
9691         (gui_item_hash): hash the eval'ed gui_item.
9692
9693         * gui-x.c (popup_selection_callback): send an eval event to call
9694         Fupdate_widget_instances.
9695
9696         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9697         to call Fupdate_widget_instances.
9698
9699         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9700         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9701
9702         * glyphs.c: (update_frame_subwindows): deleted.
9703         (Fupdate_widget_instances): new function for updating the dirty
9704         state of widgets that might have changed.
9705         (syms_of_glyphs): add Qupdate_widget_instances.
9706         (full_list_hash): hash a list completely.
9707         (image_instance_hash): use it for items and properties.
9708
9709         * frame-msw.c (mswindows_size_frame_internal): remove unused
9710         variable.
9711
9712         * faces.h (struct face_cachel): fix comment.
9713
9714         * event-stream.c (Fdispatch_non_command_events): new
9715         function. Process non-command events, forcing an event cycle
9716         beforehand.
9717         (syms_of_event_stream): declare.
9718         (event_stream_force_event_pending): new function. Force an event
9719         on the native event queue so that an event cycle will occur next
9720         time we check.
9721
9722         * event-msw.c:
9723         (struct ntpipe_shove_stream):
9724         (mswindows_enqueue_dispatch_event):
9725         (mswindows_dequeue_dispatch_event):
9726         (mswindows_cancel_dispatch_event):
9727         (mswindows_pump_outstanding_events):
9728         (mswindows_drain_windows_queue):
9729         (mswindows_handle_paint):
9730         (mswindows_wnd_proc):
9731         (mswindows_key_to_emacs_keysym):
9732         (get_process_input_waitable):
9733         (emacs_mswindows_delete_stream_pair): re-indent file.
9734         (mswindows_need_event): do not process further fds if the windows
9735         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9736         fixes the 100% cpu problem.
9737         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9738
9739 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9740
9741         * alloc.h: New.
9742         * dumper.h: New.
9743         * dumper.c: New.
9744
9745         * emacs.c: Moved dump file searching to dumper.c.
9746         (Frunning_temacs_p): Fixed.
9747
9748         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9749         last_lrecord_type_index_assigned.
9750
9751 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9752
9753         * symsinit.h: Added reinit parameter to init_console_stream
9754         declaration.
9755
9756         * lisp.h: Added file parameter to pdump_load declaration.
9757
9758         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9759         support.  Added dump file searching.
9760
9761         * config.h.in: Added EMACS_PROGNAME.
9762
9763         * console-stream.c (init_console_stream): Fix reinitialisation
9764         when running from temacs.
9765
9766         * alloc.c (pdump): Add id support.
9767         (pdump_load): Add file parameter and signature/id support.
9768
9769         * Makefile.in.in: Add full pdump support.
9770
9771 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9772
9773         * postgresql.c: Update documentation to reflect latest code
9774         status.
9775         (print_result): Show tuple counts in printed representation when
9776         appropriate.
9777         (Fpq_put_nbytes): MULE-ize.
9778         (Fpq_get_line_async): Ditto.
9779
9780 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9781
9782         * postgresql.c (Fpq_lo_import): Fix return value.
9783         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9784
9785 2000-03-13  Ben Wing  <ben@xemacs.org>
9786
9787         * alloc.c (pdump_load):
9788         Fix compile warning under mswin.
9789
9790 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9791
9792         * postgresql.c: Mule-ization, bug fixes.
9793         Use PG_CODING to encapsulate coding system name changes.
9794         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9795         (pg-coding-system): Create.
9796
9797         (Fpq_conn_defaults): Mule-ize.
9798         (Fpq_connectdb): Mule-ize & bug fix.
9799         (Fpq_connect_start): Mule-ize.
9800         (Fpq_set_client_encoding): Mule-ize.
9801         (Fpq_finish): Document `DEAD' connection status.
9802         (Fpq_clear): Ditto.
9803         (Fpq_pgconn): Mule-ize.
9804         (Fpq_exec): Mule-ize & bug fix.
9805         (Fpq_send_query): Ditto.
9806         (Fpq_get_result): Ditto.
9807         (Fpq_res_status): Mule-ize.
9808         (Fpq_result_error_message): Mule-ize.
9809         (Fpq_ntuples): fix comments.
9810         (Fpq_fname): Mule-ize.
9811         (Fpq_fnumber): Mule-ize.
9812         (Fpq_ftype): fix comments.
9813         (Fpq_get_value): Mule-ize.
9814         (Fpq_cmd_status): Ditto.
9815         (Fpq_cmd_tuples): Ditto.
9816         (Fpq_oid_value): Ditto.
9817         (Fpq_notifies): Ditto.
9818         (Fpq_lo_import): Ditto.
9819         (Fpq_lo_export): Ditto.
9820         (Fpq_get_line): Ditto.
9821         (Fpq_put_line): Mule-ize and bug fix.
9822         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9823
9824 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9825
9826         * postgresql.c (vars_of_postgresql): Mule-ize.
9827         (Fpq_conn_defaults): Ditto.
9828
9829 2000-03-12  Ben Wing  <ben@xemacs.org>
9830
9831         * alloc.c (Fmake_byte_code):
9832         * alloc.c (debug_string_purity_print):
9833         * alloc.c (pdump_backtrace):
9834         * alloc.c (pdump_get_indirect_count):
9835         * alloc.c (pdump_register_sub):
9836         * alloc.c (pdump_register_object):
9837         * alloc.c (pdump_register_struct):
9838         * alloc.c (pdump_dump_data):
9839         * alloc.c (pdump_reloc_one):
9840         Minor cleanups.
9841
9842         * console-msw.c:
9843         * console-msw.c (GetConsoleHwnd):
9844         * console-msw.c (msw_hide_console):
9845         * console-msw.c (msw_show_console):
9846         * console-msw.c (msw_ensure_console_buffered):
9847         * console-msw.c (msw_output_console_string):
9848         * console-msw.c (console_type_create_mswindows):
9849
9850         a) Added functions to manipulate the console window for use with
9851         shell support.
9852
9853         b) Added support for writing text to the console, which is now
9854         used under Windows when xemacs is not being run non-interactively,
9855         to write text that would otherwise be destined for stdout because
9856         under these circumstances, text written to stdout tends to
9857         disappear and not be seen.
9858
9859         * console-msw.h:
9860         * event-Xt.c:
9861         * event-Xt.c (x_event_to_emacs_event):
9862         * event-Xt.c (describe_event_window):
9863         * events-mod.h (XEMACS_MOD_CONTROL):
9864         * events.c:
9865         * events.c (Fmake_event):
9866         * events.c (character_to_event):
9867         * events.c (event_to_character):
9868         * events.c (format_event_object):
9869         * events.c (Fevent_modifiers):
9870         * events.h:
9871         * events.h (struct key_data):
9872         * events.h (struct button_data):
9873         * events.h (struct misc_user_data):
9874         * frame-x.c (Fcde_start_drag_internal):
9875         * frame-x.c (Foffix_start_drag_internal):
9876         * gpmevent.c (Freceive_gpm_event):
9877         * keymap.c:
9878         * keymap.c (bucky_sym_to_bucky_bit):
9879         * keymap.c (control_meta_superify):
9880         * keymap.c (make_key_description):
9881         * keymap.c (keymap_lookup_directly):
9882         * keymap.c (create_bucky_submap):
9883         * keymap.c (keymap_store):
9884         * keymap.c (define_key_check_and_coerce_keysym):
9885         * keymap.c (define_key_parser):
9886         * keymap.c (define_key_alternate_name):
9887         * keymap.c (Fdefine_key):
9888         * keymap.c (raw_lookup_key_mapper):
9889         * keymap.c (struct map_keymap_unsorted_closure):
9890         * keymap.c (map_keymap_unsorted_mapper):
9891         * keymap.c (map_keymap_sort_predicate):
9892         * keymap.c (map_keymap_sorted):
9893         * keymap.c (accessible_keymaps_mapper_1):
9894         * keymap.c (where_is_recursive_mapper):
9895         * keymap.c (describe_map_mapper):
9896         * keymap.c (describe_map_sort_predicate):
9897         * keymap.c (describe_map):
9898         * keymap.c (complex_vars_of_keymap):
9899         And a number of other files, the key modifier preprocessor
9900         constants that xemacs uses have names that conflict with constants
9901         defined under MS Windows for other purposes, so they were renamed
9902         to begin with the prefix XEMACS_. The variables that hold such
9903         modifiers were changed to consistently be of type int to fix
9904         various compile warnings.
9905
9906         * console.c (complex_vars_of_console):
9907         * device.c:
9908         * device-msw.c:
9909         * device-msw.c (mswindows_finish_init_device):
9910         * device-msw.c (msw_get_workspace_coords):
9911         * device-msw.c (mswindows_device_system_metrics):
9912         and various other files, added support for a new
9913         device property called offset-workspace which returns the position
9914         of the upper left corner of the workspace area and goes along with
9915         the existing size-workspace property.
9916
9917         * dialog-msw.c:
9918         * dialog-msw.c (push_bufbyte_string_as_unicode):
9919         * dialog-msw.c (mswindows_popup_dialog_box):
9920         Added support for XEmacs-style accelerator specifications in
9921         button text.  Note: I didn't add support for this under X Windows,
9922         and somebody needs to do this.
9923
9924         * dialog.c:
9925         * dialog.c (Fpopup_dialog_box):
9926         Documented the support for accelerators that was just mentioned.
9927
9928         editfns.c (get_home_directory): Changed behavior under Windows
9929         when HOME not defined; former behavior was irretrievably broken.
9930
9931         * emacs.c:
9932         * emacs.c (main_1):
9933         * emacs.c (main):
9934         * minibuf.c (clear_echo_area_internal):
9935         * minibuf.c (echo_area_append):
9936         * print.c:
9937         * print.c (std_handle_out_external):
9938         * print.c (std_handle_out_va):
9939         * print.c (fatal):
9940         * print.c (write_string_to_stdio_stream):
9941         * print.c (output_string):
9942         * print.c (debug_print):
9943         * print.c (debug_backtrace):
9944         * print.c (debug_short_backtrace):
9945         Cleaned up the code that prints text to stdout so that this can be
9946         changed to output into a console window instead under MS Windows,
9947         as described above.
9948
9949         * eval.c:
9950         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9951         * eval.c (internal_catch):
9952         * eval.c (unwind_to_catch):
9953         * eval.c (throw_or_bomb_out):
9954         * eval.c (condition_case_1):
9955         * eval.c (signal_1):
9956         * eval.c (check_error_state_sanity):
9957         * eval.c (call_with_suspended_errors_1):
9958         * eval.c (call_with_suspended_errors):
9959         * eval.c (reinit_vars_of_eval):
9960         Added code to catch throw loops and check for a pesky bug that may
9961         be gone now.
9962
9963         * event-msw.c:
9964         * event-msw.c (key_needs_default_processing_p):
9965         * event-msw.c (mswindows_wnd_proc):
9966         * event-msw.c (mswindows_modifier_state):
9967         * event-msw.c (emacs_mswindows_quit_p):
9968         * event-msw.c (vars_of_event_mswindows):
9969         a) Added support for using the alt key to select menu items as is
9970         standard under MS Windows.  This is controlled using the variable
9971         menu-accelerator-enabled, just like under X Windows.  There is an
9972         option on the options menu to turn this support on.  I really
9973         think that it should be on by default under Windows, but I'm not
9974         going to make this change yet.
9975
9976         b)  Added support for dynamic display size changes under Windows.
9977
9978         * event-stream.c:
9979         * event-stream.c (maybe_echo_keys):
9980         * event-stream.c (Fnext_event):
9981         * event-stream.c (command_builder_find_leaf):
9982         * event-stream.c (lookup_command_event):
9983         * event-stream.c (execute_command_event):
9984         * event-stream.c (pre_command_hook):
9985         * event-stream.c (post_command_hook):
9986         * event-stream.c (syms_of_event_stream):
9987         * event-stream.c (vars_of_event_stream):
9988         * event-stream.c (complex_vars_of_event_stream):
9989         * events.h (struct command_builder):
9990
9991         a) Tried to clean up a little bit the horribly written x-specific
9992         accelerator code that crept into this file.  I moved this code
9993         into menubar-x.c where it belongs. I also needed to move the
9994         command builder structure into the file events.h because it is
9995         accessed directly by this accelerator code.  What I didn't do, but
9996         which should be done at some point, is to properly abstract this
9997         code using device methods instead of the kludgy way that it
9998         currently hooks into the event code.
9999
10000         b) Added the lisp variables this-command-properties and
10001         last-command- properties, which should be used to synchronize two
10002         adjacent commands in preference to playing games with the variable
10003         this-command, which is typically what happens.
10004
10005         c) Added some slightly nasty code to hook into the lisp support
10006         for shifted- motion-key selection.  This is actually necessary for
10007         somewhat complicated reasons, which are described in
10008         simple.el. (NB: I think the proper thing would be to have the code
10009         that calls the pre and post command hooks also call out to generic
10010         lisp functions in simple.el, where all built-in stuff could be
10011         added.  I will think about this more.)
10012
10013         * event-unixoid.c (poll_fds_for_input):
10014         * lread.c (readchar):
10015         * redisplay-tty.c (tty_clear_frame):
10016         * redisplay-x.c (x_get_gc):
10017         * signal.c (interrupt_signal):
10018         And a whole bunch of other files: fixed up places that printed
10019         directly to stderr to instead call the function stderr_out so that
10020         the changes I made under Windows work correctly.
10021
10022         * filemode.c (mode_string):
10023         Warning fixes.
10024
10025         * frame-msw.c:
10026         * frame-msw.c (mswindows_size_frame_internal):
10027         Fixed the computation of frame size and position to keep the frame
10028         within the workspace area, rather than within the physical
10029         dimensions of the screen, so that the frame doesn't overlap window
10030         manager decorations, such as the start menu and toolbar, typically
10031         at the bottom of the screen.
10032
10033         * frame.c (vars_of_frame):
10034         Changed the default frame title format under MS Windows to consist
10035         of buffername-XEmacs, which is standard under MS Windows.  I think
10036         it might be a good idea to change this everywhere because I think
10037         it is superior to the current frame title format, but this is the
10038         kind of change that is likely to cause some people to get annoyed,
10039         so I'm not making it.
10040
10041         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10042
10043         * gui-msw.c (mswindows_handle_gui_wm_command):
10044         Fixed compile warnings.
10045
10046         * gui-x.c:
10047         * gui-x.c (strdup_and_add_accel):
10048         * gui-x.c (button_item_to_widget_value):
10049         * gui-x.h:
10050         Added code to automatically put an accelerator onto the beginning
10051         of menu items that don't have one as is now the standard, and is
10052         described more later.  Also fixed things so that the menu item
10053         name can be an evaluated expression, again a new standard.
10054
10055         * gui.c:
10056         * gui.c (gui_item_add_keyval_pair):
10057         * gui.c (make_gui_item_from_keywords_internal):
10058         * gui.c (gui_add_item_keywords_to_plist):
10059         * gui.c (gui_item_accelerator):
10060         * gui.c (gui_name_accelerator):
10061         * gui.c (gui_item_included_p):
10062         * gui.c (gui_item_display_flush_left):
10063         * gui.c (gui_item_display_flush_right):
10064         * gui.c (parse_gui_item_tree_item):
10065         * gui.c (parse_gui_item_tree_children):
10066         * gui.c (parse_gui_item_tree_list):
10067         Mule-ized.  Cleanup.  GCPRO addition.
10068
10069         * line-number.c (buffer_line_number):
10070         * lisp.h:
10071         * lisp.h (EMACS_INT_MAX):
10072         Added the manifest constant EMACS_INT_MIN corresponding to the
10073         existing constant EMACS_INT_MAX.  This is partially to fix compile
10074         warnings under Windows, and partly for cleanliness.
10075
10076         * menubar-msw.c:
10077         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10078         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10079         * menubar-msw.c (displayable_menu_item):
10080         * menubar-msw.c (populate_menu_add_item):
10081         * menubar-msw.c (populate_or_checksum_helper):
10082         * menubar-msw.c (populate_menu):
10083         * menubar-msw.c (update_frame_menubar_maybe):
10084         * menubar-msw.c (prune_menubar):
10085         * menubar-msw.c (msw_char_is_accelerator):
10086         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10087         * menubar-msw.c (mswindows_handle_wm_command):
10088         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10089         * menubar-msw.c (mswindows_handle_wm_initmenu):
10090         * menubar-msw.c (mswindows_update_frame_menubars):
10091         * menubar-msw.c (mswindows_free_frame_menubars):
10092         * menubar-msw.c (mswindows_popup_menu):
10093         Fixed a bug in handling accelerators where an extra character
10094         would be displayed in the menu item.  Also generalized the
10095         function displayable_menu_item because it is now used by the
10096         dialog box code as well.  And finally, added code in the functions
10097         that create the menubar to extract a list of accelerators for the
10098         top level menubar, which is used in the event code to determine
10099         whether a particular alt-key combination should be used to invoke
10100         a menu item, or should be passed through to access the standard
10101         XEmacs keymap binding for this key combination.
10102
10103         Much needed GCPROing.
10104
10105         * menubar-x.c:
10106         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10107         * menubar-x.c (menu_item_descriptor_to_widget_value):
10108         * menubar-x.c (restore_in_menu_callback):
10109         * menubar-x.c (x_popup_menu):
10110         * menubar-x.c (menu_move_up):
10111         * menubar-x.c (menu_move_down):
10112         * menubar-x.c (menu_move_left):
10113         * menubar-x.c (menu_move_right):
10114         * menubar-x.c (menu_select_item):
10115         * menubar-x.c (command_builder_operate_menu_accelerator):
10116         * menubar-x.c (menu_accelerator_junk_on_error):
10117         * menubar-x.c (command_builder_find_menu_accelerator):
10118         * menubar-x.c (Faccelerate_menu):
10119         * menubar.h:
10120         Moved a whole bunch of code here that was previously in
10121         event-stream.c as described above.  There is also code connected
10122         to the new standard of adding an accelerator to the beginning of
10123         menu items that don't have one as described above and below.
10124
10125         * menubar.c:
10126         * menubar.c (menu_parse_submenu_keywords):
10127         * menubar.c (Fmenu_find_real_submenu):
10128         * menubar.c (Fnormalize_menu_item_name):
10129         * menubar.c (syms_of_menubar):
10130         * menubar.c (vars_of_menubar):
10131         * menubar.c (complex_vars_of_menubar):
10132
10133         a) Cleaned up a bunch of documentation and improved it.
10134
10135         b) XEmacs now automatically adds an accelerator onto the beginning
10136         of any menu items that don't have one.  I did this because there
10137         will inevitably be some menu items on the main menubar that don't
10138         have accelerators on them because the package that adds that
10139         particular menu item hasn't yet been fixed up to have accelerators
10140         in them and it looked rather strange to have some items with and
10141         some items without accelerators, especially since even in items
10142         without accelerators, you can, at least under windows, still
10143         access the item through an accelerator corresponding to the first
10144         character in the item's name.  If people don't like this behavior,
10145         I can add a variable to turn it off optionally, but I'm not sure
10146         this is a good idea because we really do need to have accelerators
10147         on all of the menu items, and if a package doesn't like the
10148         accelerators being put on the first character, then it should put
10149         the accelerators where they belong.
10150
10151         c) I made a behavior change, which is that the descriptor that
10152         specifies the text of the menu item, which formerly was just a
10153         string, can now also be an evaluated expression.  This makes this
10154         descriptor parallel with all of the others, which could also be
10155         evaluated expressions.  This also obviates the need for the
10156         keyword :label, which was previously listed in the documentation
10157         as unimplemented, and which was for the same purpose.
10158
10159         d) GCPROing.
10160
10161         * ntproc.c:
10162         * ntproc.c (new_child):
10163         * ntproc.c (sys_spawnve):
10164         * ntproc.c (find_child_console):
10165         * ntproc.c (sys_kill):
10166         Fixed compile warnings.  By the way, this file should really go
10167         away entirely, and this will happen as soon as Kirill makes his
10168         final round of process cleanups, which affect the function
10169         call-process.
10170
10171         * process-nt.c:
10172         * process-nt.c (struct nt_process_data):
10173         * process-nt.c (find_process_from_pid):
10174         * process-nt.c (send_signal_the_nt_way):
10175         * process-nt.c (enable_child_signals):
10176         * process-nt.c (find_child_console):
10177         * process-nt.c (send_signal_the_95_way):
10178         * process-nt.c (nt_finalize_process_data):
10179         * process-nt.c (ensure_console_window_exists):
10180         * process-nt.c (nt_create_process):
10181         * process-nt.c (nt_kill_child_process):
10182         * process-nt.c (nt_kill_process_by_pid):
10183         * process-nt.c (nt_open_network_stream):
10184         * process-nt.c (vars_of_process_nt):
10185         Copied over code from Emacs 20.5 to correctly send signals to sub-
10186         processes under Windows 95.  Also added code to automatically
10187         create and hide console window when a sub-process is created under
10188         Windows 95, which obviates the need for the separate runemacs.exe
10189         executable, and finally implemented some variables that were
10190         implemented in Emacs 20.5, but previously not in XEmacs.  These
10191         include mswindows- start-process-share-console and
10192         mswindows-start-process-inherit-error-mode. (Both of these only
10193         apply to Windows 95.)
10194
10195         * regex.c (regex_compile): Fixed a compile warning.
10196
10197         * select-msw.c:
10198         * select-msw.c (mswindows_own_selection):
10199         * select-msw.c (mswindows_get_foreign_selection):
10200         * select-msw.c (mswindows_disown_selection):
10201         * select-msw.c (console_type_create_select_mswindows):
10202         * select-msw.c (syms_of_select_mswindows):
10203         Cleaned up the file and implemented the device method
10204         selection_exists_p, which had accidentally been left out.  Also
10205         removed four lisp functions that were remnants from before the
10206         time when the selection code was properly device abstracted.
10207         These functions are no longer needed because there are generic
10208         equivalents, and because they were added recently and don't exist
10209         in FSF Emacs, I don't think there's any problem with just deleting
10210         them.
10211
10212         * sysdep.c:
10213         * sysdep.c (sys_subshell):
10214         Fixed a compile warning, although in this case there's probably
10215         something wrong with this code, and it ought to be looked into
10216         more thoroughly by somebody who understands it.
10217
10218         * window.c:
10219         * window.c (Fwindow_text_area_height):
10220         * window.c (Fwindow_width):
10221         * window.c (Fwindow_full_width):
10222         * window.c (Fwindow_pixel_width):
10223         * window.c (debug_print_window):
10224         * window.c (syms_of_window):
10225         Added functions window-text-area-height and window-full-width,
10226         which are functions for returning various width and height
10227         characteristics of a window. (One of these functions is necessary
10228         for making the file dialog box work correctly, and the other one
10229         was added for completeness.)  Also added a table to the
10230         documentation for window-height which describes the entire scheme
10231         for accessing width and height characteristics of a window.
10232
10233 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10234
10235         * nt.c (fstat): Added a comment for another problem with
10236         non-encapsulated [f]stat(), reported by Adrian Aichner
10237         <aichner@ecf.teradyne.com>.
10238
10239 2000-03-11  Andy Piper  <andy@xemacs.org>
10240
10241         * window.c (make_dummy_parent): initialize subwindow instance
10242         cache.
10243         (Fset_window_configuration): zero extent_modiff.
10244
10245 2000-03-10  Andy Piper  <andy@xemacs.org>
10246
10247         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10248         more changes can be triggered.
10249         (Fredisplay_frame): ditto.
10250         (Fredraw_device): ditto.
10251         (Fredisplay_device): ditto.
10252         (redisplay_frame): make non-static.
10253         (redisplay_frame): call update_frame_gutter_geometry outside of
10254         display proper.
10255
10256         * gutter.h: declare update_frame_gutter_geometry.
10257
10258         * redisplay.h: declare redisplay_frame.
10259
10260         * gutter.c (update_frame_gutter_geometry): move geometry changes
10261         in update_frame_gutters here. Geometry changes can only occur
10262         outside of redisplay.
10263         (update_frame_gutters): remove geometry change code.
10264         (Fredisplay_gutter_area): make sure that we are in display when we
10265         update and that we have flushed any size changes.
10266
10267 2000-03-11  Andy Piper  <andy@xemacs.org>
10268
10269         * alloc.c (pdump_dump_data): remove i & count shadows.
10270
10271 2000-02-27  Mike Alexander  <mta@arbortext.com>
10272
10273         * sysdep.h: Declare pdump_read_file
10274
10275         * sysdep.c (pdump_read_file): New function
10276
10277         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10278         dump data
10279
10280 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10281
10282         * lrecord.h: add `lrecord_type_pgsetenv'.
10283
10284 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10285
10286         * symsinit.h: declare (vars|syms)_of* functions.
10287         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10288
10289 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10290
10291         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10292
10293         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10294         GCCs.
10295
10296         * emacs.c (main_1): Call postgres initialization code.
10297
10298         * postgresql.h: New file.  PostgreSQL RDBMS support.
10299         * postgresql.c: New file.
10300
10301 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10302
10303         * redisplay-output.c (redisplay_output_display_block): Disable
10304         redundant code.
10305
10306 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10307
10308         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10309         (Fcanna_henkan_next): Ditto.
10310         (Fcanna_bunsetu_henkou): Ditto.
10311         (Fcanna_henkan_kakutei): Ditto.
10312         (Fcanna_henkan_end): Ditto.
10313         (Fcanna_henkan_quit): Ditto.
10314         (Fcanna_henkan_next): Set retun value correctly.
10315         (c2mu): Use unsigned char instead of signed char.
10316
10317 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10318
10319         * emacs.c (main_1): Always call syms_of_gui.
10320         * inline.c: include gui.h
10321
10322 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10323
10324         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10325         converted to Lisp_Object.
10326         (Qtop_bottom): New variable.
10327         (syms_of_redisplay): Initialize it.
10328         * redisplay.h (Vvisible_bell): Ditto.
10329         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10330         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10331         only flash top and bottom.
10332
10333 2000-03-08  Andy Piper  <andy@xemacs.org>
10334
10335         * buffer.c (Frename_buffer): record new buffer name the right way.
10336
10337 2000-03-08  Andy Piper  <andy@xemacs.org>
10338
10339         * glyphs.c (update_subwindow): increase hash depth so that widget
10340         items get picked up properly.
10341
10342         * redisplay-output.c (compare_runes): increase hash depth so that
10343         widget items get picked up properly.
10344
10345 2000-03-08  Andy Piper  <andy@xemacs.org>
10346
10347         * gutter.c (output_gutter): add some debug.
10348
10349         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10350         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10351         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10352
10353         * redisplay-output.c (compare_runes): use display_hash to
10354         determine if glyphs really are not the same.
10355
10356         * glyphs.c (update_subwindow): check display_hash to see if
10357         anything really needs to be updated. If not then do
10358         nothing. Record the display_hash after updating.
10359         (image_instance_equal): compare the image_instance face also.
10360
10361 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10362
10363         * redisplay.h: Fix comment style.
10364
10365 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10366
10367         * consle-msw.h (struct mswindows_frame):
10368         Added new member paint_pending to indicate whether a WM_PAINT
10369         magic event has been queued for this frame.
10370
10371         * event-msw.c (mswindows_drain_windows_queue):
10372         Don't queue a WM_PAINT magic event if one is already queued.
10373         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10374
10375         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10376
10377 2000-03-07  Didier Verna  <didier@xemacs.org>
10378
10379         * dired.c: #include `regex.h' after `sysfile.h'.
10380
10381 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10382
10383         * sound.c (init_nas_sound): Fix compiler warning.
10384
10385         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10386         (FREE_STRUCT_P):
10387         (MARK_STRUCT_AS_FREE):
10388         (MARK_STRUCT_AS_NOT_FREE):
10389         Make `gcc -fstrict-aliasing' work properly.
10390
10391 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10392
10393         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10394         (mswindows_delete_device): Call CoUnnitialize().
10395
10396         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10397
10398 2000-02-25    <CraigL@DyCon.com>
10399
10400         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10401         <errno.h>.
10402
10403         * sysdep.c: This extern declaration for environ prevents MinGW
10404         from finding the variable in CRTDLL.DLL.
10405
10406         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10407         windows headers.
10408         (SHGFI_EXETYPE): ..
10409         (WM_MOUSEWHEEL): ..
10410         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10411         definitions.
10412         (MMRESULT): Removed, now defined in cygwin's windows headers.
10413         (TIMECAPS): ..
10414         (uid_t,gid_t,pid_t,ssize_t): ..
10415         (_timeb): Removed, MinGW defines both _timeb and timeb.
10416         (HAVE_H_ERRNO): Added.
10417         (HAVE_TZNAME): Added, configure is not detecting this.
10418
10419 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10420
10421         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10422         * syntax.c (syntax_match): Use it.
10423
10424         * cmds.c: Import auto-fill-chars from FSF Emacs.
10425         (Vauto_fill_chars): New variables.
10426         (internal_self_insert): Check Vauto_fill_chars.
10427         (vars_of_cmds):
10428         Declare auto-fill-chars as a Lisp variable and initialize it.
10429
10430 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10431
10432         * fileio.c (Fmake_symbolic_link):
10433         (Ffile_symlink_p):
10434         Run handlers even if local machine doesn't have symlinks.
10435
10436 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10437
10438         * event-msw.c (mswindows_drain_windows_queue):
10439         Don't generate paint magic events for non-XEmacs frames.
10440
10441 2000-03-05  Andy Piper  <andy@xemacs.org>
10442
10443         * redisplay.c (redisplay_frame): generate_displayable_area and
10444         friends assumes that we are not in GC, we therefore have to make
10445         sure that this doesn't happen.
10446
10447         * gutter.c (calculate_gutter_size): generate_displayable_area
10448         assumes that we are not in GC, we therefore have to make sure that
10449         this doesn't happen.
10450
10451 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10452
10453         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10454
10455 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10456
10457         * redisplay.c (regenerate_window): Make sure we set a sane value
10458         for end_pos even if we jump out of the loop.
10459         (regenerate_window): Answer Ben's question :-).
10460         (start_end_of_last_line): Add may_error argument.
10461         (start_of_last_line):
10462         (end_of_last_line): Pass may_error = 0.
10463         (end_of_last_line_may_error): New function.
10464         (pixel_to_glyph_translation): Use it, so we don't crash in
10465         event_to_glyph.
10466
10467 2000-03-04  Andy Piper  <andy@xemacs.org>
10468
10469         * window.h (struct window): add gutter_extent_modiff.
10470
10471         * window.c (allocate_window): zero out gutter_extent_modiff.
10472
10473         * redisplay.h: declare sync_display_line_structs.
10474
10475         * redisplay.c (add_glyph_rune): add a better comment.
10476
10477         * redisplay-output.c (sync_display_line_structs): made non-static.
10478         (compare_runes): remove unneccesary glyph cachel access.
10479
10480         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10481
10482         * gutter.c (output_gutter): don't output the gutter if extent
10483         changes only involve extents in buffers. use 4 sets of display
10484         lines.
10485         (gutter_extent_signal_changed_region_maybe): new function. Mark
10486         extents in gutters as changed.
10487         (update_frame_gutters): use 4 sets of display lines.
10488         (reset_gutter_display_lines): ditto.
10489         (free_frame_gutters): ditto.
10490         (redraw_exposed_gutter): force output of gutters.
10491
10492         * frame.h (struct frame): add 4 sets of gutter display lines.
10493
10494         * extents.c: (extent_changed_for_redisplay): signal changes to
10495         extents in strings in the gutter as well as extents in buffers.
10496
10497 2000-03-02  Andy Piper  <andy@xemacs.org>
10498
10499         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10500
10501         * frame.c (Fmake_frame): make sure the gutters get initialized
10502         after the frame is visible.
10503         (set_frame_selected_window): re-arrange compilation macros a
10504         little.
10505         (change_frame_size_1): mark gutters changed.
10506
10507         * device.c (Fset_device_class): mark gutters changed.
10508
10509 2000-03-01  Andy Piper  <andy@xemacs.org>
10510
10511         * window.c (window_top_frame_gutter_height): deleted.
10512         (window_bottom_frame_gutter_height): ditto.
10513         (window_left_frame_gutter_height): ditto.
10514         (window_right_frame_gutter_height): ditto.
10515         (window_top_gutter_height): don't use them.
10516         (window_bottom_gutter_height): ditto.
10517         (window_left_gutter_width): ditto.
10518         (window_right_gutter_width): ditto.
10519         (Fsplit_window): ditto.
10520         (Fwindow_pixel_edges): don't use border dimensions here.
10521
10522         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10523         (update_scrollbar_instance): ditto.
10524
10525         * redisplay.c (generate_modeline): don't take gutters into account.
10526         (generate_modeline): ditto.
10527         (redisplay_frame): small gutter display optimization.
10528
10529         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10530
10531         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10532         gutters into account.
10533
10534         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10535         for window position and type.
10536
10537         * gutter.c (get_gutter_coords): fix for frame gutters.
10538         (update_frame_gutters): update frame geometry if the gutters have
10539         changed.
10540         (init_frame_gutters): record current gutter geometries.
10541
10542         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10543         var.
10544         (mswindows_widget_instantiate): ditto.
10545
10546         * frame.h (struct frame): add current_gutter_bounds.
10547
10548         * frame.c (change_frame_size_1): position window and minibuffer
10549         appropriately taking into account the frame gutters.
10550
10551         * frame-x.c: (x_initialize_frame_size): take into account the
10552         frame gutters.
10553
10554 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10555
10556         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10557
10558 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10559
10560         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10561
10562 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10563
10564         * file-coding.c (reset_decoding_stream): Clear previous
10565         detection state when autodetect.
10566
10567 2000-02-29  Didier Verna  <didier@xemacs.org>
10568
10569         * extents.c (set_extent_glyph_1): don't require extents to be
10570         attached.
10571
10572 2000-02-27  Andy Piper  <andy@xemacs.org>
10573
10574         * gutter.c (Fset_default_gutter_position): don't default left and
10575         right gutter visibility to t.
10576         (Fset_default_gutter_position): run
10577         default-gutter-position-changed-hook.
10578         (syms_of_gutter): add default-gutter-position-changed-hook.
10579
10580 2000-02-26  Andy Piper  <andy@xemacs.org>
10581
10582         * specifier.c (Fmake_specifier): add gutter references.
10583
10584         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10585
10586         * lisp.h: declare Fvalid_plist_p.
10587
10588         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10589         as changed.
10590         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10591         well as its visibility so that it gets reconstructed.
10592         (construct_window_gutter_spec): new function. Construct a string
10593         to be displayed in the gutter from a plist of strings. Take care
10594         to only use elements that are declared as visible.
10595         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10596         WINDOW_GUTTER.
10597         (gutter_validate): allow plists of strings in the specifier.
10598         (gutter_specs_changed): construct the real_gutter from the gutter
10599         specs using construct_window_gutter_spec.
10600         (gutter_visible_validate): gutter-visible is a new specifier type.
10601         (Fgutter_visible_specifier_p): new function for the new specifier.
10602         (syms_of_gutter): declare gutter-visible and
10603         Fgutter_visible_specifier_p.
10604         (specifier_type_create_gutter): intitalize new gutter-visible
10605         specifier.
10606         (reinit_specifier_type_create_gutter): ditto.
10607         (specifier_vars_of_gutter): use new specifier type for gutter
10608         visibility.
10609         (init_frame_gutters): construct real_gutter correctly.
10610         (Fgutter_specifier_p): beef up documentation.
10611         (Fgutter_size_specifier_p): ditto.
10612
10613         * winslots.h: add real_gutter slots.
10614
10615 2000-02-25  Andy Piper  <andy@xemacs.org>
10616
10617         * device-msw.c: Be kind to older cygwin versions. From Raymond
10618         Toy <toy@rtp.ericsson.se>.
10619
10620         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10621         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10622
10623 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10624
10625         * elhash.c (MARK_OBJ): Practice macro hygiene.
10626
10627 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10628
10629         * miscplay.c: s/__inline__/inline/g;
10630         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10631         (get_device_compdc): INLINE ==> static inline
10632         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10633         find -name '*.h' | \
10634         xargs global-replace \
10635         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10636
10637 2000-02-25  Andy Piper  <andy@xemacs.org>
10638
10639         * window.c (window_top_frame_gutter_height): new function.
10640         (window_top_window_gutter_height): ditto.
10641         (window_top_gutter_height): use them.
10642         (window_bottom_frame_gutter_height): new function.
10643         (window_bottom_window_gutter_height): ditto.
10644         (window_bottom_gutter_height): use them.
10645         (window_left_window_gutter_width): new function.
10646         (window_left_frame_gutter_width): ditto.
10647         (window_left_gutter_width): use them.
10648         (window_right_window_gutter_width): new function.
10649         (window_right_frame_gutter_width): ditto.
10650         (window_right_gutter_width): use them.
10651         (window_pixel_height): new function. calulate window pixel height
10652         with frame gutter involvement.
10653         (Fsplit_window): calculate new sizes taking frame gutters into
10654         account.
10655         (window_char_height_to_pixel_height): don't include frame gutters.
10656         (window_char_height): use window_pixel_height.
10657         (window_pixheight): rename from window_pixel_height.
10658         (change_window_height): use it.
10659         (window_pixel_height_to_char_height): don't include frame gutters.
10660         (window_char_width_to_pixel_width): ditto.
10661
10662 2000-02-25  Andy Piper  <andy@xemacs.org>
10663
10664         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10665         if it is.
10666
10667 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10668
10669         * alloc.c (staticpro):
10670         (staticpro_nodump):
10671         (dumpstruct):
10672         (dumpopaque):
10673         (pdump_wire):
10674         (pdump_wire_list):
10675         (compact_string_chars):
10676         (pdump_dump_wired):
10677         Convert:  if (foo) abort();  ==>  assert (! foo);
10678
10679         * eldap.c (Fldap_search_basic):
10680         (Fldap_add):
10681         (Fldap_modify):
10682         (Fldap_delete):
10683         Fix compiler warnings, and possible crashes if (random) return
10684         value were to be used.
10685
10686 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10687
10688         * device-msw.c: Workaround ResetDC failure.
10689
10690         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10691         applying a devmode.
10692
10693         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10694         (mswindows_text_width): Do not start printer page.
10695
10696         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10697
10698         * glyphs-msw.c: Added image methods to msprinter console and
10699         msprinter-specific image instantiation.
10700
10701 2000-02-20  Mike Alexander  <mta@arbortext.com>
10702
10703         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10704         to avoid crashes when selection-sets-clipboard is on
10705         (mswindows_own_selection): ditto
10706
10707 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10708
10709         * glyphs-msw.c:
10710         * redisplay-msw.c (get_frame_dc):
10711         (get_frame_compdc):
10712         * console-msw.h:
10713         * device-msw.c (mswindows_init_device):
10714         (mswindows_delete_device):
10715         (msprinter_init_device):
10716         (msprinter_delete_device):
10717         * frame-msw.c (mswindows_init_frame_1):
10718         (mswindows_delete_frame):
10719         (msprinter_init_frame_3):
10720         (msprinter_delete_frame): Move compatible DC to device object from
10721         frame object, for both mswindows and msprinter. Only one at a time
10722         is needed, it is a real waste to have one per frame!
10723
10724 2000-02-23  Andy Piper  <andy@xemacs.org>
10725
10726         * glyphs.c: add dynamic width and height elements.
10727         (image_instance_equal): ditto.
10728
10729         * glyphs-widget.c (widget_query_geometry): calculate width and
10730         height dynamically if required.
10731         (initialize_widget_image_instance): initialize dynamic dimensions.
10732         (widget_instantiate): pick-up dynamic dimensions.
10733
10734         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10735         dynamic determination. Add appropriate macros.
10736
10737         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10738         dimensions safe.
10739         (WINDOW_GUTTER_SIZE): ditto.
10740         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10741
10742         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10743         inline.
10744         (get_frame_dc): ditto.
10745
10746         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10747         here.
10748
10749 2000-02-23  Martin Buchholz <martin@xemacs.org>
10750
10751         * XEmacs 21.2.31 is released.
10752
10753 2000-02-22  Ben Wing <ben@xemacs.org>
10754
10755         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10756
10757 2000-02-22  Andy Piper  <andy@xemacs.org>
10758
10759         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10760
10761 2000-02-21  Mike Sperber <mike@xemacs.org>
10762
10763         * .dbxrc:
10764         * .gdbinit:
10765         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10766         variables.
10767
10768 2000-02-21  Mike Sperber <mike@xemacs.org>
10769
10770         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10771
10772 2000-02-21  Martin Buchholz <martin@xemacs.org>
10773
10774         * XEmacs 21.2.30 is released.
10775
10776 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10777
10778         Performance hacking.
10779         * *.c (syms_of_*):
10780         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10781         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10782         * emacs.c (main_1):
10783         * lisp.h (DEFUN):
10784         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10785         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10786         * symeval.h (DEFVAR_SYMVAL_FWD):
10787         * symbols.c (guts_of_unbound_marker):
10788         Make all c_readonly objects also lisp_readonly and marked for life.
10789         * lrecord.h (struct lrecord_implementation):
10790         Document flags better.
10791         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10792         * lrecord.h (DECLARE_LRECORD):
10793         * lrecord.h (XSETRECORD):
10794         * lrecord.h (RECORDP):
10795         * lrecord.h (RECORD_TYPEP):
10796         * lrecord.h (RECORD_MARKER): New.
10797         * lrecord.h (error_check_*):
10798         * lrecord.h (CONCHECK_NONRECORD):
10799         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10800         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10801         * lrecord.h (set_lheader_implementation):
10802         * lrecord.h (enum lrecord_type): New.
10803         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10804         * alloc.c (disksave_object_finalization_1):
10805         * alloc.c (mark_object):
10806         * alloc.c (lrecord_type_index):
10807         * alloc.c (tick_lcrecord_stats):
10808         * alloc.c (Fgarbage_collect):
10809         * alloc.c (init_alloc_once_early):
10810         * alloc.c (pdump_load):
10811         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10812         * alloc.c (lrecord_type_index): Delete.
10813         Make lisp object type indexes be constant.
10814           Makes (byte-compile) 5% faster.
10815         Put all marker functions into their own array.
10816           Makes (garbage-collect) 5% faster.
10817         Optimize SYMBOL_VALUE_MAGIC_P.
10818           Makes (byte-compile) 2-3% faster.
10819         * config.h.in (gc_checking_assert): New.
10820         * alloc.c: Use gc_checking_assert().
10821         * .dbxrc: Make compatible with new object type implementation.
10822         * .gdbinit: Make compatible with new object type implementation.
10823         * alloc.c: Delete all symbols defined only for debugging, such as
10824         Lisp_Type_Vector and lrecord_charset.
10825
10826 2000-02-21  Andy Piper  <andy@xemacs.org>
10827
10828         * gui-msw.c (Fmswindows_shell_execute): fix file location
10829         problems.
10830
10831         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10832         unshowing so that set_window_buffer doesn't undo
10833         kill_buffer_hook's hard work.
10834
10835         * glyphs-widget.c (tab_control_query_geometry): don't count the
10836         first item when calculating geometry.
10837
10838         * glyphs.c (map_subwindow): remove redundant code.
10839         (update_frame_subwindows): be more circumspect about when to
10840         update subwindows.
10841
10842         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10843         when items haven't changed. Update faces if faces have changed as
10844         well as just the widget face.
10845         (x_tab_control_update): Update faces if faces have changed as well
10846         as just the widget face.
10847
10848 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10849
10850         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10851         registration.
10852         (build_syscolor_string): Use mswindows_color_to_string to try to
10853         get a named color.
10854         (mswindows_device_system_metrics): Reverse the foreground and
10855         background colors so that they match the documentation.
10856
10857         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10858         they match the default Windows palette.
10859         (mswindows_color_to_string): New function.
10860
10861 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10862
10863         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10864
10865 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10866
10867         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10868         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10869
10870         * symbols.c (init_symbols_once_early): Removed obsolete
10871         DATA_SEG_BITS related kludge.
10872         (defvar_magic): Ditto.
10873
10874         * malloc.c: Removed obsolete DATA_SEG_BITS
10875         * ralloc.c: Ditto.
10876         * mem-limits.h: Ditto.
10877
10878         * Makefile.in.in: Removed obsolete HAVE_SHM
10879         * emacs.c: Ditto.
10880
10881 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10882
10883         *  device-msw.c (mswindows_delete_device): Free DDE string
10884         handles.
10885
10886 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10887
10888         * keymap.c (get_keyelt):
10889         * unexnt.c (unexec):
10890         * vm-limit.c (memory_warnings):
10891         * ntheap.c (recreate_heap):
10892         * ntheap.h (UNINIT_PTR):
10893         * select-msw.c (Fmswindows_get_clipboard):
10894         (Fmswindows_set_clipboard):
10895         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10896         * objects-msw.c:
10897         * menubar-msw.c (displayable_menu_item):
10898         * glyphs-msw.c:
10899         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10900         * sysdep.c (sys_subshell):
10901         * process-nt.c (nt_create_process):
10902         * nt.c (normalize_filename):
10903         (dostounix_filename):
10904         (unixtodos_filename):
10905         * ntproc.c (win32_executable_type):
10906         * ntplay.c (play_sound_data_1):
10907         (play_sound_file):
10908         * editfns.c (get_home_directory):
10909         * event-msw.c (struct winsock_stream):
10910         (mswindows_dde_callback):
10911         * device-msw.c (msprinter_init_device):
10912         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10913
10914         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10915         mswindows_clear_toolbar were swapped!
10916
10917         * objects-msw.c:(colormap_t):
10918         (fontmap_t):
10919         * emacs.c (struct standard_args): Fixed const jumble.
10920
10921         * glyphs-widget.c (update_widget): Fixed comparison notation.
10922
10923         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10924
10925         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10926         __declspec(noreturn) syntax.
10927
10928 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10929
10930         * eldap.c (Fldap_open):
10931         (Fldap_search_basic):
10932         (Fldap_add):
10933         (Fldap_modify):
10934         Use new coding system conversion macros.
10935
10936 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10937
10938         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10939
10940 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10941
10942         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10943         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10944
10945         * eldap.c (Qadd, Qreplace): New constant symbols
10946         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10947         interruptions by XEmacs signals
10948         Remove unnecessary calls to slow_down_interrupts and
10949         speed_up_interrupts
10950         (Fldap_search_basic): Renamed from Fldap_search_internal
10951         Added new optional parameter VERBOSE that triggers the
10952         display of progress messages
10953         Remove unnecessary calls to slow_down_interrupts and
10954         speed_up_interrupts
10955         LDAP result code analysis rewritten
10956         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10957         (syms_of_eldap): Define the new symbols and functions
10958
10959
10960 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10961
10962         * realpath.c: Determine PATH_MAX maximally portably.
10963
10964         * insdel.c (bytecount_to_charcount): Optimize.
10965         The function used to be optimized for entirely ASCII sequences.
10966         Now it is optimized for successive characters from the same
10967         charset.  This also wins big for _mostly_ ASCII sequences.
10968
10969         * fileio.c (Ffile_truename): convert return from realpath() using
10970         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10971         - Rewrite GCPROing slightly.
10972
10973         * sysdep.c (sys_open): Do filename conversion, like all other
10974         sys_* functions.  Fixes bug:
10975         (let ((file-name-coding-system 'iso-8859-2))
10976            (write-region x y latin2-name))
10977         ==> writes filename using internal encoding.
10978
10979 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10980
10981         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10982         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10983         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10984         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10985         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10986         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10987         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10988         (CONST_IF_NOT_DEBUG): Delete.
10989         * alloc.c (this_one_is_unmarkable): Delete.
10990         (mark_object): Don't check for this_one_is_unmarkable. Use the
10991         c_readonly flag instead.
10992         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10993
10994 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10995
10996         * event-msw.c (mswindows_drain_windows_queue):
10997         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10998         away redundant repaint events.
10999
11000 2000-02-17  Andy Piper  <andy@xemacs.org>
11001
11002         * redisplay.h: declare mark_redisplay_structs.
11003
11004         * redisplay.c (redisplay_window):
11005         (redisplay_frame): don't check subwindows_state_changed.
11006         (mark_redisplay): mark gutters here.
11007
11008         * glyphs.c: (instantiate_image_instantiator): always layout if we
11009         haven't done so already.
11010         (allocate_image_instance): don't mark as dirty.
11011         (update_subwindow): bind inhibit_quit.
11012
11013         * gutter.c (mark_gutters): new function.
11014
11015         * glyphs-x.c (x_update_widget): Always resize to get round a
11016         widget bug.
11017
11018         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11019         breaking absolutely everything.
11020
11021         * gutter.h: declare mark_gutters.
11022
11023 2000-02-16  Martin Buchholz <martin@xemacs.org>
11024
11025         * XEmacs 21.2.29 is released.
11026
11027 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11028
11029         * fns.c (size_bit_vector): Fix computation of the size.
11030
11031 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11032
11033         * *.[ch]: Change CONST to const globally.
11034         find -name '*.[ch]' | \
11035         xargs global-replace \
11036         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11037         - Remove vestigial references to CONST_IS_LOSING
11038
11039 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11040
11041         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11042         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11043         events instead of dispatching them directly.
11044         (mswindows_handle_paint): New function to do repainting.
11045         (mswindows_wnd_proc):
11046         (emacs_mswindows_handle_magic_event): Call above function.
11047
11048 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11049
11050         * objects-msw.c (mswindows_create_font_variant): Return the new
11051         font handle.
11052         (initialize_font_instance): Get font metrics from the underlined
11053         variant of the font to cope with the case where the underlined
11054         font has a bigger descent.
11055
11056 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11057
11058         * gui.c (gui_item_accelerator): Return the first underlined
11059         character in item name.
11060
11061 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11062
11063         * lisp.h: Added Qprinter.
11064
11065         * general.c (syms_of_general): Initialized it.
11066
11067         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11068         (get_frame_dc):
11069         (get_frame_compdc): Made inline.
11070
11071         * console.h (struct console_methods): Added eject_page method.
11072
11073         * frame.h: Added FRAME_DISPLAY_P and friends.
11074         Aligned backslahes in many macros in more readable fashion.
11075         Added page_number to struct frame, and an accessor macro
11076         for it.
11077
11078         * defice.h: Added DEVICE_DISPLAY_P and friends.
11079
11080         * device.c (Fdevice_printer_p): Used these.
11081
11082         * frame.c (allocate_frame_core): Initialize page number.
11083         (Fprint_job_page_number):
11084         (Fprint_job_eject_page): Implemented.
11085
11086         * frame-msw.c (msprinter_eject_page): Added method.
11087         (msprinter_start_page): Added.
11088
11089         * window.c (Fwindow_truncated_p): Fixed docstring.
11090         (Fwindow_last_line_visible_height): Implemented.
11091
11092 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11093
11094         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11095
11096 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11097
11098         * syntax.c (scan_words): Always advance at least one character.
11099
11100 2000-02-13  Andy Piper  <andy@xemacs.org>
11101
11102         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11103         to make sure the glyph is in the cachels.
11104
11105         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11106         global image instance flag.
11107         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11108         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11109
11110         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11111         (Fset_image_instance_property): mark layout as changed.
11112         (invalidate_glyph_geometry_maybe): mark layout as changed.
11113         (glyph_width): use new NEEDS_LAYOUT macro.
11114         (glyph_ascent): ditto.
11115         (glyph_descent): ditto.
11116         (glyph_height): ditto.
11117         (image_instance_layout): mark layout as clean after laying out.
11118         (update_subwindow): don't mark layout as clean here.
11119
11120         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11121         should no longer be needed.
11122
11123         * glyphs-x.c (x_update_widget): sanitize asserts.
11124         (x_finalize_image_instance): sanitize assignment to widgets.
11125
11126         * glyphs-widget.c (widget_instantiate): don't need to clear the
11127         layout flag here.
11128
11129 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11130
11131         * sysdep.c (getcwd): Use standard prototype.
11132         * sysdep.h (getcwd): Use standard prototype.
11133
11134         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11135         (sequence, start, end).
11136         Remove redundant type checking.
11137         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11138         view of `caller-protects') to avoid a crash where the real fix was
11139         found elsewhere.
11140
11141 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11142
11143         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11144
11145         * s/sol2.h: Remove feature macro initialization.
11146
11147         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11148         (vector_hash): New.  Code from internal_hash.
11149         * lrecord.h:
11150         Fix up allocation subsystem comments.
11151
11152         * config.h.in: Add __EXTENSIONS__ for Solaris.
11153
11154         * systime.h (EMACS_GETTIMEOFDAY): New.
11155         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11156         Remove Solaris-specific code.
11157         Use void* for the (ignored) second arg for gettimeofday().
11158
11159         * elhash.c (hash_table_hash): Implement it, finally.
11160         * elhash.c:  Use hashcode_t.
11161
11162         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11163         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11164
11165         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11166         * fns.c (size_bit_vector):
11167         * alloc.c (size_vector):
11168         (make_vector_internal):
11169         (make_bit_vector_internal):
11170         (sweep_bit_vectors_1):
11171         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11172
11173 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11174
11175         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11176         Include strings.h to avoid warnings for bzero and strcasecmp.
11177
11178 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11179
11180         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11181         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11182
11183         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11184         sequence.
11185
11186 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11187
11188         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11189         use a value field instead.
11190         (symbol_value_forward_forward): Use value field.
11191         (DEFVAR_SYMVAL_FWD): Use value field.
11192         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11193         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11194         (DEFVAR_CONST_INT): Ditto.
11195         (DEFVAR_BOOL): Ditto.
11196         (DEFVAR_CONST_BOOL): Ditto.
11197         (DEFVAR_INT_MAGIC): Ditto.
11198         (DEFVAR_BOOL_MAGIC): Ditto.
11199
11200         * symbols.c (guts_of_unbound_marker): Use value field.
11201         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11202         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11203
11204         * lisp.h: Declare dumpopaque and noninteractive1.
11205
11206         * alloc.c (dumpopaque): Added.
11207         (pdump_dump_opaquevec): Added.
11208         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11209         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11210         noninteractive.
11211
11212 2000-02-10  Andy Piper  <andy@xemacs.org>
11213
11214         * glyphs.c (image_instance_layout): if the size changes, mark it
11215         as such.
11216
11217         * redisplay-output.c (redisplay_output_layout): Update the
11218         subwindow here.
11219         (redisplay_output_subwindow): ditto.
11220
11221         * glyphs.c (update_subwindow): make sure we reset flags for
11222         layouts as well as everything else.
11223
11224         * glyphs-widget.c (layout_layout): don't need to set the instances
11225         dimensions here.
11226
11227 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11228
11229         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11230         not HAVE_DLOPEN, which is a lower-level thing.
11231
11232         * .cvsignore: Ignore gmon.out
11233
11234 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11235
11236         * .cvsignore: Ignore portable dumper xemacs.dmp file
11237
11238 2000-02-09  Andy Piper  <andy@xemacs.org>
11239
11240         * redisplay-output.c (redisplay_output_layout): be more clever
11241         about when we output based on the changed flags.
11242
11243         * glyphs.h (struct image_instantiator_methods): add update_method.
11244         (struct Lisp_Image_Instance): add changed flags. Declare new
11245         macros for manipulating them.
11246
11247         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11248         (image_instance_parent_glyph): find an image_instance's parent
11249         glyph or image_instance.
11250         (image_instance_layout): mark the size as changed.
11251         (set_image_instance_dirty_p): new function. mark an image
11252         instance, plus all of its parents, as dirty.
11253         (Fset_image_instance_property): use it.
11254         (Fglyph_animated_timeout_handler): use it.
11255         (update_subwindow): call update_widget and device methods for
11256         update_subwindow. Mark all changed flags as clean.
11257         (Fresize_subwindow): mark size as changed.
11258
11259         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11260         failures.
11261         (x_update_subwindow): only resize subwindows here.
11262         (x_update_widget): new function. Update all changed properties of
11263         a widget.
11264         (x_resize_subwindow): deleted.
11265         (x_widget_set_property): deleted.
11266         (x_progress_gauge_set_property): deleted.
11267         (x_progress_gauge_update): new function. Implement recorded
11268         changes.
11269         (x_tab_control_update): ditto.
11270         (x_tab_control_set_property): deleted.
11271         (console_type_create_glyphs_x): declare new functions.
11272         (image_instantiator_format_create_glyphs_x): ditto.
11273
11274         * glyphs-widget.c (widget_set_property): mark text changed.
11275         (update_widget): new function. Update properties of a widget.
11276         (widget_instantiate): for layouts make sure we set their
11277         children's parent correctly.
11278         (tab_control_set_property): new function. Record changes that will
11279         take place under redisplay's control.
11280         (progress_gauge_set_property): ditto.
11281         (image_instantiator_progress_guage): declare new functions.
11282         (image_instantiator_tab_control): ditto.
11283
11284         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11285         now.
11286         (mswindows_update_widget): new function. Update all properties on
11287         a widget that have changed.
11288         (mswindows_button_update): new function. Update a button's set
11289         state.
11290         (mswindows_tab_control_update): new function. Update the items in
11291         a tab.
11292         (mswindows_tab_control_set_property): deleted.
11293         (mswindows_progress_gauge_update): new function. Update the
11294         progress gauge's progress.
11295         (mswindows_widget_set_property): deleted. This is all done
11296         asynchronously now.
11297         (mswindows_progress_gauge_set_property): ditto.
11298         (console_type_create_glyphs_mswindows): declare new methods.
11299         (image_instantiator_format_create_glyphs_mswindows): ditto.
11300
11301         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11302         (msprinter_set_frame_properties): ditto.
11303
11304         * console.h (struct console_methods): Add update_widget_method.
11305
11306 2000-02-09  Andy Piper  <andy@xemacs.org>
11307
11308         * gui-msw.c (Fmswindows_shell_execute): Make
11309         mswindows-shell-execute industrial strength.
11310
11311 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11312
11313         * lrecord.h: Make macro argument `props' match member function `plist'.
11314         * fns.c (Fget):
11315         * fns.c (Fput):
11316         * fns.c (Fremprop):
11317         * fns.c (Fobject_plist):
11318         * alloc.c:
11319         * symbols.c:
11320         Object property list frobbing cleanup.
11321         - Allow any lisp object (compared with `eq'), not just symbols, as
11322           keys in object plists.
11323         - Move symbol plist frobbing into symbols.c, where it belongs.
11324         - Move string plist frobbing into alloc.c, where it belongs.
11325         - Everything's an lrecord now, so no need to test for symbolp, etc.
11326         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11327
11328         * extents.c: Reorder code to remove declarations.
11329
11330         * frame.h (store_in_alist): Remove useless declaration.
11331
11332 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11333
11334         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11335         * config.h.in: Add HAVE_XCONVERTCASE.
11336
11337 2000-02-07  Andy Piper  <andy@xemacs.org>
11338
11339         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11340         it breaks many things.
11341
11342 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11343
11344         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11345         actually can start a common comment type.
11346         * src/syntax.h (SYNTAX_END_P): ditto for end.
11347
11348 2000-02-07  Martin Buchholz <martin@xemacs.org>
11349
11350         * XEmacs 21.2.28 is released.
11351
11352 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11353
11354         * event-Xt.c (x_keysym_to_character): New.
11355         (maybe_define_x_key_as_self_inserting_character): New.
11356         (x_has_keysym): New.
11357         Auto-define all keys on the keyboard as self-insert-key.
11358
11359 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11360
11361         * menubar.c (vars_of_menubar): A small code simplification.
11362
11363         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11364
11365         * ExternalShell.c:
11366         * ExternalClient.c:
11367         * EmacsShell-sub.c:
11368         * EmacsManager.c:
11369         * EmacsFrame.c:
11370         Use consistent style for specifying X resources.
11371
11372         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11373         This makes (dontusethis-set-symbol-value-handler) actually usable.
11374
11375         * lrecord.h (lrecord_decription_type):
11376         * alloc.c (pdump_register_sub):
11377         (pdump_dump_data):
11378         (pdump_reloc_one):
11379         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11380         Comply with XEmacs coding style.
11381         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11382         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11383
11384         * keymap.c (Faccessible_keymaps):
11385         Make (accessible-keymaps map "\C-h") do the Right Thing.
11386         Make (accessible-keymaps map []) do the Right Thing.
11387         Make (accessible-keymaps map "") do the Right Thing.
11388         (check_keymap_definition_loop): New function.
11389         (keymap_store_internal): Keep luser from shooting self in foot,
11390           via (define-key ctl-x-4-map "p" global-map).
11391         Remove fullness slot from struct Lisp_Keymap, since hash tables
11392         are now reliable.
11393         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11394
11395 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11396
11397         * redisplay.c (init_redisplay): Fix small memory leak.
11398         * elhash.h:
11399         * elhash.c (pdump_reorganize_hash_table):
11400         Rename from reorganize_hash_table. Change prototype.
11401         Reuse the original memory for hentries.  Save 100k.
11402         * alloc.c (PDUMP_READ): new macro.
11403         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11404         * alloc.c: No need to #ifndef before #undef.
11405
11406         * print.c: Allow debug_print() to print readably by modifying
11407         debug_print_readably.  Use consistent variable names.
11408
11409         * .dbxrc: Try to get things to work even if stopped in a function
11410         without source available by explicitly specifying source files.
11411 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11412
11413         * unexnt.c (_start): Removed bogus code which caused loading heap
11414         from differrent executable file.
11415         Removed bogus assignment to _fmode, which caused inconsistencies.
11416
11417 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11418
11419         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11420         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11421         Do not preliminary `#define signal sigset'.
11422
11423         * systime.h: Do not prototype environ on windows nt and cygwin,
11424         this conflicts with system header.
11425
11426         * syssignal.h: Use correct define for WINDOWSNT
11427
11428         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11429         with system header.
11430
11431         * sysdep.c (near start of file): Fixed commentary and rearranged
11432         ifdefs in readable order.
11433         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11434         (start_of_text):
11435         (end_of_text):
11436         (end_of_data): Do not compile in if using PDUMP.
11437
11438         * symsinit.h: Prototyped vars_of_nt().
11439
11440         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11441         (find_child_console): Use it.
11442         (sys_kill): Use it.
11443
11444         * ntheap.h: Do not extern os_subtype.
11445
11446         * ntheap.c (cache_system_info): Do not cache unneeded:
11447         nt_major_version, nt_minor_version and os_subtype.
11448         (recreate_heap): Do not compile in when PDUMPing.
11449
11450         * nt.c (geteuid and friends): Use the new varibale
11451         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11452         (init_user_info): Removed the above mentioned hackery.
11453         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11454         stat has been fixed in the C runtime.
11455         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11456
11457         * file-coding.c (struct file_coding_dump): Do not define
11458         ucs_to_mule_table in the struct if not MULE.
11459         (struct struct lrecord_description fcd_description_1): Do not dump
11460         the above.
11461
11462         * emacs.c (main_1): Call vars_of_nt().
11463         (right before Fdump_emacs_data): Don't need lastfile if using both
11464         portabe dumper and system malloc.
11465
11466         * alloc.c (Fmemory_limit): Conditionalized out.
11467         (pdump): Use OPEN_BINARY for the portable dump file.
11468         (pdump_load): Ditto.
11469
11470 2000-02-02  Mike Alexander  <mta@arbortext.com>
11471
11472         * nt.c (convert_time): Set tm_isdst before calling mktime and
11473         avoid calling it at all if the compiler supports 64 bit integers.
11474         Also initialize utc_base_ft before using it.
11475
11476 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11477
11478         * frame.c (change_frame_size_1): Take f->internal_border_width
11479         into consideration when calculating the width of the frame.
11480
11481 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11482
11483         * window.c (frame_min_height):
11484         (frame_size_valid_p):
11485         (frame_pixsize_valid_p): Added.
11486         (check_frame_size): Generalized.
11487
11488         * window.h: Prototyped the above.
11489
11490         * lisp.h:
11491         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11492         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11493         Deleted Vwin32_* and Vbinary_process_* unused variables.
11494
11495         * device-msw.c (msprinter_init_device): Do not get printer font
11496         list; Added DEVMODE functions.
11497
11498         * frame-msw.c: Added lots of printer code.
11499
11500         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11501         general.c.
11502
11503         * console-msw.h: Added more msprinter device private slots.
11504
11505 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11506
11507         * event-msw.c (key_needs_default_processing_p): Added.
11508         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11509
11510 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11511
11512         * glyphs.c (image_instance_layout): Mark image instance as clean
11513         after layout.
11514         (glyph_dirty_p): Removed redundant function.
11515         (invalidate_glyph_geometry_maybe): Added.
11516         (update_glyph_cachel_data): Call it.
11517
11518         * glyphs.h: Prototyped it.
11519
11520         * redisplay.c (add_glyph_rune): Call it.
11521         (redisplay_window): Reset glyphs cachels when frame faces have
11522         changed, thus forcing recomputation of built-in border glyphs.
11523
11524 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11525
11526         * Makefile.in.in: Make portable dumper and purify play well together.
11527         Add imperfect, but better than nothing, support for pdump.
11528         Remove xemacs.dmp when temacs is re-generated.
11529         Don't ignore errors when dumping xemacs.
11530
11531         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11532
11533 2000-01-28  Andy Piper  <andy@xemacs.org>
11534
11535         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11536         (setup_normal_frame): ditto.
11537         (setup_frame_without_minibuffer): ditto.
11538         (setup_minibuffer_frame): ditto.
11539         (delete_frame_internal): ditto.
11540         (Fmake_frame_invisible): ditto.
11541         (Ficonify_frame): ditto.
11542
11543         * window.h: change Fset_window_buffer signature.
11544
11545         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11546         (Fset_window_buffer): allow recording of buffer if the window is
11547         the selected window.
11548         (window_loop): Use new Fset_window signature.
11549
11550 2000-01-23  Daniel Pittman  <daniel@danann.net>
11551
11552         * config.h.in: Added template for `HAVE_ATHENA_3D'
11553
11554 2000-01-29  Andy Piper  <andy@xemacs.org>
11555
11556         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11557
11558         * gutter.c (output_gutter): Don't output if the window isn't live.
11559
11560 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11561
11562         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11563         of 01/12/00: Moved SetFocus back here where it belongs.
11564
11565 2000-01-23  Andy Piper  <andy@xemacs.org>
11566
11567         * s/cygwin32.h: declare printer things.
11568
11569 2000-01-26  Andy Piper  <andy@xemacs.org>
11570
11571         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11572         Alexander.
11573
11574 2000-01-24  Andy Piper  <andy@xemacs.org>
11575
11576         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11577         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11578
11579         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11580
11581         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11582
11583         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11584
11585         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11586         (mswindows_output_display_block): Avoid local shadows.
11587
11588         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11589         (mswindows_enqueue_mouse_button_event): ditto.
11590         (mswindows_handle_gui_wm_command): remove declaration.
11591
11592         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11593         warnings.
11594
11595         * console-msw.h: Avoid shadows.
11596         (mswindows_get_toolbar_button_text):
11597         (emacs_mswindows_create_stream_pair):
11598         (emacs_mswindows_delete_stream_pair):
11599         (mswindows_handle_toolbar_wm_command): declare.
11600
11601         * device-msw.c (build_syscolor_string): Avoid shadows.
11602
11603 2000-01-23  Andy Piper  <andy@xemacs.org>
11604
11605         * glyphs-widget.c (widget_instantiate): reverse the items for
11606         layouts so that children are in the expected order.
11607
11608 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11609
11610         * ralloc.c: safe_bcopy ==> memmove
11611         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11612         * s/msdos.h: Remove BCOPY macros.
11613         * insdel.c (gap_right): Remove BCOPY conditional code.
11614         * insdel.c (gap_left): Remove BCOPY conditional code.
11615         XEmacs demands a working ANSI C compiler - hence memmove.
11616
11617         * regex.c (regex_compile): Remove accidental use of trigraphs.
11618
11619 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11620
11621         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11622         event timestamp.
11623
11624 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11625
11626         * event-msw.c (mswindows_drain_windows_queue): Added the
11627         parameter.
11628         (mswindows_need_event): Commented the call to
11629         mswindows_drain_windows_queue().
11630         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11631         only.
11632
11633         * console-msw.h: Moved a few function prototypes here from
11634         event-msw.c.
11635
11636         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11637         parameter from unsigned short to unsigned long.
11638         (Fmswindows_shell_execute): Added return value.
11639
11640 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11641
11642         * sysdep.c (init_system_name):
11643           process-unix.c (unix_canonicalized_host_name):
11644         Don't call freeaddrinfo() if getaddrinfo() fails.
11645
11646         * process-unix.c (unix_open_unix_network_stream):
11647         Moved the code to get a port # into address loop.
11648
11649 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11650
11651         * buffer.c (reinit_vars_of_buffer):
11652         The right place to initialize conversion_in_dynarr and
11653         conversion_out_dynarr.
11654
11655         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11656
11657         * process-unix.c (unix_canonicalize_host_name): Muleize.
11658         (unix_open_network_stream): Muleize.
11659
11660         * buffer.h: Fix up prototypes for ralloc.c functions.
11661
11662 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11663         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11664         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11665                 instead of gethostbyname()
11666         * process-unix.c: In unix_canonicalize_host_name() and
11667                 unix_open_network_stream(), add code to use getaddrinfo()
11668                 instead of gethostbyname().
11669
11670 2000-01-27  Daniel Pittman <daniel@danann.net>
11671
11672         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11673         libs when built with flat Athena.
11674
11675 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11676
11677         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11678         Use coding standards for function prototypes.
11679
11680 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11681
11682         * dialog-msw.c (push_lisp_string_as_unicode):
11683         * doc.c (unparesseuxify_doc_string):
11684         * dired.c (Fuser_name_completion_1):
11685         * dired.c (Fuser_name_all_completions):
11686         * dired.c (free_user_cache):
11687         * dired.c (user_name_completion):
11688         * console-x.c (get_display_arg_connection):
11689         * minibuf.c (clear_echo_area_internal):
11690         * minibuf.c (echo_area_append):
11691         * eldap.c (Fldap_open):
11692         * eldap.c (Fldap_search_internal):
11693         * frame-x.c (x_set_frame_text_value):
11694         * frame-x.c (x_set_frame_properties):
11695         * frame-x.c (x_create_widgets):
11696         * redisplay-tty.c (term_get_fkeys_1):
11697         * objects-x.c (x_parse_nearest_color):
11698         * objects-x.c (x_valid_color_name_p):
11699         * objects-x.c (x_initialize_font_instance):
11700         * objects-x.c (x_list_fonts):
11701         * objects-x.c (x_find_charset_font):
11702         * tooltalk.c (Fadd_tooltalk_message_arg):
11703         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11704         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11705         * process-unix.c (unix_create_process):
11706         * ntproc.c (sys_spawnve):
11707         * sound.c (Fplay_sound_file):
11708         * sound.c (Fplay_sound):
11709         * buffer.c (init_initial_directory):
11710         * buffer.c (init_buffer):
11711         * editfns.c (init_editfns):
11712         * editfns.c (Ftemp_directory):
11713         * editfns.c (Fuser_full_name):
11714         * editfns.c (uncache_home_directory):
11715         * editfns.c (get_home_directory):
11716         * editfns.c (Fuser_home_directory):
11717         * editfns.c (Fformat_time_string):
11718         * editfns.c (Fcurrent_time_string):
11719         * gui-x.c (button_item_to_widget_value):
11720         * database.c (Fopen_database):
11721         * event-Xt.c (x_to_emacs_keysym):
11722         * event-Xt.c (x_event_to_emacs_event):
11723         * event-Xt.c (describe_event_window):
11724         * event-msw.c (mswindows_wnd_proc):
11725         * glyphs-eimage.c (jpeg_instantiate):
11726         * glyphs-eimage.c (gif_instantiate):
11727         * glyphs-eimage.c (png_instantiate):
11728         * glyphs-eimage.c (tiff_instantiate):
11729         * glyphs-x.c (xbm_instantiate_1):
11730         * glyphs-x.c (x_xbm_instantiate):
11731         * glyphs-x.c (x_xface_instantiate):
11732         * glyphs-x.c (autodetect_instantiate):
11733         * glyphs-x.c (cursor_font_instantiate):
11734         * glyphs-x.c (x_widget_instantiate):
11735         * glyphs-x.c (x_widget_set_property):
11736         * glyphs-x.c (x_widget_property):
11737         * glyphs-x.c (BUILD_GLYPH_INST):
11738         * print.c (write_string_to_stdio_stream):
11739         * print.c (output_string):
11740         * print.c (Falternate_debugging_output):
11741         * print.c (Fexternal_debugging_output):
11742         * glyphs-msw.c (extract_xpm_color_names):
11743         * glyphs-msw.c (mswindows_xpm_instantiate):
11744         * glyphs-msw.c (bmp_instantiate):
11745         * glyphs-msw.c (resource_name_to_resource):
11746         * glyphs-msw.c (mswindows_resource_instantiate):
11747         * glyphs-msw.c (xbm_instantiate_1):
11748         * glyphs-msw.c (mswindows_xbm_instantiate):
11749         * glyphs-msw.c (mswindows_xface_instantiate):
11750         * glyphs-msw.c (mswindows_widget_instantiate):
11751         * glyphs-msw.c (add_tree_item):
11752         * glyphs-msw.c (add_tab_item):
11753         * glyphs-msw.c (mswindows_combo_box_instantiate):
11754         * glyphs-msw.c (mswindows_widget_property):
11755         * glyphs-msw.c (mswindows_combo_box_property):
11756         * glyphs-msw.c (mswindows_widget_set_property):
11757         * console.c (stuff_buffered_input):
11758         * objects-msw.c (mswindows_initialize_color_instance):
11759         * objects-msw.c (mswindows_valid_color_name_p):
11760         * objects-msw.c (mswindows_list_fonts):
11761         * objects-msw.c (mswindows_font_instance_truename):
11762         * bytecode.c (optimize_compiled_function):
11763         * select-x.c (symbol_to_x_atom):
11764         * select-x.c (x_atom_to_symbol):
11765         * select-x.c (hack_motif_clipboard_selection):
11766         * select-x.c (selection_data_to_lisp_data):
11767         * select-x.c (lisp_data_to_selection_data):
11768         * select-x.c (Fx_get_cutbuffer_internal):
11769         * select-x.c (Fx_store_cutbuffer_internal):
11770         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11771         * buffer.h (TO_INTERNAL_FORMAT): New function.
11772         * emacs.c (make_arg_list_1):
11773         * emacs.c (make_argc_argv):
11774         * emacs.c (main_1):
11775         * emacs.c (Fdump_emacs):
11776         * emacs.c (split_string_by_emchar_1):
11777         * file-coding.h:
11778         * lisp.h:
11779         * lstream.h:
11780         * symsinit.h:
11781         * device-x.c (x_init_device):
11782         * device-x.c (Fx_valid_keysym_name_p):
11783         * device-x.c (Fx_get_font_path):
11784         * device-x.c (Fx_set_font_path):
11785         * glyphs.c (bitmap_to_lisp_data):
11786         * glyphs.c (pixmap_to_lisp_data):
11787         * alloc.c (make_ext_string): Use coding system arguments.  Update
11788         all callers.
11789         * alloc.c (build_string):
11790         * callproc.c (child_setup):
11791         * callproc.c (init_callproc):
11792         * fileio.c (lisp_strerror):
11793         * fileio.c (directory_file_name):
11794         * fileio.c (Fexpand_file_name):
11795         * fileio.c (Ffile_truename):
11796         * fileio.c (Fsysnetunam):
11797         * fileio.c (Fdo_auto_save):
11798         * sysdep.c (sys_readdir):
11799         * tests.c: New file.  Allow adding C tests.
11800         Replace GET_* macros with a more comprehensible and flexible
11801         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11802         Modify all calls.
11803         Any coding system can be used to do format conversion.
11804         Eliminate enum external_data_format.
11805         Eliminate convert_to_external_format.
11806         Eliminate convert_to_internal_format.
11807         Make sure file-name, keyboard, terminal, and ctext are always
11808         defined as coding systems or aliases.  Make
11809         file-name-coding-system, terminal-coding-system, and
11810         keyboard-coding-system magical variables that are equivalent to
11811         defining the corresponding coding system aliases.
11812
11813         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11814         * file-coding.c (Fcoding_system_alias_p): New function.
11815         * file-coding.c (Fcoding_system_aliasee): New function.
11816         * file-coding.c (append_suffix_to_symbol): New function.
11817         * file-coding.c (dangling_coding_system_alias_p): New function.
11818         * file-coding.c (Ffind_coding_system):
11819         * file-coding.c (Fcopy_coding_system):
11820         * file-coding.c (encode_coding_no_conversion):
11821         * file-coding.c (syms_of_file_coding):
11822         * file-coding.c (vars_of_file_coding):
11823         Rewrite coding system alias code.
11824         Allow nested aliases, like symbolic links.
11825         Allow redefinition of coding system aliases.
11826         Prevent existence of dangling coding system aliases.
11827
11828         * dired.c (Fuser_name_completion_1):
11829         * dired.c (Fuser_name_all_completions):
11830         A crash would happen if user did QUIT in the middle of building
11831         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11832
11833         * lisp.h:
11834         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11835
11836         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11837         an unsigned char *.  Update all callers.
11838
11839 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11840
11841         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11842
11843 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11844
11845         * elhash.c (hentry_description): Use more portable definition.
11846         (resize_hash_table): Initialize new hentries using
11847         xnew_array_and_zero, thereby simplifying the code.
11848
11849         * mule-charset.c (make_charset): Make sure entire object is
11850         initialized, to avoid Purify warnings.
11851
11852         * alloc.c (resize_string): Fix unlikely crash with big strings.
11853
11854 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11855
11856         * realpath.c (xrealpath):
11857         Don't call getwd().
11858
11859 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11860
11861         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11862
11863 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11864
11865         * unexelfsgi.c (unexec): Change the way we decide which segment
11866         should be extended.
11867
11868         Assumption that .bss section should be outside the PT_LOADable
11869         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11870         it's present) is inside the 'data' segment. This would fail the
11871         test which was used to find a segment to grow and cover new
11872         heap. Instead of this assumption, I created another one - on IRIX
11873         the segment to grow should start below .bss and it's address
11874         should extent above the end of .bss. Once this segment is
11875         identified, it's grown to accommodate the new heap and new
11876         zero-length .bss section is added at the end of .data2.
11877
11878 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11879
11880         * eval.c (Feval): Wrong number of arguments should use original
11881         function, not the indirect_function version of it.
11882
11883 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11884
11885         * glyphs-x.c (x_button_instantiate): Don't add image if
11886         it is not a pixmap.
11887         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11888         is relative.
11889
11890 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11891
11892         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11893         declaration.
11894         (DEFVAR_INT_MAGIC): Ditto.
11895         (DEFVAR_BOOL_MAGIC): Ditto.
11896         * glyphs.h: Reindent backslash.
11897
11898 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11899
11900         * glyphs-widget.c (layout_query_geometry):
11901         (layout_layout): Use correct types for gheight, gwidth.
11902
11903 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11904
11905         * EmacsManager.c (QueryGeometry): Purified.
11906
11907 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11908
11909         * alloc.c (make_float): Make sure entire object is initialized, to
11910         avoid Purify warnings.
11911         (pdump_register_sub): Remove useless assignment.
11912         (pdump): Use xmalloc, not malloc.
11913         (pdump_load): Use xmalloc, not malloc.
11914
11915 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11916
11917         * callproc.c:
11918         * dired-msw.c:
11919         * fileio.c:
11920         * process-nt.c:
11921         * redisplay-msw.c:
11922         * sysdep.c: Removed redundant #include <windows.h>
11923
11924 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11925
11926         * frame.c (delete_frame_internal): Do not delete device when its
11927         implementation so declares.
11928         (delete_frame_internal): Set device selected frame to nil when
11929         last frame goes away.
11930
11931         * device-msw.c (msprinter_device_system_metrics): Implemented.
11932         (mswindows_device_system_metrics): Added 'device-dpi property.
11933
11934         * device.c: (Fdevice_printer_p): Added.
11935         Added 'offset-workspace device metric.
11936
11937         * console.h (device_metrics): Declared DM_offset_workspace.
11938
11939 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11940
11941         * fileio.c (Ffile_truename): Remove pointless and confusing
11942         initialization of elen.
11943
11944         * glyphs-widget.c: Compiler warning fixes.
11945
11946 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11947
11948         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11949         instead of a Lisp_Object as argument to make it consistent with
11950         the other LIVE_P macros.
11951         (CHECK_LIVE_PROCESS): New macro.
11952
11953         * process.c: Declare Qprocess_live_p.
11954         (Fprocess_live_p): New function.
11955         (create_process): Use PROCESS_LIVE_P.
11956         (read_process_output): Ditto.
11957         (set_process_filter): Ditto.
11958         (Fdelete_process): Ditto.
11959         (kill_buffer_processes): Ditto
11960         (process_send_signal): Use CHECK_LIVE_PROCESS.
11961         (Fprocess_input_coding_system): Check whether process is still
11962         alive (fix PR#1061).
11963         (Fprocess_output_coding_system): Ditto.
11964         (Fprocess_coding_system): Ditto.
11965         (Fset_process_input_coding_system): Ditto.
11966         (Fset_process_output_coding_system): Ditto.
11967
11968 2000-01-23  Andy Piper  <andy@xemacs.org>
11969
11970         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11971         layout and widget.
11972
11973         * glyphs.c (mark_image_instance): take into account changed
11974         image_instance format.
11975         (image_instance_equal): ditto.
11976         (image_instance_hash): ditto.
11977
11978         * glyphs-widget.c (widget_instantiate): Incorporate layout
11979         instantiation here. Delay layout of the layout until later.
11980         (layout_instantiate): deleted.
11981         (layout_query_geometry): new function. get the geometry of a
11982         layout.
11983         (layout_layout): layout a layout dynamically.
11984         (image_instantiator_widget): New function - splitting up
11985         image_instantiator_format_create_glyphs_widget for netwinder
11986         compilation.
11987         (image_instantiator_buttons):
11988         (image_instantiator_edit_fields):
11989         (image_instantiator_combo_box):
11990         (image_instantiator_scrollbar):
11991         (image_instantiator_progress_guage):
11992         (image_instantiator_tree_view):
11993         (image_instantiator_tab_control):
11994         (image_instantiator_labels):
11995         (image_instantiator_layout): ditto.
11996         (image_instantiator_format_create_glyphs_widget): Call preceding
11997         functions.
11998
11999 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12000
12001         * process.c (Fset_process_coding_system):
12002         * device-x.c (Fx_keysym_hash_table):
12003         Docstring fixes.
12004
12005         * lstream.c (Lstream_write): Return documented value, not 0.
12006
12007         * fileio.c (directory_file_name):
12008         (Fsubstitute_in_file_name):
12009         (Fsubstitute_insert_file_contents_internal):
12010         (Fwrite_region_internal):
12011         * emacs.c:
12012         * sysdep.c:
12013         * getloadavg.c:
12014         * systty.h:
12015         Remove vestigial APOLLO-conditional code.
12016
12017 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12018
12019         * getpagesize.h: Add guard macros.
12020         * libsst.h: Add guard macros.
12021         * libst.h: Add guard macros.
12022         * line-number.h: Add guard macros.
12023         * ndir.h: Add guard macros.
12024         * sysfloat.h: Add guard macros.
12025         * sysfile.h: Add guard macros.
12026         * sysproc.h: Add guard macros.
12027         * syswait.h: Add guard macros.
12028         * xintrinsic.h: Add guard macros.
12029         * xintrinsicp.h: Add guard macros.
12030         * xmmanager.h: Add guard macros.
12031         * xmmanagerp.h: Add guard macros.
12032         * xmprimitive.h: Add guard macros.
12033         * xmu.h: Add guard macros.
12034         * gpmevent.h: Add copyright statement. Add guard macros.
12035         * miscplay.h: Add guard macros.
12036         * *.h: Use consistent C-standards-approved guard macro names.
12037
12038         * opaque.c (make_opaque): Switch parameter order.
12039         * opaque.h (make_opaque): Switch parameter order.
12040         Update all callers.
12041         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12042
12043         * config.h.in (type_checking_assert): Added.
12044         (bufpos_checking_assert): Added.
12045
12046 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12047
12048         * alloc.c: Harmless pdump changes.
12049         - Use countof().
12050         - spell alignment correctly.
12051         * sysdep.c: Use countof()
12052
12053 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12054
12055         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12056         initially_selected_for_input() console method, default to 0.
12057         (semi_canonicalize_console_connection): Try to delegate to
12058         canonicalize_console_connection if no such console method.
12059         (canonicalize_console_connection): Vice versa.
12060         (print_console): Do not print nil connection.
12061
12062         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12063         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12064         (XDEVIMPF_FRAMELESS_OK): Added.
12065         (CONSOLE_INHERITS_METHOD): Added.
12066
12067         * console-msw.c (mswindows_canonicalize_console_connection):
12068         Added.
12069         (mswindows_canonicalize_device_connection): Added.
12070
12071         * console-msw.h (struct msprinter_device): Added this struct and
12072         accessor macros.
12073         (mswindows_device): Made fontlist a lisp object.
12074
12075         * device.c (semi_canonicalize_device_connection):  Try to delegate
12076         to canonicalize_device_connection if no such console method.
12077         (canonicalize_device_connection): Vice versa.
12078         (print_device): Do not print nil connection.
12079
12080         * device-msw.c (mswindows_init_device): Call InitCommonControls
12081         when have widgets.
12082         (mswindows_delete_device): Removed fontlist deallocation.
12083         (mswindows_mark_device): Added.
12084
12085         * events.c (event_equal): Added abort() at unreached code.
12086         (event_hash): Ditto.
12087
12088         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12089         fallback tags of Windows devices.
12090
12091         * general.c (syms_of_general): Initialized Qmsprinter.
12092
12093         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12094         of fallback tags of Windows devices.
12095
12096         * lisp.h: Declared Qmsprinter.
12097
12098         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12099         of strings.
12100         (mswindows_list_fonts): Ditto.
12101         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12102         that it can be used by both mswindows and msprinter devices.
12103         (initialize_font_instance): Added.
12104         (mswindows_initialize_font_instance): Use it.
12105         (msprinter_initialize_font_instance): Added.
12106
12107         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12108         and implementation flags check.
12109         (redisplay_without_hooks): Changed the call to the above.
12110         (Fredraw_device): Ditto.
12111         (Fredisplay_device): Ditto.
12112
12113         * redisplay-msw.c (get_frame_dc): Implemented.
12114         (get_frame_compdc): Implemented.
12115         (many functions): Use the two functions above to get device
12116         contexts, ether for a window or a printer.
12117
12118 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12119
12120         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12121         initialization here.
12122         (init_symbols_once_early): Call it.
12123         * emacs.c (main_1): Call it.
12124         * symsinit.h: Declare it.
12125
12126 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12127
12128         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12129         Lisp_Object.
12130         (pdump_backtrace): Ditto.
12131         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12132         (pdump_get_entry): Abort if trying to register a null pointer.
12133         (pdump_dump_data): Cleanup types when relocating.
12134         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12135         (pdump_dump_rtables): Remove bad casts.
12136         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12137         Lisp_Object instead of a EMACS_INT for the hashtable
12138         reorganization.
12139
12140 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12141
12142         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12143
12144         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12145
12146         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12147
12148         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12149
12150 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12151
12152         * faces.h (FACE_STRIKETHRU_P): Added.
12153
12154         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12155         of font variants.
12156
12157         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12158         (mswindows_set_dc_font): New function, aware of font variants,
12159         separated from mswindows_update_dc.
12160
12161         * objects-msw.h (struct mswindows_font_instance_data): Added
12162         definition.
12163
12164         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12165         cached fonts and the data structure.
12166         (mswindows_initialize_font_instance): Added creation of font data
12167         structure.
12168         (mswindows_print_font_instance): Print at least something.
12169         (mswindows_create_font_variant): Implemented.
12170         (mswindows_get_hfont): Implemented.
12171
12172 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12173
12174         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12175         prototyping problem with msvc.
12176
12177         * emacs.c (main_1): added syms_of_gui_mswindows() call
12178
12179         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12180         syms_of_gui_mswindows() function
12181
12182         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12183
12184 2000-01-18  Martin Buchholz <martin@xemacs.org>
12185
12186         * XEmacs 21.2.27 is released.
12187
12188 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12189
12190         * glyphs-eimage.c (struct tiff_error_struct):
12191         (tiff_error_func):
12192         (tiff_warning_func):
12193         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12194
12195         * unexmips.c:
12196         * unexhp9k3.c:
12197         * unexfreebsd.c:
12198         * unexec.c: Remove vestigial Lucid C code.
12199         * unexalpha.c:
12200         * unexaix.c:
12201         * termcap.c:
12202         * libsst.c: Ansify.
12203         Remove declarations of errno and strerror().
12204
12205         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12206
12207         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12208
12209 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12210
12211         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12212         Optimize.
12213
12214 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12215
12216         * md5.c:
12217         * file-coding.c:
12218         * file-coding.h:
12219         Change enum eol_type to eol_type_t.
12220
12221 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12222
12223         * gui.c (get_gui_callback): Check cons before accessing car.
12224
12225 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12226
12227         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12228         (XSETSPECIFIER_TYPE): Ditto.
12229
12230 2000-01-17  Didier Verna  <didier@xemacs.org>
12231
12232         * redisplay.c (generate_fstring_runes): compute string size in
12233         characters, not bytes.
12234
12235 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12236
12237         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12238
12239 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12240
12241         * print.c (print_error_message): Call print_prepare().
12242
12243 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12244
12245         * .dbxrc: Renamed from dbxrc.
12246
12247         * events.c (event_to_character):
12248         Use `assert (foo)' instead of `if (!foo) abort()'
12249
12250         * .gdbinit (xtype): Add documentation.
12251         * .gdbinit (check-temacs): New function.
12252         * .gdbinit (check-xemacs): New function.
12253         * dbxrc (check-xemacs): New function.
12254         * dbxrc (check-xemacs): New function.
12255
12256 2000-01-14  Andy Piper  <andy@xemacs.org>
12257
12258         * glyphs-widget.c (widget_query_geometry): Make sure that we
12259         calculate default dimensions correctly.
12260
12261 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12262
12263         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12264
12265         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12266         pdump_wire'd variable.
12267
12268         * emacs.c: (main_1): Conditionalized calls to
12269         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12270
12271 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12272
12273         * window.c (Fset_window_configuration):
12274         * sysdep.c (_start):
12275         * input-method-motif.c (res):
12276         * event-Xt.c (Xt_process_to_emacs_event):
12277         Simple compiler warning fixes.
12278
12279         * bytecode.c (funcall_compiled_function): Use the original
12280         function symbol on the backtrace list in preference to the
12281         compiled_function object in error messages.
12282
12283 2000-01-13  Andy Piper  <andy@xemacs.org>
12284
12285         * glyphs-x.c (update_widget_face): Make sure we update the widget
12286         background as well as foreground.
12287
12288 2000-01-13  Andy Piper  <andy@xemacs.org>
12289
12290         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12291         fields to subwindow.
12292         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12293         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12294         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12295         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12296
12297         * glyphs-widget.c (check_valid_tab_orientation): new function.
12298         (initialize_widget_image_instance): zero orientation and
12299         justification.
12300         (widget_instantiate): pick up orientation.
12301         (tab_control_query_geometry): return appropriate values for
12302         vertical tabs.
12303
12304         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12305         appropriate creation flags for left, right and bottom tabs.
12306
12307         * s/cygwin32.h: add tab definitions.
12308
12309 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12310
12311         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12312         frame upon hiding a subwindow.
12313         (mswindows_button_instantiate): Changed the push button style to
12314         BS_PUSHBUTTON.
12315         (mswindows_button_instantiate): Removed button BS_NOTIFY
12316         style.
12317         (mswindows_button_instantiate): Removed redundant check for
12318         a disabled gui item.
12319         (mswindows_button_instantiate): Made use of WS_TABSTOP
12320         consistent: "operable" controls (edit, button, tree, scroll) have
12321         this style, "display-only" ones (static, progress gauge) do
12322         not. This style is currently ignored by XEmacs though. Also,
12323         removed the WS_EX_CONTROLPARENT style - it is not for children,
12324         it is for their parents!
12325         (mswindows_edit_field_instantiate): Ditto.
12326         (mswindows_progress_gauge_instantiate): Ditto.
12327         (mswindows_tree_view_instantiate): Ditto.
12328         (mswindows_tab_control_instantiate): Ditto.
12329         (mswindows_scrollbar_instantiate): Ditto.
12330         (mswindows_combo_box_instantiate): Ditto.
12331         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12332         style to the "clip" window.
12333         (mswindows_button_instantiate): Removed compilation warning by
12334         equally typing terms of the ?: operator.
12335
12336 2000-01-12  Didier Verna  <didier@xemacs.org>
12337
12338         * redisplay.c (generate_fstring_runes): new parameter holding the
12339         last modeline-format extent.
12340         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12341         extent, fill the glyph block with it.
12342         (generate_fstring_runes): handle these parameters.
12343         (generate_formatted_string_db): ditto.
12344
12345         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12346         glyphs'extents in the modeline.
12347
12348 1999-01-11  Mike Woolley  <mike@bulsara.com>
12349
12350         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12351         256Mb, as a workaround for the non-starting problem many people
12352         have experienced.
12353
12354 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12355
12356         * console-tty.c (Fset_console_tty_output_coding_system):
12357         Force redrawing tty frame.
12358
12359 2000-01-10  Didier Verna  <didier@xemacs.org>
12360
12361         * redisplay.c (generate_fstring_runes): fix size computation bug.
12362
12363 2000-01-09  William M. Perry <wmperry@aventail.com>
12364
12365         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12366
12367 2000-01-09  Andy Piper  <andy@xemacs.org>
12368
12369         * glyphs-msw.c: index -> i to avoid shadows.
12370         (xbm_create_bitmap_from_data): make static.
12371         (check_valid_string_or_int): deleted.
12372         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12373
12374         * glyphs-x.c (x_update_subwindow): remove unused args.
12375
12376         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12377         back pointer - this is done in allocate_image_instance.
12378         (query_string_font): return Qnil to make the compiler happy.
12379         (unmap_subwindow): set to ~0 to make the compiler happy.
12380         (glyph_query_geometry): comment out until used.
12381         (glyph_layout): ditto.
12382
12383 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12384
12385         * insdel.c (signal_after_change): Remove extraneous unbind_to().