8d188270f50afb67fe12f917c71523391c053fbf
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Fencode_char): Reverse arguments.
4
5         * mule-charset.c (charset_code_point): Fixed.
6
7 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * mule-charset.c (Vcharset_mojikyo): Deleted.
10         (Vcharset_mojikyo_2022_1): Deleted.
11         (Vcharset_mojikyo_pj_{1..21}): Deleted.
12         (Qmin_code): New variable in UTF-2000.
13         (Qmax_code): Likewise.
14         (Qmother): Likewise.
15         (Qconversion): Likewise.
16         (Q94x60): Likewise.
17         (Qmojikyo): Deleted.
18         (Qmojikyo_2022_1): Deleted.
19         (Qmojikyo_pj_{1..22}): Deleted.
20         (mark_charset): Mark `cs->mother'.
21         (charset_description): Add description for `mother'.
22         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
23         new arguments `mother' and `conversion'; use
24         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
25         (charset_code_point): Moved from char-ucs.h; support `mother'
26         charset feature.
27         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
28         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
29         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
30         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
31         allow 2 as the value of `graphic' in UTF-2000; add new properties
32         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
33         require `final' in UTF-2000; modify for `make_charset'.
34         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
35         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
36         (Fcharset_property): Support `mother', `min-code' and `max-code'.
37         (Fencode_char): New function.
38         (syms_of_mule_charset): Add new builtin function `encode-char' in
39         UTF-2000; add new symbols `min-code', `max-code', `mother',
40         `conversion' and `94x60'; delete symbols `mojikyo',
41         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
42         (complex_vars_of_mule_charset): Modify for `make_charset' change;
43         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
44         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
45
46         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
47         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
48
49         * char-ucs.h (Vcharset_mojikyo): Deleted.
50         (Vcharset_mojikyo_2022_1): Deleted.
51         (LEADING_BYTE_MOJIKYO): Deleted.
52         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
53         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
54         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
55         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
56         add new member `mother'; add new member `conversion'.
57         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
58         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
59         (CHARSET_MOTHER): New macro.
60         (CHARSET_CONVERSION): New macro.
61         (CONVERSION_IDENTICAL): New macro.
62         (CONVERSION_94x60): New macro.
63         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
64         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
65         (XCHARSET_MOTHER): New macro.
66         (XCHARSET_CONVERSION): New macro.
67         (MIN_CHAR_MOJIKYO): Deleted.
68         (MAX_CHAR_MOJIKYO): Deleted.
69         (DECODE_MOJIKYO_2022): Deleted.
70         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
71         (charset_code_point): Changed to non-inline function.
72         (encode_char_1): Use `charset_code_point'.
73         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
74
75 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
76
77         * lread.c (read_compiled_function): Fix prototype.
78         (read_vector): Likewise.
79
80 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * lrecord.h (struct lrecord_header): Delete `older'.
83         (set_lheader_implementation): Delete code for `older'.
84         (set_lheader_older_implementation): Deleted.
85         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
86         (OLDER_RECORD_P): Deleted.
87         (OLDER_RECORD_HEADER_P): Deleted.
88         (alloc_older_lcrecord): Deleted.
89         (alloc_older_lcrecord_type): Deleted.
90
91         * alloc.c (all_older_lcrecords): Deleted.
92         (alloc_older_lcrecord): Deleted.
93         (disksave_object_finalization_1): Delete code for older objects.
94         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
95         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
96
97 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * mule-charset.c (decoding_table_put_char): Use `make_vector'
100         instead of `make_older_vector'.
101         (put_char_ccs_code_point): Likewise.
102         (mark_charset): Mark `cs->decoding_table'.
103         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
104
105         * lisp.h (make_older_vector): Deleted.
106         (make_vector_newer): Deleted.
107
108         * config.h.in (HAVE_GGC): Deleted.
109
110         * alloc.c (make_older_vector): Deleted.
111         (make_vector_newer_1): Deleted.
112         (make_vector_newer): Deleted.
113
114 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
117         (Qideograph_daikanwa_2): New variable.
118         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
119         (complex_vars_of_mule_charset): Add new coded-charset
120         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
121         `LEADING_BYTE_DAIKANWA'.
122
123         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
124         (LEADING_BYTE_DAIKANWA_1): New macro.
125         (LEADING_BYTE_DAIKANWA_2): New macro.
126         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
127
128 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * mule-charset.c (complex_vars_of_mule_charset): Change
131         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
132         the second revised version.
133
134 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * mule-charset.c (Vcharset_ucs_smp): New variable.
137         (Vcharset_ucs_sip): New variable.
138         (Qucs_smp): New variable.
139         (Qucs_sip): New variable.
140         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
141         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
142         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
143         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
144         `ucs-bmp'; addn new coded-charset `ucs-smp' and `ucs-sip'; change
145         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
146
147         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
148         (LEADING_BYTE_UCS_SIP): New macro.
149         (MIN_CHAR_SMP): New macro.
150         (MAX_CHAR_SMP): New macro.
151         (MIN_CHAR_SIP): New macro.
152         (MAX_CHAR_SIP): New macro.
153
154 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
155
156         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
157         utf-2000.
158
159 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
162         value; don't store value into `encoding_table' of `Lisp_Charset'.
163         (mark_charset): `encoding_table' was deleted.
164         (charset_description): Likewise.
165         (make_charset): Likewise.
166         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
167         `put_char_ccs_code_point'.
168
169         * chartab.h (Fput_char_attribute): New EXFUN.
170
171         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
172         is unified with normal symbol space.
173         (Fget_char_attribute): Likewise.
174         (Fput_char_attribute): Likewise; behavior of
175         `put_char_ccs_code_point' is changed.
176
177         * char-ucs.h: Include "elhash.h".
178         (Vchar_attribute_hash_table): New external variable.
179         (struct Lisp_Charset): Delete `encoding_table'.
180         (CHARSET_ENCODING_TABLE): New implementation; refer
181         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
182         `Lisp_Charset'.
183
184 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
187         (cs) == 0.
188
189 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * text-coding.c (char_encode_big5): Prefer charset-g1 than
192         `chinese-big5'.
193
194 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * chartab.c (uint8_byte_table_description): New constant.
197         (uint8-byte-table): Use `uint8_byte_table_description'.
198         (uint16_byte_table_description): New constant.
199         (uint16-byte-table): Use `uint16_byte_table_description'.
200
201 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
204         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
205
206 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * mule-charset.c (Vcharset_ucs_ks): New variable.
209         (Qucs_ks): New variable.
210         (syms_of_mule_charset): Add new symbol `ucs-ks'.
211         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
212
213         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
214
215 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
218         (Fdecode_char): Likewise.
219
220         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
221         chartab.h.
222         (Fdefine_char): Modify for Fdecode_char.
223         (Ffind_char): Likewise.
224
225         * mule-charset.c (Fdecode_char): Add new optional argument
226         `defined-only'.
227         (Fdecode_builtin_char): Modify for `Fdecode_char'.
228
229 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
230
231         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
232         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
233         (allocate_coding_system): Initialize initial-charsets of
234         CODESYS_BIG5 in XEmacs UTF-2000.
235         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
236         CODESYS_BIG5 in XEmacs UTF-2000.
237         (decode_coding_big5): Use initial-charset-g0 and -g1 of
238         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
239
240         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
241         variables.
242         (Qideograph_hanziku_{1 .. 12}): Likewise.
243         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
244         .. 12}'.
245         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
246         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
247         `ideograph-hanziku-{1 .. 12}'.
248
249         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
250         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
251         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
252         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
253         (DECODE_DEFINED_CHAR): New inline function.
254         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
255
256 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * mule-charset.c (Vcharset_china3_jef): Renamed from
259         `Vcharset_japanese_jef_china3'.
260         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
261         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
262         `{MIN|MAX}_CHAR_JEF_CHINA3'..
263         (syms_of_mule_charset): Rename `china3-jef' from
264         `japanese-jef-china3'.
265         (complex_vars_of_mule_charset): Likewise; rename
266         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
267
268         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
269         `LEADING_BYTE_JEF_CHINA3'.
270         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
271         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
272
273 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * mule-charset.c (encode_builtin_char_1): Comment out special code
276         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
277
278         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
279         (MAX_CHAR_MOJIKYO_0): Comment out.
280         (MIN_CHAR_CBETA): Changed to 0x00E20000.
281         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
282         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
283         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
284
285 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
286
287         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
288         (Qideograph_cbeta): New variable.
289         (encode_builtin_char_1): Comment out special code for
290         coded-charset `mojikyo' and `japanese-jef-china3'.
291         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
292         (complex_vars_of_mule_charset): Add new coded-charset
293         `ideograph-cbeta'.
294
295         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
296         (MIN_CHAR_CBETA): New macro.
297         (MAX_CHAR_CBETA): New macro.
298
299 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
302         (LEADING_BYTE_JEF_CHINA3): New macro.
303         (MIN_CHAR_JEF_CHINA3): New macro.
304         (MAX_CHAR_JEF_CHINA3): Likewise.
305         (DECODE_CHAR): Fixed.
306
307 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
308
309         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
310         (Qjapanese_jef_china3): New variable.
311         (encode_builtin_char_1): Support `japanese-jef-china3'.
312         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
313         (complex_vars_of_mule_charset): Add new coded-charset
314         `japanese-jef-china3'.
315
316 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
319         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
320         94^4, 96^3, 96^4, 128^n and 256^n set.
321         (put_char_table): Use `XCHARSET_CELL_RANGE'.
322         (map_char_table): Likewise.
323
324 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
327         UTF-2000.
328
329 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * chartab.h (get_char_id_table): New inline function.
332
333         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
334         function.
335
336 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * chartab.h (decode_char_table_range): New prototype in XEmacs
339         UTF-2000.
340         (put_char_id_table): New inline function in XEmacs UTF-2000.
341
342         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
343         function.
344         (decode_char_table_range): Delete static declaration in XEmacs
345         UTF-2000.
346
347 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
348
349         * chartab.c (put_char_id_table): Use `put_char_table'.
350
351 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
352
353         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
354         (map_over_uint16_byte_table): Likewise.
355         (map_over_byte_table): Likewise.
356         (map_char_table): Modify for `map_over_uint8_byte_table',
357         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
358         UTF-2000.
359
360 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * chartab.c (struct map_char_table_for_charset_arg): New
363         structure.
364         (map_char_table_for_charset_fun): New function.
365         (map_char_table): Use `map_char_table' for encoding_table of
366         `range->charset'.
367
368 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * chartab.c (map_char_table): Check a character is found in
371         range->charset instead of non default value is defined in
372         char-table when range is CHARTAB_RANGE_ROW.
373
374 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * chartab.c (map_char_id_table): Deleted.
377         (Fmap_char_attribute): Use `map_char_table' instead of
378         `map_char_id_table'.
379
380 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
383         UTF-2000.
384         (update_syntax_table): Deleted in XEmacs UTF-2000.
385
386         * syntax.c (find_defun_start): Use `syntax_table' instead of
387         `mirror_syntax_table' in XEmacs UTF-2000.
388         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
389         UTF-2000.
390         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
391         XEmacs UTF-2000.
392         (Fmatching_paren): Likewise.
393         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
394         in XEmacs UTF-2000.
395         (find_start_of_comment): Likewise.
396         (find_end_of_comment): Likewise.
397         (Fforward_comment): Likewise.
398         (scan_lists): Likewise.
399         (char_quoted): Likewise.
400         (Fbackward_prefix_chars): Likewise.
401         (scan_sexps_forward): Likewise.
402         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
403         (update_syntax_table): Likewise.
404
405         * search.c (skip_chars): Use `syntax_table' instead of
406         `mirror_syntax_table' in XEmacs UTF-2000.
407         (wordify): Likewise.
408         (Freplace_match): Likewise.
409
410         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
411         `mirror_syntax_table' in XEmacs UTF-2000.
412         (WORDCHAR_P_UNSAFE): Likewise.
413         (re_match_2_internal): Likewise.
414
415         * font-lock.c (find_context): Use `buf->syntax_table' instead of
416         `buf->mirror_syntax_table' in XEmacs UTF-2000.
417
418         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
419         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
420
421         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
422         XEmacs UTF-2000.
423
424         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
425         UTF-2000.
426         (print_char_table): Print `default_value' in XEmacs UTF-2000.
427         (char_table_description): Delete `mirror_table' in XEmacs
428         UTF-2000.
429         (fill_char_table): Don't call `update_syntax_table' in XEmacs
430         UTF-2000.
431         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
432         (Fcopy_char_table): Likewise.
433         (put_char_table): Don't call `update_syntax_table' in XEmacs
434         UTF-2000.
435
436         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
437         `buf->mirror_syntax_table' in XEmacs UTF-2000.
438         (casify_region_internal): Likewise.
439
440         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
441
442         * buffer.c (common_init_complex_vars_of_buffer): Don't use
443         `mirror_syntax_table' in XEmacs UTF-2000.
444
445         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
446         `buf->mirror_syntax_table' in XEmacs UTF-2000.
447         (Fexpand_abbrev): Likewise.
448
449 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
450
451         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
452
453 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
456         (map_over_uint16_byte_table): Likewise.
457         (map_over_byte_table): Likewise.
458         (get_char_id_table): Refer `cit->default_value'.
459         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
460         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
461         of character-id ranges.
462         (mark_char_table): Mark `ct->default_value'.
463         (char_table_description): Add `default_value'.
464         (fill_char_table): Use `default_value'.
465         (decode_char_table_range): Decode `nil' as
466         `CHARTAB_RANGE_DEFAULT'.
467         (get_char_id_table): Refer `cit->default_value'.
468         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
469         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
470         temporary hack; check value of char-table is bound or not.
471         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
472
473         * chartab.h (struct Lisp_Char_Table): Add new member
474         `default_value' in XEmacs UTF-2000.
475         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
476         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
477         UTF-2000.
478
479 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * chartab.h (Lisp_Char_ID_Table): Deleted.
482
483         * chartab.c (char_table_description): Fix typo.
484         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
485         `Lisp_Char_ID_Table'.
486
487 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
490         `CHAR_ID_TABLE_P'.
491
492         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
493         `CHAR_ID_TABLE_P'.
494
495         * chartab.h (XCHAR_ID_TABLE): Deleted.
496         (XSETCHAR_ID_TABLE): Deleted.
497         (CHAR_ID_TABLE_P): Deleted.
498
499         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
500         `CHAR_ID_TABLE_P'.
501         (Fget_composite_char): Likewise.
502         (put_char_table): Likewise.
503         (add_char_attribute_alist_mapper): Fixed.
504         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
505         `CHAR_ID_TABLE_P'.
506         (Fget_char_attribute): Likewise.
507         (Fget_char_attribute): Likewise.
508         (Fmap_char_attribute): Likewise.
509
510         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
511         `CHAR_ID_TABLE_P'.
512         (encode_char_1): Likewise.
513
514 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
515
516         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
517         `XCHAR_ID_TABLE'.
518
519         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
520         instead of `XCHAR_ID_TABLE'.
521         (remove_char_ccs): Likewise.
522
523         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
524         `XCHAR_ID_TABLE'.
525         (Fget_composite_char): Likewise.
526         (Fchar_variants): Likewise.
527         (put_char_table): Likewise.
528         (add_char_attribute_alist_mapper): Likewise.
529         (Fchar_attribute_alist): Likewise.
530         (Fget_char_attribute): Likewise.
531         (Fput_char_attribute): Likewise.
532         (Fmap_char_attribute): Likewise.
533         (Fmap_char_attribute): Likewise.
534
535         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
536         `XCHAR_ID_TABLE'.
537         (encode_char_1): Likewise.
538
539 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
542         `Lisp_Char_ID_Table'.
543         (mark_char_id_table): Deleted.
544         (print_char_id_table): Likewise.
545         (char_id_table_equal): Likewise.
546         (char_id_table_hash): Likewise.
547         (char_id_table_description): Likewise.
548         (char_id_table): Likewise.
549         (make_char_id_table): Use `Fmake_char_table' and
550         `fill_char_table'.
551         (get_char_id_table): Use `Lisp_Char_Table' instead of
552         `Lisp_Char_ID_Table'.
553         (put_char_id_table): Likewise.
554         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
555         `XCHAR_ID_TABLE'.
556         (Fremove_char_attribute): Likewise.
557         (syms_of_chartab): Don't define type `char-id-table'.
558
559         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
560         (char_id_table): Likewise.
561         (GC_CHAR_ID_TABLE_P): Likewise.
562         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
563         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
564         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
565         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
566         (get_char_id_table): Use `Lisp_Char_Table' instead of
567         `Lisp_Char_ID_Table'.
568         (put_char_id_table_0): Likewise.
569         (put_char_id_table): Likewise.
570
571 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
572
573         * chartab.h: Lisp_Byte_Table related codes are moved from
574         chartab.h.
575
576         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
577
578 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
579
580         * chartab.h: Don't include "chartab.h".
581         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
582         (Lisp_Char_ID_Table): Likewise.
583         (char_id_table): Likewise.
584         (XCHAR_ID_TABLE): Likewise.
585         (XSETCHAR_ID_TABLE): Likewise.
586         (CHAR_ID_TABLE_P): Likewise.
587         (GC_CHAR_ID_TABLE_P): Likewise.
588         (get_char_id_table): Likewise.
589
590         * char-ucs.h: Include "chartab.h".
591         (struct Lisp_Char_ID_Table): Moved to chartab.h.
592         (Lisp_Char_ID_Table): Likewise.
593         (char_id_table): Likewise.
594         (XCHAR_ID_TABLE): Likewise.
595         (XSETCHAR_ID_TABLE): Likewise.
596         (CHAR_ID_TABLE_P): Likewise.
597         (GC_CHAR_ID_TABLE_P): Likewise.
598         (get_char_id_table): Likewise.
599
600 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
601
602         * chartab.c (copy_uint8_byte_table): New function.
603         (copy_uint16_byte_table): New function.
604         (copy_byte_table): New function.
605         (map_over_uint8_byte_table): Modify to avoid huge numbers of
606         characters to call.
607         (map_over_uint16_byte_table): Likewise.
608         (map_over_byte_table): Likewise.
609         (get_byte_table): Move prototype to chartab.h.
610         (put_byte_table): Likewise.
611         (put_char_id_table_0): Moved to chartab.h.
612         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
613         (char_table_entry_equal): Likewise.
614         (char_table_entry_hash): Likewise.
615         (char_table_entry_description): Likewise.
616         (char_table_entry): Likewise.
617         (make_char_table_entry): Likewise.
618         (copy_char_table_entry): Likewise.
619         (get_non_ascii_char_table_value): Likewise.
620         (map_over_charset_ascii): Likewise.
621         (map_over_charset_control_1): Likewise.
622         (map_over_charset_row): Likewise.
623         (map_over_other_charset): Likewise.
624         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
625         (print_char_table): Likewise.
626         (char_table_equal): Likewise.
627         (char_table_hash): Likewise.
628         (char_table_description): Likewise.
629         (fill_char_table): Likewise.
630         (Fcopy_char_table): Likewise.
631         (get_char_table): Likewise.
632         (Fget_range_char_table): Likewise.
633         (put_char_table): Likewise.
634         (map_char_table): Likewise.
635         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
636         UTF-2000.
637
638 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
641         `Vauto_fill_chars' in XEmacs UTF-2000.
642
643         * chartab.h (get_byte_table): New prototype [moved from
644         chartab.c].
645         (put_byte_table): Likewise [moved from chartab.c].
646         (put_char_id_table_0): New inline function [moved from chartab.c].
647         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
648         (Lisp_Char_Table_Entry): Likewise.
649         (char_table_entry): Likewise.
650         (XCHAR_TABLE_ENTRY): Likewise.
651         (XSETCHAR_TABLE_ENTRY): Likewise.
652         (CHAR_TABLE_ENTRYP): Likewise.
653         (CHECK_CHAR_TABLE_ENTRY): Likewise.
654         (NUM_ASCII_CHARS): Likewise.
655         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
656         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
657
658 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * chartab.c (get_char_id_table): Change interface.
661         (put_char_id_table_0): New function.
662         (put_char_id_table): Change interface; new implementation.
663         (Fget_composite_char): Modify for interface change of
664         `get_char_id_table'.
665         (Fchar_variants): Likewise.
666         (add_char_attribute_alist_mapper): Likewise.
667         (Fchar_attribute_alist): Likewise.
668         (Fget_char_attribute): Likewise.
669         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
670         as same as character as the first argument like `put-char-table';
671         modify for interface change of `put_char_id_table'.
672         (Fremove_char_attribute): Modify for interface change of
673         `put_char_id_table'.
674
675 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
676
677         * text-coding.c: Sync up with XEmacs 21.2.41.
678         (COMPOSE_ADD_CHAR): Modify for interface change of
679         `get_char_id_table'.
680
681         * mule-charset.c (put_char_ccs_code_point): Modify for interface
682         change of `put_char_id_table'.
683         (remove_char_ccs): Likewise.
684
685         * chartab.h (put_char_id_table): Change interface.
686
687         * char-ucs.h (get_char_id_table): Change interface.
688         (charset_code_point): Modify for interface change of
689         `get_char_id_table'.
690         (encode_char_1): Likewise.
691
692 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
695         argument `ccs'.
696         (map_over_uint16_byte_table): Likewise.
697         (map_over_byte_table): Likewise.
698         (map_char_id_table): Add new argument `range' like
699         `map_char_table'.
700         (Fmap_char_attribute): Add new argument `range' like
701         `Fmap_char_table'.
702
703 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * chartab.c (map_over_uint8_byte_table): Change interface of
706         mapping function to use struct chartab_range instead of Emchar.
707         (map_over_uint16_byte_table): Likewise.
708         (map_over_byte_table): Likewise.
709         (map_char_id_table): Likewise.
710         (struct slow_map_char_id_table_arg): Deleted.
711         (slow_map_char_id_table_fun): Deleted.
712         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
713         function `slow_map_char_table_fun' instead of struct
714         `slow_map_char_id_table_arg' and function
715         `slow_map_char_id_table_fun'.
716
717 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
718
719         * mule-charset.c: Move char-it-table related codes to chartab.c.
720         (Vutf_2000_version): Moved to chartab.c.
721         (Fdefine_char): Likewise.
722         (Ffind_char): Likewise.
723         (syms_of_mule_charset): Move types `uint8-byte-table',
724         `uint16-byte-table', `byte-table' and `char-id-table' to
725         chartab.c; move functions `char_attribute_list,
726         `find_char_attribute_table, `char_attribute_alist,
727         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
728         `map_char_attribute, `define_char, `find_char, `char_variants and
729         `get_composite_char to chartab.c; move symbols `=>ucs',
730         `->decomposition', `compat', `isolated', `initial', `medial',
731         `final', `vertical', `noBreak', `fraction', `super', `sub',
732         `circle', `square', `wide', `narrow', `small' and `font' to
733         chartab.c.
734         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
735         setting codes for `Vcharacter_composition_table' and
736         `Vcharacter_variant_table' to chartab.c.
737         (complex_vars_of_mule_charset): Move setting code for
738         `Vchar_attribute_hash_table' to chartab.c.
739
740         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
741         (make_char_id_table): New prototype.
742         (put_char_id_table): Likewise.
743         (Fget_char_attribute): Likewise.
744
745         * chartab.c: Move char-id-table related code from mule-charset.c.
746         (Vutf_2000_version): Moved from mule-charset.c.
747
748         * char-ucs.h (Qucs): New external variable.
749         (put_char_ccs_code_point): New prototype.
750         (remove_char_ccs): Likewise.
751
752 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
753
754         * mule-charset.c (Vcharset_ucs_jis): New variable.
755         (Qucs_jis): Likewise.
756         (syms_of_mule_charset): Add new symbol `ucs-jis'.
757         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
758
759         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
760
761 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * mule-charset.c (map_over_uint8_byte_table): New function.
764         (map_over_uint16_byte_table): Likewise.
765         (map_over_byte_table): Likewise.
766         (map_char_id_table): Likewise.
767         (slow_map_char_id_table_fun): Likewise.
768         (Fmap_char_attribute): Likewise.
769         (syms_of_mule_charset): Add new function `map-char-attribute'.
770
771 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
774         (syms_of_mule_charset): Add new function `find-char'.
775
776 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
779         XEmacs UTF-2000.
780         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
781         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
782         XEmacs UTF-2000.
783         (complex_vars_of_mule_charset): Add new coded-charset
784         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
785         `ideograph-gt-pj-*'.
786
787         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
788
789 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
790
791         * mule-charset.c (encode_builtin_char_1): Purge codes about
792         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
793         {MIN|MAX}_CHAR_HEBREW.
794         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
795         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
796
797         * char-ucs.h (MIN_CHAR_GREEK): Purged.
798         (MAX_CHAR_GREEK): Purged.
799         (MIN_CHAR_CYRILLIC): Purged.
800         (MAX_CHAR_CYRILLIC): Purged.
801         (MIN_CHAR_HEBREW): Commented out.
802         (MAX_CHAR_HEBREW): Likewise.
803
804 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
805
806         * mule-charset.c (Qto_ucs): New variable.
807         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
808         (Fdefine_char): Likewise.
809         (syms_of_mule_charset): Add new symbol `=>ucs'.
810
811 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
812
813         * mule-charset.c (Fdecode_char): Fixed.
814
815 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
818         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
819         "tcvn5712-1".
820
821 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * mule-charset.c (Vcharset_ucs_big5): New variable.
824         (Qucs_big5): Likewise.
825         (syms_of_mule_charset): Add new symbol `ucs-big5'.
826         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
827
828         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
829
830 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
831
832         * mule-charset.c (decode_builtin_char): Check Big5 code range
833         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
834
835 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
836
837         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
838         (Qchinese_gb12345): Likewise.
839         (Fdecode_builtin_char): Fixed.
840         (syms_of_mule_charset): Add `chinese-gb12345'.
841         (complex_vars_of_mule_charset): Add coded-charset
842         `chinese-gb12345'.
843
844         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
845         (LEADING_BYTE_CHINESE_GB12345): New macro.
846
847 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
848
849         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
850         and `latin-viscii-upper' for `latin-viscii'.
851
852 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
853
854         * mule-charset.c (Fdecode_builtin_char): Comment out
855         regularization code for ISO-IR GR representation.
856
857 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
858
859         * mule-charset.c (decode_builtin_char): New function; renamed from
860         `make_builtin_char'; return -1 instead of signal.
861         (Fdecode_builtin_char): Use `decode_builtin_char'.
862
863         * char-ucs.h (decode_builtin_char): New prototype; renamed from
864         `make_builtin_char'.
865         (DECODE_CHAR): Use `decode_builtin_char' instead of
866         `make_builtin_char'; use mapping table of `chinese-big5' for
867         `chinese-big5-{1,2}'.
868
869 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
870
871         * text-coding.c (char_encode_big5): New function.
872         (char_finish_big5): Likewise.
873         (reset_encoding_stream): Use `char_encode_big5' and
874         `char_finish_big5' for CODESYS_BIG5.
875         (mule_encode): Don't use `encode_coding_big5'.
876         (encode_coding_big5): Deleted.
877
878 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
881         0x81- in XEmacs UTF-2000.
882         (detect_coding_big5): Likewise.
883
884 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
885
886         * mule-charset.c (Fdefine_char): Don't use a CCS property to
887         generate character-id if the CCS property does not have
888         corresponding predefined character.
889         (make_builtin_char): Return -1 if corresponding predefined
890         character is not found.
891         (Fdecode_char): Return nil if corresponding character is not
892         found.
893         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
894         don't map to builtin ucs space.
895
896 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
899         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
900
901 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
902
903         * mule-charset.c (Vcharset_ideograph_gt): New variable.
904         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
905         (Qideograph_gt): Likewise.
906         (Qideograph_gt_pj_{1..11}): Likewise.
907         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
908         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
909         `ideograph-gt-pj-11'.
910         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
911         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
912         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
913
914         * char-ucs.h (LEADING_BYTE_GT): New macro.
915         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
916         (MIN_CHAR_GT): Likewise.
917         (MAX_CHAR_GT): Likewise.
918
919 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
920
921         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
922         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
923
924         * doprnt.c (unsigned_int_converters): Add `c'.
925         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
926
927         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
928         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
929         `MIN_CHAR_MOJIKYO'.
930         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
931         (MAX_CHAR_MOJIKYO_0): New macro.
932         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
933
934 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
935
936         * mule-charset.c (Fdefine_char): Delete cemented out code.
937         (encode_builtin_char_1): Modify for new allocation of builtin
938         Mojikyo characters.
939
940         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
941
942 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
943
944         * mule-charset.c (Vcharset_ucs_cns): New variable.
945         (Qucs_cns): New variable.
946         (syms_of_mule_charset): Add new symbol `ucs-cns'.
947         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
948
949 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
952
953 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
954
955         * search.c (search_buffer): Make `charset_base_code' as
956         character-id >> 6 to eliminate the corresponding last byte in
957         UTF-8 representation [I'm not sure it is right thing].
958         (boyer_moore): Likewise.
959
960 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
961
962         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
963         representation in MULE.
964
965 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * text-coding.c (Fmake_coding_system): Use
968         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
969         `EXTERNAL_PROPERTY_LIST_LOOP'.
970
971 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
972
973         * text-coding.c (decode_output_utf8_partial_char): New function.
974         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
975
976 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
977
978         * text-coding.c (decode_coding_utf8): Output original byte
979         sequence if it is broken; change order of conditions.
980
981         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
982         of conditions.
983
984         * mb-multibyte.h (BYTE_ASCII_P):
985         Use bit ops for char-signedness safety.
986         (BYTE_C0_P): Use bit ops for char-signedness safety.
987         (BYTE_C1_P): Use bit ops for char-signedness safety.
988
989         * character.h: (XCHAR_OR_CHAR_INT):
990         Always use inline function.
991         Remove redundant type checking assert() - XINT will abort quite
992         nicely.
993
994 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
995
996         * text-coding.c: (Fencode_shift_jis_char):
997         (Fencode_big5_char):
998         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
999         Replace 0 with '\0' when working with bytes.
1000         Replace initial "(" with "\(" in docstrings.
1001
1002         (Fmake_coding_system):
1003         When type is ccl and value is vector, register it with a proper
1004         symbol.  And checks whether the given ccl program is valid.
1005         (mule_decode): When calling ccl_driver, if src indicates
1006         NULL pointer, set an empty string instead.
1007         (mule_encode): Likewise.
1008
1009         (detect_eol_type):
1010         (detect_coding_sjis):
1011         (decode_coding_sjis):
1012         (detect_coding_big5):
1013         (decode_coding_big5):
1014         (detect_coding_ucs4):
1015         (decode_coding_ucs4):
1016         (detect_coding_utf8):
1017         (decode_coding_utf8):
1018         (detect_coding_iso2022):
1019         (decode_coding_iso2022):
1020         (decode_coding_no_conversion):
1021         (mule_decode):
1022         Make all detecting and decoding functions take an Extbyte * arg.
1023         (text_encode_generic):
1024         (encode_coding_big5):
1025         (encode_coding_no_conversion):
1026         (mule_encode):
1027         Make all encoding functions take a Bufbyte * arg.
1028         Use size_t instead of unsigned int for memory sizes.
1029         Only cast to unsigned char whenever dereferencing Extbyte *.
1030
1031         (struct lrecord_description fcd_description_1): Use countof.
1032         (complex_vars_of_file_coding):
1033         Use countof instead of sizeof.
1034         Use CHECK_NATNUM instead of CHECK_INT.
1035
1036 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1037
1038         * mule-charset.c (Fget_char_attribute): Add new optional argument
1039         `default-value'.
1040         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1041         (remove_char_ccs): Likewise.
1042
1043 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1044
1045         * text-coding.c (char_encode_shift_jis): New implementation in
1046         UTF-2000.
1047         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1048         ...)'.
1049
1050         * mule-charset.c (Vcharset_chinese_big5): New variable in
1051         UTF-2000.
1052         (Qchinese_big5): New variable in UTF-2000.
1053         (BIG5_SAME_ROW): New macro in UTF-2000.
1054         (make_builtin_char): Use builtin characters of
1055         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1056         characters of `Vcharset_chinese_big5'.
1057         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1058         (complex_vars_of_mule_charset): Add new coded-charset
1059         `chinese-big5' in UTF-2000.
1060
1061         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1062         (Vcharset_chinese_big5): New external variable declaration.
1063         (Vcharset_japanese_jisx0208_1990): Likewise.
1064
1065 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1068         function.
1069         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1070
1071 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1072
1073         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1074         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1075         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1076         `mojikyo-pj-*'.
1077
1078 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1079
1080         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1081
1082 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1083
1084         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1085         to 0.17.
1086
1087 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1088
1089         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1090         for `CHARSET_BY_ATTRIBUTES'.
1091         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1092         `CHARSET_BY_ATTRIBUTES'.
1093
1094         * text-coding.c (struct decoding_stream): Rename member `CH' to
1095         `CPOS'.
1096         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1097         (decode_coding_sjis): Likewise.
1098         (decode_coding_big5): Likewise.
1099         (decode_coding_ucs4): Likewise.
1100         (decode_coding_utf8): Likewise.
1101         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1102         `CHARSET_BY_ATTRIBUTES'.
1103         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1104         `str->counter'; decode 3, 4 bytes sets.
1105         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1106         sets.
1107         (decode_coding_no_conversion): Use `str->cpos' instead of
1108         `str->ch'.
1109
1110         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1111         (Qmojikyo_2022_1): New variable.
1112         (make_charset): Don't use `CHARSET_TYPE_*'.
1113         (range_charset_code_point): Support coded-charset
1114         `mojikyo-2022-1'.
1115         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1116         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1117         `CHARSET_BY_ATTRIBUTES'.
1118         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1119         `CHARSET_BY_ATTRIBUTES'.
1120         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1121         (complex_vars_of_mule_charset): Add new coded-charset
1122         `mojikyo-2022-1'.
1123
1124         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1125         interface; changed to inline function.
1126
1127         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1128         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1129         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1130         (CHARSET_TYPE_94): Deleted.
1131         (CHARSET_TYPE_94X94): Deleted.
1132         (CHARSET_TYPE_96): Deleted.
1133         (CHARSET_TYPE_96X96): Deleted.
1134         (CHARSET_TYPE_128): Deleted.
1135         (CHARSET_TYPE_128X128): Deleted.
1136         (CHARSET_TYPE_256): Deleted.
1137         (CHARSET_TYPE_256X256): Deleted.
1138         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1139         to inline function.
1140         (DECODE_MOJIKYO_2022): New inline function.
1141         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1142         `Vcharset_mojikyo_2022_1'.
1143
1144 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1145
1146         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1147         instead of `EQ'.
1148         (put_byte_table): Likewise.
1149         (char_id_table_equal): Use `get_byte_table' [new implementation].
1150
1151 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * mule-charset.c: Include <limits.h> in UTF-2000.
1154         (BT_UINT8_MIN): New macro in UTF-2000.
1155         (BT_UINT8_MAX): New macro in UTF-2000.
1156         (BT_UINT8_t): New macro in UTF-2000.
1157         (BT_UINT8_nil): New macro in UTF-2000.
1158         (BT_UINT8_unbound): New macro in UTF-2000.
1159         (INT_UINT8_P): New inline function in UTF-2000.
1160         (UINT8_VALUE_P): New inline function in UTF-2000.
1161         (UINT8_ENCODE): New inline function in UTF-2000.
1162         (UINT8_DECODE): New inline function in UTF-2000.
1163         (mark_uint8_byte_table): New function in UTF-2000.
1164         (print_uint8_byte_table): New function in UTF-2000.
1165         (uint8_byte_table_equal): New function in UTF-2000.
1166         (uint8_byte_table_hash): New function in UTF-2000.
1167         (make_uint8_byte_table): New function in UTF-2000.
1168         (uint8_byte_table_same_value_p): New function in UTF-2000.
1169         (BT_UINT16_MIN): New macro in UTF-2000.
1170         (BT_UINT16_MAX): New macro in UTF-2000.
1171         (BT_UINT16_t): New macro in UTF-2000.
1172         (BT_UINT16_nil): New macro in UTF-2000.
1173         (BT_UINT16_unbound): New macro in UTF-2000.
1174         (INT_UINT16_P): New inline function in UTF-2000.
1175         (UINT16_VALUE_P): New inline function in UTF-2000.
1176         (UINT16_ENCODE): New inline function in UTF-2000.
1177         (UINT16_DECODE): New inline function in UTF-2000.
1178         (UINT8_TO_UINT16): New inline function in UTF-2000.
1179         (mark_uint16_byte_table): New function in UTF-2000.
1180         (print_uint16_byte_table): New function in UTF-2000.
1181         (uint16_byte_table_equal): New function in UTF-2000.
1182         (uint16_byte_table_hash): New function in UTF-2000.
1183         (make_uint16_byte_table): New function in UTF-2000.
1184         (uint16_byte_table_same_value_p): New function in UTF-2000.
1185         (print_byte_table): New function in UTF-2000.
1186         (byte-table): Use `print_byte_table' as printer.
1187         (make_byte_table): Delete second argument `older'.
1188         (byte_table_same_value_p): New function in UTF-2000.
1189         (copy_byte_table): Deleted.
1190         (get_byte_table): New function in UTF-2000.
1191         (put_byte_table): New function in UTF-2000.
1192         (print_char_id_table): New function in UTF-2000.
1193         (char-id-table): Use `print_char_id_table' as printer.
1194         (make_char_id_table): Delete second argument `older'.
1195         (get_char_id_table): Use `get_byte_table [new implementation].
1196         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1197         implementation].
1198         (Ffind_char_attribute_table): New function in UTF-2000.
1199         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1200         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1201         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1202         (syms_of_mule_charset): Add new function
1203         `find-char-attribute-table' in UTF-2000.
1204
1205         * lrecord.h (enum lrecord_type): Add
1206         `lrecord_type_uint16_byte_table' and
1207         `lrecord_type_uint8_byte_table'.
1208
1209         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1210         (Lisp_Uint8_Byte_Table): New type.
1211         (XUINT8_BYTE_TABLE): New macro.
1212         (XSETUINT8_BYTE_TABLE): New macro.
1213         (UINT8_BYTE_TABLE_P): New macro.
1214         (GC_UINT8_BYTE_TABLE_P): New macro.
1215         (struct Lisp_Uint16_Byte_Table): New structure.
1216         (Lisp_Uint16_Byte_Table): New type.
1217         (XUINT16_BYTE_TABLE): New macro.
1218         (XSETUINT16_BYTE_TABLE): New macro.
1219         (UINT16_BYTE_TABLE_P): New macro.
1220         (GC_UINT16_BYTE_TABLE_P): New macro.
1221
1222 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1225         (Vcharacter_ideographic_strokes_table): Deleted.
1226         (Vcharacter_total_strokes_table): Deleted.
1227         (Vcharacter_morohashi_daikanwa_table): Deleted.
1228         (Vcharacter_decomposition_table): Deleted.
1229         (Qname): Deleted because it is duplicated.
1230         (Qideographic_radical): Deleted.
1231         (Qideographic_strokes): Deleted.
1232         (Qtotal_strokes): Deleted.
1233         (Qmorohashi_daikanwa): Deleted.
1234         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1235         `ideographic-radical', `ideographic-strokes', `total-strokes',
1236         `morohashi-daikanwa' and `->decomposition'.
1237         (Fget_char_attribute): Likewise.
1238         (Fput_char_attribute): Likewise; use `make-vector' instead of
1239         `make_older_vector' for `->decomposition' value.
1240         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1241         `ideograph-daikanwa'.
1242         (syms_of_mule_charset): Delete builtin symbols `name',
1243         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1244         `morohashi-daikanwa'.
1245         (vars_of_mule_charset): Don't setup
1246         `Vcharacter_ideographic_radical_table',
1247         `Vcharacter_ideographic_strokes_table',
1248         `Vcharacter_total_strokes_table',
1249         `Vcharacter_morohashi_daikanwa_table' and
1250         `Vcharacter_decomposition_table'.
1251
1252 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1255         `make_older_vector', `make_vector_newer_1' and
1256         `make_vector_newer'.
1257
1258         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1259         `make_older_vector' and `make_vector_newer'.
1260
1261         * config.h.in (HAVE_GGC): New macro.
1262
1263 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1264
1265         * mule-charset.c (struct char_attribute_list_closure): New
1266         structure in UTF-2000.
1267         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1268         (Fchar_attribute_list): Likewise.
1269         (Fset_charset_mapping_table): Use `make_vector_newer'.
1270         (Fdecode_builtin_char): New function in UTF-2000.
1271         (syms_of_mule_charset): Add new function `char-attribute-list' and
1272         `decode-builtin-char' in UTF-2000.
1273
1274         * lisp.h (make_vector_newer): New prototype.
1275
1276         * alloc.c (make_vector_newer_1): New function.
1277         (make_vector_newer): New function.
1278
1279 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1280
1281         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1282         50100)'.
1283
1284 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1285
1286         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1287         (Vcharacter_attribute_table): Deleted.
1288         (Vcharacter_name_table): Deleted.
1289         (put_char_attribute): Deleted.
1290         (remove_char_attribute): Deleted.
1291         (struct char_attribute_alist_closure): New structure.
1292         (add_char_attribute_alist_mapper): New function.
1293         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1294         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1295         (Fget_char_attribute): Likewise.
1296         (Fput_char_attribute): Likewise.
1297         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1298         of `remove_char_attribute'.
1299         (Fdefine_char): Return character.
1300         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1301         and `Vcharacter_name_table'.
1302         (complex_vars_of_mule_charset): Likewise
1303         `Vchar_attribute_hash_table'.
1304
1305 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * character.h (CHARC_CHARSET): New macro.
1308         (CHARC_CHARSET_ID): New macro.
1309         (CHARC_CODE_POINT): New macro.
1310         (CHARC_COLUMNS): New macro.
1311         (CHARC_TO_CHAR): New inline function.
1312         (CHARC_EQ): New inline function.
1313         (CHARC_ASCII_EQ): New inline function.
1314         (CHARC_IS_SPACE): New inline function.
1315         (ASCII_TO_CHARC): New inline function.
1316
1317         * char-ucs.h (encode_char_2): Deleted.
1318         (ENCODE_CHAR): Use `encode_char_1' again.
1319         (breakup_char_1): Likewise.
1320         (CHAR_TO_CHARC): New inline function.
1321
1322         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1323
1324 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1327         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1328         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1329         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1330         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1331         `CHARC_IS_SPACE'.
1332         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1333
1334         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1335         `CHARC_CODE_POINT'.
1336         (x_output_display_block): Use `CHARC_CHARSET' and
1337         `CHARC_ASCII_EQ'.
1338
1339         * redisplay-tty.c (tty_output_display_block): Use
1340         `CHARC_ASCII_EQ'.
1341         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1342
1343         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1344
1345         * insdel.c (find_charsets_in_charc_string): Use
1346         `CHARC_CHARSET_ID'.
1347         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1348         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1349         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1350         (convert_charc_string_into_malloced_string): Likewise.
1351
1352 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1353
1354         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1355         instead of <Emchar_dynarr *> for buf; use
1356         `convert_bufbyte_string_into_charc_dynarr' instead of
1357         `convert_bufbyte_string_into_emchar_dynarr'; use
1358         `find_charsets_in_charc_string' instead of
1359         `find_charsets_in_emchar_string'.
1360
1361         * redisplay.h:
1362         - Include "character.h".
1363         (struct rune): New member `cglyph'; delete member `chr'.
1364
1365         * redisplay.c (redisplay_text_width_charc_string): New function;
1366         delete `redisplay_text_width_emchar_string'.
1367         (rtw_charc_dynarr): New variable; renamed from
1368         `rtw_emchar_dynarr'.
1369         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1370         `rtw_emchar_dynarr'; use
1371         `convert_bufbyte_string_into_charc_dynarr' instead of
1372         `convert_bufbyte_string_into_emchar_dynarr'; use
1373         `redisplay_text_width_charc_string' instead of
1374         `redisplay_text_width_emchar_string'.
1375         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1376         instead of `rtw_emchar_dynarr'; use
1377         `convert_bufbyte_string_into_charc_dynarr' instead of
1378         `convert_bufbyte_string_into_emchar_dynarr'.
1379         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1380         `redisplay_text_width_charc_string' instead of
1381         `redisplay_text_width_emchar_string'.
1382         (create_text_block): Modify for <struct rune> change.
1383         (generate_formatted_string_db): Likewise.
1384         (create_string_text_block): Likewise.
1385         (pixel_to_glyph_translation): Likewise.
1386
1387         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1388         instead of <const Emchar *>.
1389         (x_text_width): Likewise.
1390         (x_output_display_block): Use <Charc_dynarr *> instead
1391         <Emchar_dynarr *>; modify for <structure rune> change.
1392         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1393         *>.
1394
1395         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1396         <const Emchar *>; use `charc_string_displayed_columns' instead of
1397         `emchar_string_displayed_columns'.
1398         (tty_output_display_block): Use <Charc_dynarr *> instead of
1399         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1400         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1401         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1402         `tty_output_emchar_dynarr_dynarr'.
1403         (tty_output_charc_dynarr): New function; delete
1404         `tty_output_charc_dynarr'.
1405
1406         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1407         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1408         <Emchar_dynarr *> for buf; use
1409         `convert_bufbyte_string_into_charc_dynarr' instead of
1410         `convert_bufbyte_string_into_emchar_dynarr'.
1411
1412         * frame.c (title_string_charc_dynarr): New variable; renamed from
1413         `title_string_emchar_dynarr'.
1414         (generate_title_string): Use `title_string_charc_dynarr' instead
1415         of `title_string_emchar_dynarr'; use
1416         `convert_charc_string_into_malloced_string' instead of
1417         `convert_emchar_string_into_malloced_string'.
1418         (init_frame): Use `title_string_charc_dynarr' instead of
1419         `title_string_emchar_dynarr'.
1420
1421         * console.h:
1422         - Include "character.h".
1423         (struct console_methods): Use <const Charc *> instead of <const
1424         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1425         <Emchar_dynarr *> in output_string_method.
1426
1427         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1428         <Emchar_dynarr *>.
1429
1430         * console-stream.c (stream_text_width): Use <const Charc *>
1431         instead of <const Emchar *>.
1432
1433         * character.h (Charc_dynarr): New type.
1434
1435         * char-ucs.h (structure Charc): New structure; define new type
1436         `Charc'.
1437
1438         * char-lb.h (DECODE_CHAR): New inline function.
1439         (encode_char_1): New inline function.
1440         (ENCODE_CHAR): New macro.
1441         (structure Charc): New structure; define new type `Charc'.
1442
1443         * char-1byte.h (Vcharset_control_1): New macro.
1444         (Vcharset_latin_iso8859_1): New macro.
1445         (DECODE_CHAR): New inline function.
1446         (encode_char_1): New inline function.
1447         (ENCODE_CHAR): New macro.
1448         (structure Charc): New structure; define new type `Charc'.
1449
1450         * insdel.c (find_charsets_in_charc_string): New function; delete
1451         `find_charsets_in_emchar_string'.
1452         (charc_string_displayed_columns): New function; delete
1453         `emchar_string_displayed_columns'.
1454         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1455         `convert_bufbyte_string_into_emchar_dynarr'.
1456         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1457         `convert_charc_string_into_bufbyte_dynarr'.
1458         (convert_charc_string_into_malloced_string): New function; delete
1459         `convert_charc_string_into_malloced_string'.
1460
1461         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1462         `find_charsets_in_emchar_string'.
1463         (charc_string_displayed_columns): New prototype; delete
1464         `emchar_string_displayed_columns'.
1465         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1466         `convert_charc_string_into_bufbyte_dynarr'.
1467         (convert_charc_string_into_malloced_string): New prototype; delete
1468         `convert_charc_string_into_malloced_string'.
1469
1470 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1471
1472         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1473
1474 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1475
1476         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1477
1478         * char-ucs.h: Use <short> for <Charset_ID>.
1479
1480         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1481         <Charset_ID>.
1482
1483 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1484
1485         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1486         to 0.16.
1487
1488 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1491         variable.
1492         (Qmorohashi_daikanwa): New variable.
1493         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1494         for `morohashi-daikanwa' attribute.
1495         (Fget_char_attribute): Likewise.
1496         (Fput_char_attribute): Likewise.
1497         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1498         has the same value of `ideograph-daikanwa'.
1499         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1500         (vars_of_mule_charset): Setup
1501         `Vcharacter_morohashi_daikanwa_table'.
1502
1503 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1504
1505         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1506         attributes.
1507         (add_charset_to_list_mapper): Add `key' instead of
1508         `XCHARSET_NAME (value)' to return aliases.
1509
1510 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1511
1512         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1513         variable.
1514         (Vcharacter_ideographic_strokes_table): New variable.
1515         (Qideographic_radical): New variable.
1516         (Qideographic_strokes): New variable.
1517         (Fchar_attribute_alist): Use
1518         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1519         attribute; use `Vcharacter_ideographic_strokes_table' for
1520         `ideographic-strokes' attribute.
1521         (Fget_char_attribute): Likewise.
1522         (Fput_char_attribute): Likewise.
1523         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1524         `ideographic-strokes'.
1525         (vars_of_mule_charset): Setup
1526         `Vcharacter_ideographic_radical_table' and
1527         `Vcharacter_ideographic_strokes_table'.
1528
1529 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1530
1531         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1532         (Qtotal_strokes): New variable.
1533         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1534         `total-strokes' attribute.
1535         (Fget_char_attribute): Likewise.
1536         (Fput_char_attribute): Likewise.
1537         (syms_of_mule_charset): Add new symbol `total-strokes'.
1538         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1539
1540 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1543         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1544         are found.
1545         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1546         `->decomposition' attribute.
1547         (Fput_char_attribute): Likewise.
1548         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1549
1550 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * mule-charset.c (decoding_table_check_elements): New function.
1553         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1554
1555 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1556
1557         * mule-charset.c (Fset_charset_mapping_table): Use
1558         `put_char_ccs_code_point'.
1559
1560 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * mule-charset.c (decoding_table_put_char): New inline function.
1563         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1564
1565 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1566
1567         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1568         (XCHARSET_BYTE_SIZE): New macro.
1569         (decoding_table_remove_char): New inline function.
1570         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1571         `decoding_table_remove_char'.
1572         (remove_char_ccs): Use `decoding_table_remove_char'.
1573         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1574
1575 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1576
1577         * mule-charset.c (Vcharacter_name_table): New variable.
1578         (Qname): New variable.
1579         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1580         attribute.
1581         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1582         `Vcharacter_name_table' for `name' attribute.
1583         (Fremove_char_attribute): Use function `remove_char_ccs'.
1584         (put_char_ccs_code_point): New function.
1585         (remove_char_ccs): New function.
1586         (syms_of_mule_charset): Add new symbol `name'.
1587         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1588
1589 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1590
1591         * mule-charset.c (make_byte_table): Add new argument `older'.
1592         (make_char_id_table): Likewise.
1593         (copy_char_id_table): Comment out because it is not used.
1594         (put_char_id_table): Modify for `make_byte_table'.
1595         (Fput_char_attribute): Make encoding_table as older object;
1596         inherit older bit of `Vcharacter_composition_table'.
1597         (mark_charset): Don't mark `cs->encoding_table'.
1598         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1599         normal object; make `Vcharacter_composition_table' as an older
1600         object; delete staticpro for `Vcharacter_composition_table'; make
1601         `Vcharacter_variant_table' as a normal object.
1602
1603         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1604         (mark_object): Don't check older object in UTF-2000.
1605
1606         * lrecord.h (struct lrecord_header): Add new member `older' in
1607         UTF-2000.
1608         (set_lheader_implementation): Setup `SLI_header->older' in
1609         UTF-2000.
1610         (set_lheader_older_implementation): New macro in UTF-2000.
1611         (OLDER_RECORD_P): New macro in UTF-2000.
1612         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1613         (alloc_older_lcrecord): New prototype in UTF-2000.
1614         (alloc_older_lcrecord_type): New macro in UTF-2000.
1615
1616 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1617
1618         * mule-charset.c (byte_table_description): Use
1619         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1620         (char_id_table_description): Delete bogus `, 1'.
1621         (Fget_char_attribute): Refer encoding_table of each coded-charset
1622         to get value of coded-charset attribute of a character.
1623         (Fput_char_attribute): Use `make_older_vector' instead of
1624         `make_vector'; use encoding_table of each coded-charset to store
1625         value of coded-charset attribute of a character.
1626         (Fremove_char_attribute): Use encoding_table of each coded-charset
1627         to store value of coded-charset attribute of a character.
1628         (mark_charset): Mark `cs->encoding_table'; don't mark
1629         `cs->decoding_table'.
1630         (charset_description): Add description of new member
1631         `encoding_table'.
1632         (make_charset): Initialize `encoding_table'.
1633
1634         * char-ucs.h (struct Lisp_Charset): Add new member
1635         `encoding_table'.
1636         (CHARSET_ENCODING_TABLE): New macro.
1637         (XCHARSET_ENCODING_TABLE): New macro.
1638         (charset_code_point): New implementation.
1639         (encode_char_1): Likewise.
1640
1641         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1642         (disksave_object_finalization_1): Call finalizers of
1643         `all_older_lcrecords' in UTF-2000.
1644         (make_older_vector): New function in UTF-2000.
1645         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1646         UTF-2000.
1647
1648         * lisp.h (make_older_vector): New prototype in UTF-2000.
1649
1650 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1651
1652         * lrecord.h (enum lrecord_type): Rename
1653         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1654
1655         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1656         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1657         `get_char_code_table'.
1658
1659         * mule-charset.c (mark_char_id_table): Renamed from
1660         `mark_char_code_table'.
1661         (char_id_table_equal): Renamed from `char_code_table_equal'.
1662         (char_id_table_hash): Renamed from `char_code_table_hash'.
1663         (make_char_id_table): Renamed from `make_char_code_table'.
1664         (copy_char_id_table): Renamed from `copy_char_code_table'.
1665         (get_char_id_table): Renamed from `get_char_code_table'.
1666         (put_char_id_table): Renamed from `put_char_code_table'.
1667         (to_char_id): Renamed from `to_char_code'.
1668
1669         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1670         `Lisp_Char_Code_Table'.
1671         (char_id_table): Renamed from `char_code_table'.
1672         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1673         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1674         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1675         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1676         (get_char_id_table): Renamed from `get_char_code_table'.
1677
1678 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1679
1680         * lrecord.h (enum lrecord_type): Rename
1681         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1682
1683         * mule-charset.c (mark_byte_table): Renamed from
1684         `mark_char_byte_table'.
1685         (byte_table_equal): Renamed from `char_byte_table_equal'.
1686         (byte_table_hash): Renamed from `byte_table_hash'.
1687         (make_byte_table): Renamed from `make_byte_table'.
1688         (copy_byte_table): Renamed from `copy_char_byte_table'.
1689
1690         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1691         `Lisp_Char_Byte_Table'.
1692         (byte_table): Renamed from `char_byte_table'.
1693         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1694         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1695         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1696         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1697
1698 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1699
1700         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1701         (dfc_convert_to_internal_format): Likewise.
1702         
1703         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1704         * text-coding.c (Fcoding_system_alias_p): New function.
1705         * text-coding.c (Fcoding_system_aliasee): New function.
1706         * text-coding.c (append_suffix_to_symbol): New function.
1707         * text-coding.c (dangling_coding_system_alias_p): New function.
1708         * text-coding.c (Ffind_coding_system):
1709         * text-coding.c (Fcopy_coding_system):
1710         * text-coding.c (encode_coding_no_conversion):
1711         * text-coding.c (syms_of_file_coding):
1712         * text-coding.c (vars_of_file_coding):
1713         Rewrite coding system alias code.
1714         Allow nested aliases, like symbolic links.
1715         Allow redefinition of coding system aliases.
1716         Prevent existence of dangling coding system aliases.
1717         Eliminate convert_to_external_format.
1718         Eliminate convert_to_internal_format.
1719         
1720         * text-coding.c: Change enum eol_type to eol_type_t.
1721
1722 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1723
1724         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1725         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1726
1727         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1728         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1729
1730 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1733         `ideograph-daikanwa'.
1734
1735         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1736         (Vcharset_ucs_bmp): Likewise.
1737         (Vcharset_mojikyo): Add new extern variable definition.
1738         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1739         (Vcharset_latin_iso8859_3): Likewise.
1740         (Vcharset_latin_iso8859_4): Likewise.
1741         (Vcharset_latin_iso8859_9): Likewise.
1742         (Vcharset_latin_viscii_lower): Likewise.
1743         (Vcharset_latin_viscii_upper): Likewise.
1744         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1745         `mojikyo' code-point is used to decode.
1746         (encode_char_2): New function [to convert `mojikyo' code-point to
1747         Mojikyo font encoding].
1748         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1749         (breakup_char_1): Likewise.
1750         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1751
1752 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1753
1754         * text-coding.c (Fmake_coding_system): Add document about
1755         `disable-composition' property.
1756
1757 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1758
1759         * text-coding.c (Qdisable_composition): New variable; delete
1760         `Qcomposite'.
1761         (Fmake_coding_system): Add new property `disable-composite';
1762         delete property `composite'.
1763         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1764         instead of `!CODING_SYSTEM_COMPOSITE'.
1765         (syms_of_file_coding): Add new symbol `disable-composition';
1766         delete symbol `composite'.
1767
1768         * file-coding.h (struct Lisp_Coding_System): Add
1769         `disable_composition'; delete `enable_composition'.
1770         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1771         `CODING_SYSTEM_COMPOSITE'.
1772         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1773         `XCODING_SYSTEM_COMPOSITE'.
1774
1775 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1776
1777         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1778         to 0.15.
1779
1780 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1781
1782         * text-coding.c (Qcomposite): New variable.
1783         (Fmake_coding_system): Add new property `composite'.
1784         (struct decoding_stream): Add `combined_char_count',
1785         `combined_chars' and `combining_table' in UTF-2000.
1786         (COMPOSE_FLUSH_CHARS): New macro.
1787         (COMPOSE_ADD_CHAR): New macro.
1788         (reset_decoding_stream): Reset `str->combined_char_count' and
1789         `str->combining_table' in UTF-2000.
1790         (decode_coding_iso2022): Modify for character-decomposition.
1791         (syms_of_file_coding): Add new symbol `composite'.
1792
1793 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1794
1795         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1796         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1797         of `Vcharacter_composition_table' if `->decomposition' property
1798         has only 1 element.
1799         (Qlatin_tcvn5712): New variable.
1800         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1801         (complex_vars_of_mule_charset): Add new coded-charset
1802         `latin-tcvn5712'.
1803
1804         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1805
1806 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1807
1808         * file-coding.h (struct Lisp_Coding_System): Add
1809         `enable_composition'.
1810         (CODING_SYSTEM_COMPOSITE): New macro.
1811         (XCODING_SYSTEM_COMPOSITE): New macro.
1812
1813 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1814
1815         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1816
1817 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1818
1819         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1820         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1821
1822 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1823
1824         * mule-charset.c (Vcharset_mojikyo): New variable.
1825         (Fdefine_char): Don't use coded-charset which does not have
1826         non-builtin character range to allocate character-id.
1827         (Qmojikyo): New variable.
1828         (syms_of_mule_charset): Add new symbol `mojikyo'.
1829         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1830
1831         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1832         (LEADING_BYTE_MOJIKYO): New macro.
1833         (MIN_CHAR_MOJIKYO): New macro.
1834         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1835         (MAX_CHAR_MOJIKYO): New macro.
1836
1837 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1838
1839         * mule-charset.c (remove_char_attribute): Fixed.
1840
1841 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1842
1843         * mule-charset.c (remove_char_attribute): New function.
1844         (Fremove_char_attribute): New function.
1845         (encode_builtin_char_1): Comment out builtin-support for
1846         greek-iso8859-7 and cyrillic-iso8859-5.
1847         (Fdecode_char): Check `code' is an integer.
1848         (syms_of_mule_charset): Add `remove-char-attribute'.
1849         (MIN_CHAR_GREEK): Deleted.
1850         (MAX_CHAR_GREEK): Likewise.
1851         (MIN_CHAR_CYRILLIC): Likewise.
1852         (MAX_CHAR_CYRILLIC): Likewise.
1853         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1854         MAX_CHAR_GREEK for `greek-iso8859-7'.
1855
1856         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1857         (MAX_CHAR_GREEK): Likewise.
1858         (MIN_CHAR_CYRILLIC): Likewise.
1859         (MAX_CHAR_CYRILLIC): Likewise.
1860
1861 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1862
1863         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1864         format is used without `ucs' property.
1865         (Fdecode_char): Fix problem with GR representation.
1866         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1867         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1868
1869 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1870
1871         * mule-charset.c (make_builtin_char): New function.
1872         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1873         (Fset_charset_mapping_table): Modify for new representation of
1874         code-point.
1875         (Fdecode_char): New function.
1876         (syms_of_mule_charset): Add new builtin function `decode-char' in
1877         UTF-2000.
1878
1879         * char-ucs.h (make_builtin_char): New prototype.
1880         (DECODE_CHAR): New inline function.
1881         (MAKE_CHAR): Use `DECODE_CHAR'.
1882
1883 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1884
1885         * text-coding.c (parse_charset_conversion_specs): Use
1886         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1887         `XCHARSET_TYPE'.
1888         (iso2022_designate): Likewise.
1889
1890         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1891         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1892
1893         * mule-charset.c (Vcharset_ucs): New variable.
1894         (print_charset): Change design; use `CHARSET_CHARS' and
1895         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1896         (make_charset): Change signature to specify `chars' and
1897         `dimension' instead of `type'.
1898         (range_charset_code_point): Modify for 256^n-set.
1899         (encode_builtin_char_1): Encode as `ucs' in default.
1900         (Fmake_charset): Modify for `make_charset'.
1901         (Fmake_reverse_direction_charset): Likewise.
1902         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1903         UTF-2000.
1904         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1905         for `make_charset'.
1906
1907         * char-ucs.h (Vcharset_ucs): New variable.
1908         (LEADING_BYTE_UCS): New macro.
1909         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1910         and `chars' to `unsigned short' from `unsigned int'.
1911         (CHARSET_TYPE): Deleted.
1912         (XCHARSET_TYPE): Deleted.
1913
1914 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1915
1916         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1917
1918         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1919         (ENCODE_CHAR): New macro.
1920
1921 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1922
1923         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1924         to 0.14 (Kawachi-Katakami).
1925
1926 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1927
1928         * text-coding.c (char_encode_shift_jis): Modify for
1929         `charset_code_point'.
1930         (char_encode_iso2022): Likewise.
1931
1932         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1933         (integer) instead of list of <Lisp_Object>s (integers) as the
1934         format of code-point of a coded-charset.
1935         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1936         (encode_builtin_char_1): New function; delete
1937         `split_builtin_char'.
1938         (charset_code_point): Return <int> instead of <Lisp_Object>.
1939         (Fsplit_char): Don't use `SPLIT_CHAR'.
1940
1941         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1942         prototype for `split_builtin_char'.
1943         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1944         (charset_code_point): Likewise.
1945         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1946         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1947
1948 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1949
1950         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1951         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1952
1953 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1954
1955         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1956
1957         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1958         (MAX_CHAR_OBS_94x94): Deleted.
1959
1960 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1961
1962         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1963
1964         * char-ucs.h (MAX_CHAR_BMP): New macro.
1965
1966 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1967
1968         * text-coding.c: Sync with r21-2-24.
1969
1970 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1971
1972         * file-coding.c: Modify for UTF-2000.
1973
1974 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1975
1976         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1977         to 0.13 (Takaida).
1978
1979 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1980
1981         * mule-charset.c (split_builtin_char): Delete builtin support for
1982         `katakana-jisx0201'.
1983         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1984         BMP area in builtin representation.
1985
1986         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1987         `Vcharset_katakana_jisx0201'.
1988
1989 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1990
1991         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1992         (Qisolated): New variable.
1993         (Qinitial): New variable.
1994         (Qmedial): New variable.
1995         (Qfinal): New variable.
1996         (Qvertical): New variable.
1997         (Qsmall): New variable.
1998         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1999         `Qvertical' and `Qsmall'.
2000         (Qmojikyo_pj_[1 .. 21]): New variable.
2001         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2002         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2003         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2004         .. 21]'.
2005
2006 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2007
2008         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2009         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2010         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2011
2012 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2013
2014         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2015         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2016         BMP.
2017         (Qjapanese_jisx0208_1990): New variable.
2018         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2019         (complex_vars_of_mule_charset): Add new coded-charset
2020         `japanese-jisx0208-1990'.
2021
2022         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2023         (MIN_CHAR_JIS_X0208_1990): New macro.
2024         (MAX_CHAR_JIS_X0208_1990): New macro.
2025
2026 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2027
2028         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2029         coded-charset is not found.
2030
2031 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2032
2033         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2034         (Fdefine_char): Use `Fmake_char'.
2035
2036 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2037
2038         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2039         (Vcharset_hiragana_jisx0208): Deleted.
2040         (Vcharset_katakana_jisx0208): Deleted.
2041         (Qideograph_daikanwa): New variable.
2042         (Qhiragana_jisx0208): Deleted.
2043         (Qkatakana_jisx0208): Deleted.
2044         (split_builtin_char): Split `ideograph-daikanwa'.
2045         (Fsplit_char): New implementation for UTF-2000.
2046         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2047         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2048         (complex_vars_of_mule_charset): Add new coded-charset
2049         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2050         `katakana-jisx0208'.
2051
2052         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2053         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2054         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2055         (MIN_CHAR_DAIKANWA): New macro.
2056         (MAX_CHAR_DAIKANWA): New macro.
2057
2058 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2059
2060         * data.c (Fstring_to_number): Don't recognize floating point if
2061         base is not 10.
2062
2063 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2064
2065         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2066
2067 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2068
2069         * mule-charset.c (Qsquare): New variable.
2070         (to_char_code): Add `Qsquare'.
2071         (syms_of_mule_charset): Add new symbol `square'.
2072
2073 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2074
2075         * mule-charset.c (Qcircle): New variable.
2076         (to_char_code): Add `Qcircle'.
2077         (syms_of_mule_charset): Add new symbol `circle'.
2078
2079 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2080
2081         * mule-charset.c (Qfont): New variable.
2082         (to_char_code): Add `Qfont'.
2083         (syms_of_mule_charset): Add new symbol `font'.
2084
2085 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2086
2087         * mule-charset.c (Qsub): New variable.
2088         (to_char_code): Add `Qsub'.
2089         (syms_of_mule_charset): Add new symbol `sub'.
2090
2091 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2092
2093         * mule-charset.c (Fput_char_attribute): Convert each element of
2094         VALUE to GL position if ATTRIBUTE is a GR-set,
2095
2096 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2097
2098         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2099         coded-charset is a GR-set.
2100
2101 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2102
2103         * mule-charset.c (Fput_char_attribute): Check each element of
2104         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2105
2106 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2107
2108         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2109         UTF-2000.
2110         (Qethiopic_ucs): New variable in UTF-2000.
2111         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2112         (complex_vars_of_mule_charset): Add new coded-charset
2113         `ethiopic-ucs' in UTF-2000.
2114
2115         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2116         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2117         9)'.
2118         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2119         10)'.
2120         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2121
2122 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2123
2124         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2125         `ascii'.
2126
2127 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2128
2129         * mule-charset.c (Vcharacter_variant_table): New variable.
2130         (Q_ucs): New variable.
2131         (Fchar_variants): New function.
2132         (Fput_char_attribute): Register `->ucs' value to
2133         `Vcharacter_variant_table'.
2134         (syms_of_mule_charset): Add new function `char-variants' and new
2135         symbol `->ucs'.
2136         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2137
2138 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2139
2140         * mule-charset.c (get_char_code_table): Allow negative character
2141         code.
2142         (put_char_code_table): Likewise.
2143         (Vcharacter_composition_table): New variable.
2144         (Q_decomposition): New variable.
2145         (Qwide): New variable.
2146         (Qnarrow): New variable.
2147         (Qcompat): New variable.
2148         (QnoBreak): New variable.
2149         (Qsuper): New variable.
2150         (Qfraction): New variable.
2151         (to_char_code): New function.
2152         (Fget_composite_char): New function.
2153         (Fput_char_attribute): Register `->decomposition' value to
2154         `Vcharacter_composition_table'.
2155         (syms_of_mule_charset): Add new function `get-composite-char', new
2156         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2157         `super' and `fraction'.
2158         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2159
2160 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2161
2162         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2163         character; copy the return value.
2164
2165 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2166
2167         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2168
2169         * mule-charset.c (range_charset_code_point): Must use make_int.
2170         (split_builtin_char): New function.
2171
2172 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2173
2174         * mule-charset.c (char_byte_table): Change name from
2175         "char-code-table" to "char-byte-table".
2176         (mark_char_code_table): New function.
2177         (char_code_table_equal): New function.
2178         (char_code_table_hash): New function.
2179         (char_code_table_description): New constant.
2180         (char_code_table): New type.
2181         (make_char_code_table): New function.
2182         (copy_char_code_table): New function.
2183         (get_char_code_table): Modify for `char_code_table' type.
2184         (put_char_code_table): Likewise.
2185         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2186         (Kashiwara).
2187
2188         * char-ucs.h (char_code_table): New type.
2189         (XCHAR_CODE_TABLE): New macro.
2190         (XSETCHAR_CODE_TABLE): New macro.
2191         (CHAR_CODE_TABLE_P): New macro.
2192         (GC_CHAR_CODE_TABLE_P): New macro.
2193         (struct Lisp_Char_Code_Table): New structure.
2194
2195 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2196
2197         * mule-charset.c (Fmake_charset): Setup byte_offset for
2198         {94|96}^n-set.
2199
2200 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2201
2202         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2203         character.
2204
2205 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2206
2207         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2208         is found.
2209
2210 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2211
2212         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2213         charset, it is regarded as a charset.
2214         (put_char_attribute): New function in UTF-2000.
2215         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2216         charset, mapping-table of the charset is modified.
2217         (Fdefine_char): New function in UTF-2000.
2218         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2219         `Fput_char_attribute'.
2220         (syms_of_mule_charset): Add new function `define-char' and new
2221         symbol `ucs' in UTF-2000.
2222         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2223
2224 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2225
2226         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2227         non-UTF-2000 configuration.
2228
2229 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2230
2231         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2232         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2233
2234         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2235         deleted.
2236         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2237         (Fset_charset_mapping_table): Likewise.
2238
2239         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2240         (CHARSET_ENCODING_TABLE): Delete.
2241         (XCHARSET_ENCODING_TABLE): Delete.
2242         (charset_code_point): New interface.
2243
2244 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2245
2246         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2247         instead of `charset_get_byte1' and `charset_get_byte2'.
2248
2249         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2250         (charset_get_byte2): Deleted.
2251
2252 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2253
2254         * char-ucs.h (SPLIT_CHAR): New inline function.
2255         (breakup_char_1): Use `SPLIT_CHAR'.
2256
2257         * mule-charset.c (range_charset_code_point): New function.
2258         (charset_code_point): New function.
2259
2260         * char-ucs.h (range_charset_code_point): New interface.
2261         (breakup_char_1): Use `range_charset_code_point'.
2262
2263 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2264
2265         * mule-charset.c (Fmake_charset): Delete unused local variable
2266         `code_offset'.
2267
2268         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2269         (breakup_char_1): Find a charset and code-point in
2270         `Vcharacter_attribute_table'.
2271
2272 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2273
2274         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2275         to 0.10 (Yao).
2276
2277 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2278
2279         * mule-charset.c (Vcharacter_attribute_table): New variable.
2280         (Fchar_attribute_alist): New function.
2281         (Fget_char_attribute): New function.
2282         (Fput_char_attribute): New function.
2283         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2284         too.
2285         (syms_of_mule_charset): Add new function `char-attribute-alist',
2286         `get-char-attribute' and `put-char-attribute'.
2287         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2288
2289 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2290
2291         * mule-charset.c (Fmake_charset): Just use
2292         `get_unallocated_leading_byte'.
2293
2294         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2295         sets; don't use final-byte based number for private sets.
2296
2297 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2298
2299         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2300         integer.
2301
2302 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2303
2304         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2305         to 0.9.
2306
2307 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2308
2309         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2310         of `CHAR_LEADING_BYTE' in UTF-2000.
2311
2312         * insdel.c (find_charsets_in_bufbyte_string): Use
2313         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2314         (find_charsets_in_emchar_string): Likewise.
2315
2316         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2317         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2318
2319         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2320         (CHAR_CHARSET_ID): New macro.
2321
2322 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2323
2324         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2325         charset-id - MIN_LEADING_BYTE.
2326         (put_char_table): Likewise.
2327
2328 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2329
2330         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2331         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2332         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2333         (CHARSET_ID_OFFSET): New macro.
2334         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2335         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2336         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2337         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2338         4).
2339         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2340         5).
2341         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2342         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2343         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2344         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2345         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2346
2347 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2348
2349         * mule-charset.c (next_allocated_leading_byte): New variable in
2350         UTF-2000.
2351         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2352         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2353         (get_unallocated_leading_byte): Simply use
2354         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2355         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2356         UTF-2000.
2357
2358         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2359         (MAX_LEADING_BYTE_PRIVATE): New macro.
2360         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2361         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2362
2363 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2364
2365         * mule-charset.c (Fmake_charset): Allocate final-byte based
2366         charset-id for 94-set, 96-set and 94x94-set.
2367
2368 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2369
2370         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2371         ambiguous `else'.
2372         (Fmake_charset): Likewise.
2373         (complex_vars_of_mule_charset): Modify the font registry of
2374         `ucs-bmp' not to match `Ethiopic-Unicode'.
2375
2376 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2377
2378         * mule-charset.c (complex_vars_of_mule_charset): Add font
2379         registory of `ucs-bmp'.
2380
2381 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2382
2383         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2384         coded-charsets in `default-coded-charset-priority-list' when
2385         breaking up a character.
2386
2387         * mule-charset.c (Vcharset_latin_viscii): New variable.
2388         (Qlatin_viscii): New variable.
2389         (make_charset): Don't use `decoding_table'.
2390         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2391         byte_offset.
2392         (Fset_charset_mapping_table): New implementation.
2393         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2394         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2395         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2396         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2397         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2398         charset `latin_viscii'.
2399
2400         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2401         (CHARSET_TYPE_94X94): Change to 1 from 2.
2402         (CHARSET_TYPE_96): Change to 2 from 1.
2403         (CHARSET_TYPE_128): New macro.
2404         (CHARSET_TYPE_128X128): Change to 5 from 4.
2405         (CHARSET_TYPE_256): New macro.
2406         (CHARSET_TYPE_256X256): Change to 7 from 5.
2407         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2408
2409 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2410
2411         * text-coding.c (char_encode_shift_jis): Refer
2412         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2413         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2414
2415         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2416         (char_byte_table_equal): New function in UTF-2000.
2417         (char_byte_table_hash): New function in UTF-2000.
2418         (char_byte_table_description): New constant in UTF-2000.
2419         (char_byte_table): New type in UTF-2000.
2420         (make_char_byte_table): New function in UTF-2000.
2421         (copy_char_byte_table): New function in UTF-2000.
2422         (make_char_code_table): New macro in UTF-2000.
2423         (get_char_code_table): New function in UTF-2000.
2424         (put_char_code_table): New function in UTF-2000.
2425         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2426         (charset_description): Add setting in UTF-2000.
2427         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2428         `CHARSET_TO_BYTE1_TABLE(cs)'.
2429         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2430         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2431         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2432         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2433         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2434         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2435         `CHARSET_TO_BYTE2_TABLE(cs)'.
2436
2437         * char-ucs.h (char_byte_table): New type.
2438         (XCHAR_BYTE_TABLE): New macro.
2439         (XSETCHAR_BYTE_TABLE): New macro.
2440         (CHAR_BYTE_TABLE_P): New macro.
2441         (GC_CHAR_BYTE_TABLE_P): New macro.
2442         (struct Lisp_Char_Byte_Table): New structure.
2443         (get_char_code_table): New interface.
2444         (Emchar_to_byte_table): Deleted.
2445         (get_byte_from_character_table): Deleted.
2446         (struct Lisp_Charset): Add `encoding_table'; delete
2447         `to_byte1_table' and `to_byte2_table'.
2448         (CHARSET_ENCODING_TABLE): New macro.
2449         (CHARSET_TO_BYTE1_TABLE): Deleted.
2450         (CHARSET_TO_BYTE2_TABLE): Deleted.
2451         (XCHARSET_ENCODING_TABLE): New macro.
2452         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2453         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2454
2455 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2456
2457         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2458         `vietnamese-viscii-*'.
2459
2460 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2461
2462         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2463         (Qvietnamese_viscii_upper): New variable.
2464         (Fdefine_charset_alias): New function.
2465         (syms_of_mule_charset): Add new function `define-charset-alias'.
2466         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2467         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2468         `latin-viscii-*'.
2469
2470 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2471
2472         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2473         (MAX_CHAR_OBS_94x94): New macro.
2474         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2475         for 94x94 sets.
2476
2477         * mule-charset.c (put_byte_from_character_table): Change unit size
2478         from 128 to 256.
2479         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2480         not defined.
2481         (Fmake_reverse_direction_charset): Modify dummy argument of
2482         `make_charset' for non-UTF-2000 environment.
2483
2484 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2485
2486         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2487
2488         * mule-charset.c (destroy_byte_from_character_table): New macro.
2489         (latin_jisx0201_to_ucs): Deleted.
2490         (latin_iso8859_2_to_ucs): Deleted.
2491         (latin_iso8859_3_to_ucs): Deleted.
2492         (latin_iso8859_4_to_ucs): Deleted.
2493         (latin_iso8859_9_to_ucs): Deleted.
2494         (latin_viscii_lower_to_ucs): Deleted.
2495         (latin_viscii_upper_to_ucs): Deleted.
2496         (mark_charset): Mark `cs->decoding_table'.
2497         (Fcharset_mapping_table): Fix DOC-string.
2498         (Fset_charset_mapping_table): New function.
2499         (syms_of_mule_charset): Add nwe function
2500         `set-charset-mapping-table'.
2501         (complex_vars_of_mule_charset): Don't setup and use
2502         `latin_*_to_ucs'.
2503
2504 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2505
2506         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2507         charset.
2508
2509 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2510
2511         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2512         (Vcharset_katakana_jisx0208): New variable.
2513         (Qhiragana_jisx0208): New variable.
2514         (Qkatakana_jisx0208): New variable.
2515         (make_charset): Add new argument `byte_offset'.
2516         (charset_get_byte1): Modify for new coded-charset definition; use
2517         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2518         `XCHARSET_BYTE_OFFSET'.
2519         (Fmake_charset): Modify for `make_charset'.
2520         (Fmake_reverse_direction_charset): Likewise.
2521         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2522         `katakana-jisx0208'.
2523         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2524         `.'  in font registry of charset `katakana-jisx0201',
2525         `latin-jisx0201', `vietnamese-viscii-lower' and
2526         `vietnamese-viscii-upper'; modify DOC-string of charset
2527         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2528         registry of charset `japanese-jisx0208' not to use font for JIS
2529         X0208:1990; add new charset `hiragana-jisx0208' and
2530         `katakana-jisx0208'.
2531
2532         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2533         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2534         (struct Lisp_Charset): Add `byte_offset'.
2535         (CHARSET_BYTE_OFFSET): New macro.
2536         (XCHARSET_UCS_MIN): New macro.
2537         (XCHARSET_UCS_MAX): New macro.
2538         (XCHARSET_CODE_OFFSET): New macro.
2539         (XCHARSET_BYTE_OFFSET): New macro.
2540         (MIN_CHAR_HIRAGANA): New macro.
2541         (MAX_CHAR_HIRAGANA): New macro.
2542         (MIN_CHAR_KATAKANA): New macro.
2543         (MAX_CHAR_KATAKANA): New macro.
2544         (MAKE_CHAR): Modify for new coded-charset definition; use
2545         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2546         `XCHARSET_BYTE_OFFSET'.
2547
2548 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2549
2550         * mule-charset.c (CHAR96): Deleted.
2551         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2552         <Lisp_Object>.
2553         (latin_iso8859_2_to_ucs): Likewise.
2554         (latin_iso8859_3_to_ucs): Likewise.
2555         (latin_iso8859_4_to_ucs): Likewise.
2556         (latin_iso8859_9_to_ucs): Likewise.
2557         (latin_viscii_lower_to_ucs): Likewise.
2558         (latin_viscii_upper_to_ucs): Likewise.
2559         (latin_tcvn5712_to_ucs): Commented out.
2560         (make_charset): Change type of argument `decoding_table' from
2561         <Emchar*> to <Lisp_Object> [vector of characters].
2562         (Fmake_charset): Modify for `make_charset'.
2563         (Fmake_reverse_direction_charset): Likewise.
2564         (Fcharset_mapping_table): New function in UTF-2000.
2565         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2566         UTF-2000.
2567         (complex_vars_of_mule_charset): Modify for type change of
2568         `*_to_ucs'; modify for `make_charset'.
2569
2570         * char-ucs.h (struct Lisp_Charset): Change type of
2571         `decoding_table' from <Emchar*> to <Lisp_Object>.
2572         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2573
2574 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2575
2576         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2577         error with non-UTF-2000-Mule.
2578
2579 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2580
2581         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2582         in lisp again].
2583         (Vcharset_chinese_cns11643_4): Likewise.
2584         (Vcharset_chinese_cns11643_5): Likewise.
2585         (Vcharset_chinese_cns11643_6): Likewise.
2586         (Vcharset_chinese_cns11643_7): Likewise.
2587         (Qchinese_cns11643_3): Likewise.
2588         (Qchinese_cns11643_4): Likewise.
2589         (Qchinese_cns11643_5): Likewise.
2590         (Qchinese_cns11643_6): Likewise.
2591         (Qchinese_cns11643_7): Likewise.
2592         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2593         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2594         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2595         (complex_vars_of_mule_charset): Likewise.
2596
2597 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2598
2599         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2600         96-set.
2601         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2602         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2603
2604 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2605
2606         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2607         0xFF60.
2608         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2609         (breakup_char_1): Likewise.
2610
2611         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2612         one of them includes the specified character.
2613
2614 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2615
2616         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2617
2618 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2619
2620         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2621
2622 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2623
2624         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2625         definition for non-UTF-2000 Mule.
2626         (latin_iso8859_3_to_ucs): Likewise.
2627         (latin_iso8859_4_to_ucs): Likewise.
2628         (latin_iso8859_9_to_ucs): Likewise.
2629         (latin_jisx0201_to_ucs): Likewise.
2630         (MIN_CHAR_THAI): Likewise.
2631         (MAX_CHAR_THAI): Likewise.
2632         (MIN_CHAR_GREEK): Likewise.
2633         (MAX_CHAR_GREEK): Likewise.
2634         (MIN_CHAR_HEBREW): Likewise.
2635         (MAX_CHAR_HEBREW): Likewise.
2636         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2637         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2638         (MIN_CHAR_CYRILLIC): Likewise.
2639         (MAX_CHAR_CYRILLIC): Likewise.
2640
2641 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2642
2643         * char-ucs.h (breakup_char_1): Use
2644         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2645         thai-tis620 and katakana-jisx0201 area.
2646
2647 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2648
2649         * char-ucs.h (breakup_char_1): Use
2650         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2651         area.
2652
2653         * text-coding.c (reset_encoding_stream): Fixed.
2654         (char_encode_ucs4): Delete `& 255'.
2655
2656         * char-ucs.h (breakup_char_1): Use
2657         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2658
2659 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2660
2661         * file-coding.c (Fmake_coding_system): Don't set up
2662         `codesys->fixed.size'.
2663         (encode_coding_no_conversion): Don't refer
2664         `str->codesys->fixed.size'.
2665
2666 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2667
2668         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2669         (latin_a_char_to_byte1): Deleted.
2670         (latin_a_char_to_byte2): Deleted.
2671
2672 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2673
2674         * mule-charset.c (make_charset): Add new argument `ucs_min',
2675         `ucs_max' and `code_offset'.
2676         (charset_get_byte1): New implementation [delete specific charset
2677         depended implementations].
2678         (Fmake_charset): Modify for `make_charset'.
2679         (Fmake_reverse_direction_charset): Likewise.
2680         (complex_vars_of_mule_charset): Likewise.
2681
2682         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2683         `code_offset'.
2684         (CHARSET_UCS_MIN): New macro.
2685         (CHARSET_UCS_MAX): New macro.
2686         (CHARSET_CODE_OFFSET): New macro.
2687         (MAKE_CHAR): Delete charset depended definitions [except
2688         katakana-jisx0201].
2689
2690 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2691
2692         * char-ucs.h (breakup_char_1): Use
2693         `Vdefault_coded_charset_priority_list' for C0-Controls,
2694         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2695
2696 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2697
2698         * char-ucs.h (charset_get_byte1): New function.
2699         (XCHARSET_GET_BYTE1): Deleted.
2700         (charset_get_byte2): New function.
2701         (XCHARSET_GET_BYTE2): Deleted.
2702         (Vdefault_coded_charset_priority_list): New external variable.
2703         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2704         `Vdefault_preferred_coded_charset_list'.
2705
2706         * mule-charset.c (charset_get_byte1): New function.
2707         (charset_get_byte2): New function.
2708         (Vdefault_coded_charset_priority_list): New variable.
2709         (vars_of_mule_charset): Add new variable
2710         `default-coded-charset-priority-list'.
2711
2712 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2713
2714         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2715         (XCHARSET_GET_BYTE2): New inline function.
2716         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2717         `XCHARSET_GET_BYTE2'.
2718
2719 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2720
2721         * mule-charset.c (make_charset): Initialize
2722         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2723         NULL if table is not defined.
2724
2725 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2726
2727         * text-coding.c (char_encode_shift_jis): Use
2728         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2729         `ucs_to_latin_jisx0201'.
2730
2731         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2732         (ucs_to_latin_iso8859_2): Deleted.
2733         (ucs_to_latin_iso8859_3): Deleted.
2734         (ucs_to_latin_iso8859_4): Deleted.
2735         (ucs_to_latin_iso8859_9): Deleted.
2736         (ucs_to_latin_viscii_lower): Deleted.
2737         (ucs_to_latin_viscii_upper): Deleted.
2738         (ucs_to_latin_tcvn5712): Deleted.
2739         (make_charset): Add new argument `decoding_table'; set up
2740         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2741         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2742         `decoding_table' is defined in UTF-2000.
2743         (Fmake_charset): Modify for `make_charset'.
2744         (Fmake_reverse_direction_charset): Likewise.
2745         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2746         and `GENERATE_96_SET'.
2747
2748         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2749         (ucs_to_latin_jisx0201): Deleted.
2750         (latin_iso8859_2_to_ucs): Deleted.
2751         (ucs_to_latin_iso8859_2): Deleted.
2752         (latin_iso8859_3_to_ucs): Deleted.
2753         (ucs_to_latin_iso8859_3): Deleted.
2754         (latin_iso8859_4_to_ucs): Deleted.
2755         (ucs_to_latin_iso8859_4): Deleted.
2756         (latin_iso8859_9_to_ucs): Deleted.
2757         (ucs_to_latin_iso8859_9): Deleted.
2758         (latin_viscii_lower_to_ucs): Deleted.
2759         (ucs_to_latin_viscii_lower): Deleted.
2760         (latin_viscii_upper_to_ucs): Deleted.
2761         (ucs_to_latin_viscii_upper): Deleted.
2762         (struct Lisp_Charset): Renamed `encoding_table' to
2763         `to_byte1_table'; add `to_byte2_table'.
2764         (CHARSET_DECODING_TABLE): New macro.
2765         (CHARSET_TO_BYTE1_TABLE): New macro.
2766         (CHARSET_TO_BYTE2_TABLE): New macro.
2767         (XCHARSET_DECODING_TABLE): New macro.
2768         (XCHARSET_TO_BYTE1_TABLE): New macro.
2769         (XCHARSET_TO_BYTE2_TABLE): New macro.
2770         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2771         tables.
2772         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2773         don't use `ucs_to_*' tables.
2774
2775 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2776
2777         * text-coding.c (Fmake_coding_system): Don't set up
2778         `codesys->fixed.size'.
2779         (encode_coding_no_conversion): Use `if' instead of `switch'.
2780
2781         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2782
2783 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2784
2785         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2786         (Fmake_charset): Modify for `make_charset'.
2787         (Fmake_reverse_direction_charset): Likewise.
2788         (complex_vars_of_mule_charset): Likewise.
2789
2790 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2791
2792         * text-coding.c (char_encode_shift_jis): Use table
2793         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2794
2795 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2796
2797         * text-coding.c (text_encode_generic): Use `if' instead of
2798         `switch'.
2799         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2800         decode JIS-Latin.
2801
2802 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2803
2804         * text-coding.c (encode_coding_sjis): Deleted.
2805         (char_encode_shift_jis): New function.
2806         (char_finish_shift_jis): New function.
2807         (reset_encoding_stream): Set up `encode_char' and `finish' for
2808         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2809         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2810         (char_encode_utf8): Treat `eol_type'.
2811
2812 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2813
2814         * file-coding.c (decode_coding_iso2022): Use
2815         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2816
2817 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2818
2819         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2820         to 0.7 (Hirano).
2821
2822 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2823
2824         * char-lb.h (CHAR_COLUMNS): New macro.
2825
2826 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2827
2828         * text-coding.c (char_encode_ucs4): New function.
2829         (char_finish_ucs4): New function.
2830         (encode_coding_ucs4): Deleted.
2831         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2832         (text_encode_generic): Delete local variable `charset' and `half'.
2833         (ucs_to_mule_table): Deleted.
2834         (mule_to_ucs_table): Deleted.
2835         (Fset_ucs_char): Deleted.
2836         (ucs_to_char): Deleted.
2837         (Fucs_char): Deleted.
2838         (Fset_char_ucs): Deleted.
2839         (Fchar_ucs): Deleted.
2840         (decode_ucs4): Deleted.
2841         (mule_char_to_ucs4): Deleted.
2842         (encode_ucs4): Deleted.
2843         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2844         (decode_coding_utf8): Likewise.
2845         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2846         (char_encode_iso2022): Fixed.
2847         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2848         `Fset_char_ucs' and `Fchar_ucs'.
2849         (complex_vars_of_file_coding): Don't initialize
2850         `ucs_to_mule_table'.
2851
2852         * objects-tty.c (tty_initialize_font_instance): Don't use
2853         `XCHARSET_COLUMNS'.
2854
2855         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2856         UTF-2000.
2857
2858         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2859         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2860
2861         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2862         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2863         (emchar_string_displayed_columns): Likewise.
2864
2865         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2866         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2867         (string_column_at_point): Likewise.
2868         (Fmove_to_column): Likewise.
2869
2870         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2871         `encoding_table' and `decoding_table'.
2872         (CHARSET_REP_BYTES): Deleted.
2873         (XCHARSET_REP_BYTES): Deleted.
2874         (XCHARSET_COLUMNS): Deleted.
2875         (CHAR_COLUMNS): New macro.
2876         (lookup_composite_char): Deleted unconditionally.
2877         (composite_char_string): Likewise.
2878
2879 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2880
2881         * char-ucs.h (Emchar_to_byte_table): New type.
2882         (get_byte_from_character_table): New function interface.
2883         (Vcharset_latin_jisx0201): New variable.
2884         (latin_jisx0201_to_ucs): New variable.
2885         (ucs_to_latin_jisx0201): New variable.
2886         (Vcharset_latin_iso8859_2): New variable.
2887         (latin_iso8859_2_to_ucs): New variable.
2888         (ucs_to_latin_iso8859_2): New variable.
2889         (Vcharset_latin_iso8859_3): New variable.
2890         (latin_iso8859_3_to_ucs): New variable.
2891         (ucs_to_latin_iso8859_3): New variable.
2892         (Vcharset_latin_iso8859_4): New variable.
2893         (latin_iso8859_4_to_ucs): New variable.
2894         (ucs_to_latin_iso8859_4): New variable.
2895         (Vcharset_latin_iso8859_9): New variable.
2896         (latin_iso8859_9_to_ucs): New variable.
2897         (ucs_to_latin_iso8859_9): New variable.
2898         (Vcharset_latin_viscii_lower): New variable.
2899         (latin_viscii_lower_to_ucs): New variable.
2900         (ucs_to_latin_viscii_lower): New variable.
2901         (Vcharset_latin_viscii_upper): New variable.
2902         (latin_viscii_upper_to_ucs): New variable.
2903         (ucs_to_latin_viscii_upper): New variable.
2904         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2905         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2906         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2907         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2908         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2909         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2910         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2911         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2912         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2913         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2914
2915         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2916         (Vcharset_latin_viscii_upper): New variable.
2917         (make_byte_from_character_table): New function.
2918         (put_byte_from_character_table): New function.
2919         (get_byte_from_character_table): New function.
2920         (CHAR96): New macro.
2921         (ucs_to_latin_jisx0201): New variable.
2922         (latin_jisx0201_to_ucs): New variable.
2923         (ucs_to_latin_iso8859_2): New variable.
2924         (latin_iso8859_2_to_ucs): New variable.
2925         (ucs_to_latin_iso8859_3): New variable.
2926         (latin_iso8859_3_to_ucs): New variable.
2927         (ucs_to_latin_iso8859_4): New variable.
2928         (latin_iso8859_4_to_ucs): New variable.
2929         (ucs_to_latin_iso8859_9): New variable.
2930         (latin_iso8859_9_to_ucs): New variable.
2931         (ucs_to_latin_viscii_lower): New variable.
2932         (latin_viscii_lower_to_ucs): New variable.
2933         (ucs_to_latin_viscii_upper): New variable.
2934         (latin_viscii_upper_to_ucs): New variable.
2935         (ucs_to_latin_tcvn5712): New variable.
2936         (latin_tcvn5712_to_ucs): New variable.
2937         (Qlatin_viscii_lower): New variable.
2938         (Qlatin_viscii_upper): New variable.
2939         (syms_of_mule_charset): Set up new symbol
2940         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2941         (complex_vars_of_mule_charset): Set up new charset
2942         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2943         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2944         `ucs_to_<CHARSET>' tables.
2945
2946 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2947
2948         * text-coding.c: New file.
2949
2950 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2951
2952         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2953
2954         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2955         (MAKE_CHAR): Modify for `ucs-bmp'.
2956         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2957         non-MULE characters of BMP.
2958
2959 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2960
2961         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2962         to 0.6.
2963
2964 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2965
2966         * lstream.h:
2967         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2968         - Include character.h for `CHAR_ASCII_P'.
2969
2970         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2971
2972         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2973         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2974
2975         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2976         (BYTE_C0_P): Likewise.
2977         (BYTE_C1_P): Likewise.
2978         (Lstream_get_emchar_1): Likewise.
2979         (Lstream_fput_emchar): Likewise.
2980         (Lstream_funget_emchar): Likewise.
2981         (copy_internal_to_external): Likewise.
2982         (copy_external_to_internal): Likewise.
2983
2984         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2985         (BYTE_C0_P): Likewise.
2986         (BYTE_C1_P): Likewise.
2987         (Lstream_get_emchar_1): Likewise.
2988         (Lstream_fput_emchar): Likewise.
2989         (Lstream_funget_emchar): Likewise.
2990         (copy_internal_to_external): Likewise.
2991         (copy_external_to_internal): Likewise.
2992
2993         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2994         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2995
2996         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2997         (BYTE_ASCII_P): Moved to mb-1byte.h.
2998
2999 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3000
3001         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3002
3003         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3004         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3005         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3006         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3007         (VALIDATE_CHARPTR_FORWARD): Likewise.
3008         (simple_charptr_emchar): Moved to mb-multibyte.h.
3009         (simple_set_charptr_emchar): Likewise.
3010         (simple_charptr_copy_char): Likewise.
3011         (non_ascii_charptr_emchar): Likewise.
3012         (non_ascii_set_charptr_emchar): Likewise.
3013         (non_ascii_charptr_copy_char): Likewise.
3014         (charptr_emchar): Moved to mb-*byte.h.
3015         (set_charptr_emchar): Likewise.
3016         (charptr_copy_char): Likewise.
3017
3018         * mb-1byte.h, mb-multibyte.h: New files.
3019
3020 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3021
3022         * mb-utf-8.h (MULTIBYTE): New macro.
3023         (MAX_EMCHAR_LEN): Moved from buffer.h.
3024         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3025
3026         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3027
3028         * mb-lb.h, multibyte.h: New files.
3029
3030         * char-1byte.h (Charset_ID): Moved from buffer.h.
3031         (MIN_LEADING_BYTE): Likewise.
3032         (LEADING_BYTE_ASCII): Likewise.
3033         (NUM_LEADING_BYTES): Likewise.
3034         (CHARSETP): Likewise.
3035         (CHARSET_BY_LEADING_BYTE): Likewise.
3036         (XCHARSET_LEADING_BYTE): Likewise.
3037         (XCHARSET_GRAPHIC): Likewise.
3038         (XCHARSET_COLUMNS): Likewise.
3039         (XCHARSET_DIMENSION): Likewise.
3040         (CHAR_CHARSET): Likewise.
3041         (CHAR_LEADING_BYTE): Likewise.
3042         (BREAKUP_CHAR): Likewise.
3043         (Vcharset_ascii): Likewise.
3044
3045         * buffer.h: Include multibyte.h unconditionally.
3046         (VALID_CHARPTR_P): Moved to multibyte.h.
3047         (ASSERT_VALID_CHARPTR): Likewise.
3048         (REAL_INC_CHARPTR): Likewise.
3049         (REAL_INC_CHARBYTIND): Likewise.
3050         (REAL_DEC_CHARPTR): Likewise.
3051         (INC_CHARPTR): Likewise.
3052         (INC_CHARBYTIND): Likewise.
3053         (DEC_CHARPTR): Likewise.
3054         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3055         (VALIDATE_CHARPTR_FORWARD): Likewise.
3056         (charptr_n_addr): Likewise.
3057         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3058         (simple_charptr_emchar): Moved to multibyte.h.
3059         (simple_set_charptr_emchar): Likewise.
3060         (simple_charptr_copy_char): Likewise.
3061         (non_ascii_charptr_emchar): Likewise.
3062         (non_ascii_set_charptr_emchar): Likewise.
3063         (non_ascii_charptr_copy_char): Likewise.
3064         (charptr_emchar): Likewise.
3065         (set_charptr_emchar): Likewise.
3066         (charptr_copy_char): Likewise.
3067         (charptr_emchar_n): Likewise.
3068         (Charset_ID): Moved to char-1byte.h.
3069         (Vcharset_ascii): Likewise.
3070         (CHAR_CHARSET): Likewise.
3071         (CHAR_LEADING_BYTE): Likewise.
3072         (LEADING_BYTE_ASCII): Likewise.
3073         (NUM_LEADING_BYTES): Likewise.
3074         (MIN_LEADING_BYTE): Likewise.
3075         (CHARSETP): Likewise.
3076         (CHARSET_BY_LEADING_BYTE): Likewise.
3077         (XCHARSET_LEADING_BYTE): Likewise.
3078         (XCHARSET_GRAPHIC): Likewise.
3079         (XCHARSET_COLUMNS): Likewise.
3080         (XCHARSET_DIMENSION): Likewise.
3081         (BREAKUP_CHAR): Likewise.
3082
3083 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3084
3085         * character.h: Add document about interface for characters.
3086
3087         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3088         (MAKE_CHAR): Delete comment about
3089         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3090         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3091         (BREAKUP_CHAR): Modify name of arguments.
3092         (CHAR_CHARSET): Modify name of argument.
3093
3094         * buffer.h: Delete document about Emchar accessors.
3095
3096 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3097
3098         * character.h (CHAR_INTP): Moved from buffer.h
3099         (CHAR_OR_CHAR_INTP): Likewise.
3100         (XCHAR_OR_CHAR_INT): Likewise.
3101         (CHECK_CHAR_COERCE_INT): Likewise.
3102
3103         * buffer.h (CHAR_INTP): Moved to character.h
3104         (CHAR_OR_CHAR_INTP): Likewise.
3105         (XCHAR_OR_CHAR_INT): Likewise.
3106         (CHECK_CHAR_COERCE_INT): Likewise.
3107
3108 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3109
3110         * character.h:
3111         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3112         - Include char-1byte.h, char-lb.h or char-ucs.h.
3113
3114         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3115
3116         * buffer.h: Include character unconditionally.
3117         (valid_char_p): Moved to char-*.h.
3118         (non_ascii_valid_char_p): Moved to char-lb.h.
3119
3120         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3121
3122 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3125         in UTF-2000 because it is not ported yet and not to use
3126         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3127         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3128         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3129
3130         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3131         (CHAR_ASCII_P): Moved from character.h.
3132
3133         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3134         (CHAR_ASCII_P): Likewise.
3135         (CHAR_FIELD1_MASK): Deleted.
3136         (CHAR_FIELD2_MASK): Deleted.
3137         (CHAR_FIELD3_MASK): Deleted.
3138         (MAX_CHAR_BASIC_LATIN): New macro.
3139         (CHAR_FIELD1): Deleted.
3140         (CHAR_FIELD2_INTERNAL): Deleted.
3141         (CHAR_FIELD3_INTERNAL): Deleted.
3142         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3143         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3144         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3145         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3146         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3147         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3148         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3149         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3150         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3151         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3152         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3153         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3154         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3155         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3156         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3157         (MIN_CHAR_COMPOSITION): Deleted.
3158         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3159         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3160
3161 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3162
3163         * buffer.h: Include mb-utf-8.h in UTF-2000.
3164
3165         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3166
3167         * mb-utf-8.h: New file.
3168
3169 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3170
3171         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3172         instead of `int'.
3173
3174         * mule-charset.h, buffer.h (Charset_ID): New type.
3175
3176 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3177
3178         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3179         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3180         instead of `MULE_CHAR_PRIVATE_OFFSET',
3181         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3182         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3183         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3184
3185         * character.h (Vcharset_japanese_jisx0212): New variable
3186         definition.
3187
3188 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3189
3190         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3191         (charset_by_attributes): Delete array about direction.
3192         (latin_a_char_to_charset): New variable in UTF-2000.
3193         (latin_a_char_to_byte1): New variable in UTF-2000.
3194         (latin_a_char_to_byte2): New variable in UTF-2000.
3195         (Qucs_bmp): New variable.
3196         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3197         `Bufbyte'.
3198         (next_allocated_2_byte_leading_byte): Likewise.
3199         (non_ascii_set_charptr_emchar): Likewise.
3200         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3201         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3202         `charset_by_attributes'.
3203         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3204         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3205         and `CHARSET_BY_LEADING_BYTE'.
3206         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3207         `utf-2000-version' to `vars_of_mule_charset'.
3208         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3209         define `leading-code-private-11' in UTF-2000; move setting of
3210         `utf-2000-version' from `syms_of_mule_charset'.
3211         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3212         UTF-2000.
3213
3214         * character.h (Charset_ID): New type.
3215         (LEADING_BYTE_UCS_BMP): New macro.
3216         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3217         (CHARSET_ID_OFFSET_94): New macro.
3218         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3219         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3220         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3221         final-byte.
3222         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3223         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3224         (CHARSET_ID_OFFSET_96): New macro.
3225         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3226         CHARSET_ID_OFFSET_96 and final-byte.
3227         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3228         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3229         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3230         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3231         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3232         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3233         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3234         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3235         (LEADING_BYTE_THAI_TIS620): Likewise.
3236         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3237         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3238         (CHARSET_ID_OFFSET_94x94): New macro.
3239         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3240         CHARSET_ID_OFFSET_94x94 and final-byte.
3241         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3242         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3243         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3244         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3245         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3246         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3247         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3248         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3249         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3250         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3251         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3252         (CHARSET_TYPE_128X128): New macro.
3253         (CHARSET_TYPE_256X256): New macro.
3254         (XCHARSET_PRIVATE_P): Delete unconditionally.
3255         (charset_by_attributes): Delete array about direction.
3256         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3257         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3258         (MIN_CHAR_94): New macro.
3259         (MAX_CHAR_94): New macro.
3260         (MIN_CHAR_96): New macro.
3261         (MAX_CHAR_96): New macro.
3262         (MIN_CHAR_94x94): New macro.
3263         (MAX_CHAR_94x94): New macro.
3264         (MIN_CHAR_96x96): New macro.
3265         (MAX_CHAR_96x96): New macro.
3266         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3267         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3268         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3269         - 32)'.
3270         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3271         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3272         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3273         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3274         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3275         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3276         `XCHARSET_LEADING_BYTE' to make code-point.
3277         (latin_a_char_to_charset): New variable.
3278         (latin_a_char_to_byte1): New variable.
3279         (latin_a_char_to_byte2): New variable.
3280         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3281         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3282         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3283
3284         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3285         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3286         (find_charsets_in_emchar_string): Likewise.
3287         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3288
3289         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3290         `int'.
3291         (decode_coding_iso2022): Likewise.
3292
3293         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3294         of `unsigned char'.
3295
3296         * redisplay.c (redisplay_text_width_emchar_string): Use
3297         `Charset_ID' instead of `unsigned char'.
3298         (redisplay_frame_text_width_string): Likewise.
3299
3300         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3301         `unsigned char'.
3302
3303         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3304         instead of `unsigned char'.
3305         (face_cachel_charset_font_metric_info): Likewise.
3306
3307         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3308         (get_non_ascii_char_table_value): Likewise.
3309         (get_char_table): Likewise.
3310         (put_char_table): Likewise.
3311         (map_over_other_charset): Likewise.
3312         (map_char_table): Likewise.
3313
3314         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3315         instead of `unsigned char'.
3316
3317 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3318
3319         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3320         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3321
3322         * mule-charset.c (leading_code_private_11): Don't define in
3323         UTF-2000.
3324
3325         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3326         in UTF-2000 because it is not ported yet and not to use
3327         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3328
3329 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3330
3331         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3332
3333 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3334
3335         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3336         in UTF-2000.
3337
3338         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3339         of unsigned char to store leading-byte.
3340
3341         * chartab.c (get_non_ascii_char_table_value): Don't use
3342         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3343
3344         * file-coding.c (encode_coding_big5): Delete bogus implementation
3345         in UTF2000.
3346
3347         * character.h (LEADING_BYTE_*): Delete definition for
3348         non-UTF-2000.
3349         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3350         (LEADING_BYTE_PREFIX_P): Deleted.
3351         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3352         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3353         (BUFBYTE_LEADING_BYTE_P): Deleted.
3354         (CHARSET_PRIVATE_P): Deleted unconditionally.
3355         (rep_bytes_by_first_byte): Deleted unconditionally.
3356         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3357         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3358         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3359         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3360         (CHAR_FIELD2): Deleted.
3361         (CHAR_FIELD3): Deleted.
3362         (MAKE_CHAR): Delete definition for non-UTF-2000.
3363         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3364         (breakup_char_1): New implementation.
3365         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3366         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3367
3368 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3369
3370         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3371         condition.
3372
3373 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3374
3375         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3376         (CHARSET_PRIVATE_P): Likewise.
3377         (XCHARSET_PRIVATE_P): Likewise.
3378         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3379
3380         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3381         UTF2000.
3382         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3383
3384 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3385
3386         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3387         (NUM_LEADING_BYTES): Changed from 128 to 256.
3388         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3389         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3390         UTF2000.
3391         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3392
3393         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3394         UTF2000.
3395         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3396         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3397         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3398         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3399         (Qchinese_cns11643_3): New variable in UTF2000.
3400         (Qchinese_cns11643_4): New variable in UTF2000.
3401         (Qchinese_cns11643_5): New variable in UTF2000.
3402         (Qchinese_cns11643_6): New variable in UTF2000.
3403         (Qchinese_cns11643_7): New variable in UTF2000.
3404         (syms_of_mule_charset): Define `chinese-cns11643-3',
3405         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3406         and `chinese-cns11643-7' in UTF2000.
3407         (vars_of_mule_charset): Initialize
3408         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3409         + 1 in UTF2000.
3410         (complex_vars_of_mule_charset): Setup charset
3411         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3412         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3413
3414 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3415
3416         * mule-charset.c: Move setting for `leading-code-private-11' from
3417         `syms_of_mule_charset' to `vars_of_mule_charset'.
3418
3419 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3420
3421         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3422         and `NUM_LEADING_BYTES' in assert.
3423
3424 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3425
3426         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3427         instead of 128.
3428         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3429         `NUM_LEADING_BYTES' instead of 128.
3430
3431 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3432
3433         * mule-charset.h (charset_by_leading_byte): Use
3434         `NUM_LEADING_BYTES' instead of 128.
3435         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3436
3437         * mule-charset.c (charset_by_leading_byte): Use
3438         `NUM_LEADING_BYTES' instead of 128.
3439         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3440
3441         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3442         128.
3443
3444 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3445
3446         * mule-charset.c (syms_of_mule_charset): Update to
3447         0.4 (Shin-Imamiya).
3448
3449 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3450
3451         * file-coding.c (encode_coding_sjis): New implementation for
3452         UTF2000.  (decode_coding_sjis): Ditto.
3453
3454 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3455
3456         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3457         Don't define in UTF2000.
3458
3459         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3460         defined.
3461
3462         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3463         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3464         MULE.
3465
3466 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3467
3468         * config.h.in (CHAR_IS_UCS4): New macro.
3469
3470         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3471         conventional MULE representation.
3472         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3473
3474         * mule-charset.h: Reverted to original.
3475
3476         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3477         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3478         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3479
3480         * character.h: New file.
3481
3482         * file-coding.c (Fmake_coding_system): Set 1 to
3483         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3484         defined.
3485         (encode_coding_no_conversion): New implementation for UTF2000.
3486
3487         * file-coding.h (struct Lisp_Coding_System): Add new member
3488         `fixed.size'.
3489
3490 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3491
3492         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3493         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3494         (encode_coding_iso2022): New implementation for UTF2000.
3495
3496 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3497
3498         * mule-canna.c (c2mu): New implementation for UTF2000.
3499         (m2c): Likewise.
3500
3501 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3502
3503         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3504
3505 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3506
3507         * file-coding.c (reset_encoding_stream): Set 0 to
3508         `str->iso2022.current_char_boundary' in UTF2000.
3509         (encode_utf8): Don't define in UTF2000.
3510         (encode_coding_utf8): New implementation for UTF-8 representation
3511         of UTF2000.
3512         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3513
3514 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3515
3516         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3517
3518         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3519         UTF2000.
3520         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3521
3522         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3523
3524         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3525         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3526         as UTF-8 in UTF2000.
3527         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3528         (non_ascii_valid_char_p): Don't define in UTF2000.
3529         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3530         (Lstream_get_emchar_1): Likewise.
3531         (utf-2000-version): New variable in UTF2000.
3532
3533         * lread.c (read_escape): Add new reader `u'.
3534
3535         * insdel.c (three_to_one_table): Don't define in UTF2000.
3536         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3537         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3538         UTF2000.
3539         (bytind_to_bufpos_func): Likewise.
3540         (buffer_mule_signal_inserted_region): Likewise.
3541         (vars_of_insdel): Don't initialize `three_to_one_table'.
3542         (init_buffer_text): Use `buf->text->mule_size' instead of
3543         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3544         UTF2000.
3545
3546         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3547         UTF-8 representation in UTF2000.
3548         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3549         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3550         (decode_coding_iso2022): Don't define local variable `lb' in
3551         UTF2000; don't use LEADING_BYTE in UTF2000; use
3552         `DECODE_ADD_UCS_CHAR' in UTF2000.
3553         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3554
3555         * config.h.in (UTF2000): New macro.
3556
3557         * buffer.h (struct buffer_text): Add new member `mule_size' and
3558         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3559         (valid_char_p): Return always 1 in UTF2000.
3560         (MAX_EMCHAR_LEN): 6 in UTF2000.
3561         (three_to_one_table): Don't define in UTF2000.
3562         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3563         UTF2000.
3564         (real_bytind_to_bufpos): Likewise.
3565
3566         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3567
3568 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3569
3570         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3571         representation change.
3572         (Vutf_2000_version): New variable.
3573         (leading_code_private_11): New variable.
3574         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3575         `leading-code-private-11'.
3576
3577         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3578         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3579         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3580         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3581         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3582         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3583         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3584         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3585         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3586         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3587         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3588         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3589         (MIN_CHAR_GREEK): New macro.
3590         (MAX_CHAR_GREEK): New macro.
3591         (MIN_CHAR_CYRILLIC): New macro.
3592         (MAX_CHAR_CYRILLIC): New macro.
3593         (MIN_CHAR_HEBREW): New macro.
3594         (MAX_CHAR_HEBREW): New macro.
3595         (MIN_CHAR_THAI): New macro.
3596         (MAX_CHAR_THAI): New macro.
3597         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3598         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3599         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3600         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3601         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3602         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3603         (CHAR_FIELD2): New inline function.
3604         (CHAR_FIELD3): New inline function.
3605         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3606         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3607         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3608         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3609         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3610         (MIN_CHAR_COMPOSITION): Likewise.
3611         (CHAR_LEADING_BYTE): Modified for character representation change.
3612         (MAKE_CHAR): Likewise.
3613
3614         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3615         (Vcharset_greek_iso8859_7): Likewise.
3616         (Vcharset_cyrillic_iso8859_5): Likewise.
3617         (Vcharset_hebrew_iso8859_8): Likewise.
3618         (Vcharset_thai_tis620): Likewise.
3619         (Vcharset_katakana_jisx0201): Likewise.
3620
3621 2001-01-26  Martin Buchholz <martin@xemacs.org>
3622
3623         * XEmacs 21.2.43 "Terspichore" is released.
3624
3625 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3626
3627         Type fiddling for window_config.saved_windows_count
3628         * window.c (struct window_config): 
3629         Make saved_windows_count member unsigned.
3630         * window.c (sizeof_window_config_for_n_windows): 
3631         Make parameter unsigned.
3632         * window.c (mark_window_config):
3633         * window.c (window_config_equal):
3634         * window.c (free_window_configuration):
3635         * window.c (Fset_window_configuration):
3636         * window.c (count_windows):
3637         * window.c (Fcurrent_window_configuration):
3638         * window.c (reinit_vars_of_window):
3639         Update all callers and users.
3640
3641 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3642
3643         Alignment correctness for flexible arrays.
3644         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3645         Make alignment-correct. Add interesting comments.
3646         * alloc.c (size_vector):
3647         * alloc.c (make_vector_internal):
3648         * alloc.c (make_bit_vector_internal):
3649         * alloc.c (sweep_bit_vectors_1):
3650         * fns.c (size_bit_vector):
3651         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3652         * window.c (sizeof_window_config_for_n_windows): 
3653         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3654
3655 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3656
3657         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3658
3659 2001-01-23  Andy Piper  <andy@xemacs.org>
3660
3661         * select.c (Fown_selection_internal): pass owned_p
3662
3663         * select-msw.c (mswindows_own_selection): New Signature.
3664
3665         * console.h (struct console_methods): add owned_p to
3666         _own_selection.
3667
3668         * select-x.c (x_own_selection): pass owned_p
3669         (hack_motif_clipboard_selection): use owned_p
3670         (vars_of_select_x): new variable -
3671         x_selection_strict_motif_ownership.
3672
3673 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3674
3675         * specifier.h (specifier_data_offset): Remove pointless parens.
3676         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3677
3678 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3679
3680         Make Lisp_Object sizeof methods be alignment-correct.
3681         pdump must restore objects to the same alignment as the C compiler
3682         assumes.  It really matters on SGIs.
3683         * lstream.c (aligned_sizeof_lstream): New.
3684         (sizeof_lstream): Use aligned_sizeof_lstream.
3685         (Lstream_new): Likewise.
3686         * opaque.c (aligned_sizeof_opaque): New.
3687         (sizeof_opaque): Use aligned_sizeof_opaque.
3688         (make_opaque): Likewise.
3689         * specifier.c (aligned_sizeof_specifier): New.
3690         (sizeof_specifier): Use aligned_sizeof_specifier.
3691         (make_specifier_internal): Likewise.
3692
3693 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3694
3695         * lstream.h (struct lstream): Use max_align_t for trailing data.
3696         * specifier.h (struct Lisp_Specifier): Likewise.
3697
3698 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3699
3700         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3701         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3702         (CCL_SUSPEND): Likewise.
3703         (CCL_INVALID_CMD): Likewise.
3704         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3705         (ccl_driver): Likewise.
3706         (CCL_WRITE_CHAR): Macro hygiene.
3707         (CCL_WRITE_STRING): Macro hygiene.
3708
3709 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3710
3711         Port "portable" dumper to SunOS 4 and HP-UX.
3712         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3713         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3714         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3715
3716 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3717
3718         * lisp.h (ALIGNOF): A better definition for C++.
3719
3720 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3721
3722         Macro hygiene.
3723         Fix printf warnings: int format, long int arg.
3724         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3725         (PUSH_FAILURE_POINT): Use correct printf formats.
3726         (POP_FAILURE_POINT): Use correct printf formats.  
3727         Use do {...} while (0)
3728
3729 2001-01-20  Martin Buchholz <martin@xemacs.org>
3730
3731         * XEmacs 21.2.42 "Poseidon" is released.
3732
3733 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3734
3735         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3736
3737 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3738
3739         De-kludgify FIXED_TYPE free list frobbing.
3740         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3741         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3742         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3743         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3744         * alloc.c (LRECORD_FREE_P): New.
3745         * alloc.c (MARK_LRECORD_AS_FREE): New.
3746         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3747         * alloc.c (STRUCT_FREE_P): Deleted.
3748         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3749         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3750         * alloc.c (STRING_CHARS_FREE_P): New.
3751         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3752         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3753         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3754         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3755         * alloc.c (resize_string): Use new definitions.
3756         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3757         * alloc.c (verify_string_chars_integrity): Use new definitions.
3758         * alloc.c (compact_string_chars): Use new definitions.
3759         * alloc.c: Update monster comments.
3760         * lrecord.h (lrecord_type): Add some new lrecord types for
3761         alloc.c's use.
3762
3763 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3764
3765         Improve alignment hackery.
3766         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3767         (max_align_t): Moved from opaque.h - general purpose.
3768         (ALIGN_PTR): Use size_t, not long.
3769         * opaque.h (max_align_t): Move to lisp.h.
3770
3771 2001-01-18  Norbert Koch  <nk@LF.net>
3772
3773         * gui.h: Fix and add prototypes to fix build problems.
3774
3775 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3776
3777         temacs is going away, so `dump-temacs' is now a bad name.
3778         * .dbxrc (dump-temacs): Rename to `dmp'.
3779         * .gdbinit (dump-temacs): Rename to `dmp'.
3780
3781 2001-01-17  Andy Piper  <andy@xemacs.org>
3782
3783         * glyphs.c (print_image_instance): comment to make martin happy.
3784
3785         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3786         change.
3787
3788         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3789         activation.
3790         (mswindows_tab_control_redisplay): warning suppression.
3791
3792         * glyphs-widget.c (widget_update): re-write to cope with updated
3793         items.
3794         (widget_instantiate): use new gui_item functions.
3795         (tab_control_update): deleted.
3796         (progress_gauge_update): deleted.
3797         (image_instantiator_progress_guage): take out update reference.
3798         (image_instantiator_tree_view): ditto.
3799         (image_instantiator_tab_control): ditto.
3800
3801         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3802         Right the new way.
3803         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3804         return whether anything was changed.
3805         (update_gui_item_keywords): as it sounds.
3806
3807         * gui.h: declare widget_gui_parse_item_keywords.
3808
3809         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3810         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3811
3812 2001-01-17  Martin Buchholz <martin@xemacs.org>
3813
3814         * XEmacs 21.2.41 "Polyhymnia" is released.
3815
3816 2001-01-16  Didier Verna  <didier@xemacs.org>
3817
3818         * glyphs.c (image_instantiate): don't use fallbacks when
3819         instantiating a face's background pixmap by inheritance.
3820
3821 2001-01-14  Mike Sperber <mike@xemacs.org>
3822
3823         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3824         Conditionalize accordingly.
3825
3826 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3827
3828         * dumper.c (pdump_file_get): Fix a compiler warning.
3829
3830 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3831
3832         Make Purify happy when pdumping.
3833         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3834         iniitalizing all bits of new lisp object memory.
3835         * symbols.c (Fmake_local_variable): Likewise.
3836         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3837         * symbols.c (Fdefvaralias): Likewise.
3838         * mule-charset.c (vars_of_mule_charset): Likewise.
3839
3840 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3841         Add the `-nd' flag when running pre-dump operations under the debugger.
3842         * .dbxrc (run-temacs): Add `-nd'.
3843         * .dbxrc (update-elc): Likewise.
3844         * .dbxrc (dump-temacs): Likewise.
3845         * .gdbinit (run-temacs): Likewise.
3846         * .gdbinit (check-temacs): Likewise.
3847         * .gdbinit (update-elc): Likewise.
3848         * .gdbinit (dump-temacs): Likewise.
3849
3850 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3851
3852         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3853         export OBJECT_MODE=64
3854         configure --pdump --use-union-type=no
3855         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3856         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3857
3858         * miscplay.c (sndcnv8U_2mono):
3859         Avoid two uses of `++' in the same expression.
3860         Suppresses a GCC warning.
3861
3862 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3863
3864         Make sure future compilers don't miscompile alloc.c.
3865         * alloc.c:
3866         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3867         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3868
3869 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3870
3871         * dumper.c: A little post-pdump-rename comment fixup.
3872
3873 2001-01-09  Jerry James  <james@eecs.ku.edu>
3874
3875         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3876
3877 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3878
3879         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3880         script:
3881         #!/bin/sh
3882         replace_symbol () {
3883           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3884         }
3885
3886         replace_symbol pdump_wire_lists pdump_weak_object_chains
3887         replace_symbol pdump_wire_list dump_add_weak_object_chain
3888
3889         replace_symbol pdump_wires pdump_root_objects
3890         replace_symbol pdump_wire dump_add_root_object
3891
3892         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3893         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3894
3895         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3896         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3897         replace_symbol dumpstructinfo pdump_root_struct_ptr
3898         replace_symbol dumpstruct dump_add_root_struct_ptr
3899
3900         replace_symbol dumpopaque dump_add_opaque
3901         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3902         replace_symbol dumpopaqueinfos pdump_opaques
3903         replace_symbol dumpopaqueinfo pdump_opaque
3904
3905         replace_symbol nb_structdump nb_root_struct_ptrs
3906         replace_symbol nb_opaquedump nb_opaques
3907
3908         replace_symbol align_table pdump_align_table
3909         replace_symbol dump_header pdump_header
3910
3911         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3912         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3913
3914
3915 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3916
3917         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3918         optimizing bytecount_to_charcount().
3919
3920 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3921
3922         * config.h.in:
3923         (HAVE_DLFCN_H): Removed.
3924         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3925
3926 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3927
3928         Portable dumper maintainability improvements.
3929         * alloc.c (staticpro):
3930         * alloc.c (staticpro_nodump):
3931         * alloc.c (garbage_collect_1):
3932         * alloc.c (reinit_alloc_once_early):
3933         * alloc.c (init_alloc_once_early):
3934         * alloc.c: Move dumper functions to alloc.c.
3935         * dumper.c (pdump_backtrace):
3936         * dumper.c (pdump_dump_structs):
3937         * dumper.c (pdump_dump_opaques):
3938         * dumper.c (pdump_dump_rtables):
3939         * dumper.c (pdump_dump_wired):
3940         * dumper.c (pdump):
3941         * dumper.c (pdump_load_check):
3942         * dumper.c (pdump_load_finish):
3943         * dumper.c (pdump_file_unmap):
3944         * dumper.c (pdump_file_get):
3945         * dumper.c (pdump_resource_free):
3946         * dumper.c (pdump_resource_get):
3947         * dumper.c (pdump_file_free):
3948         * dumper.c (pdump_file_try):
3949         * dumper.c (pdump_load):
3950         Remove fixed size limits on staticpro(), staticpro_nodump(),
3951         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3952         Remove custom code for dumping lrecord_implementations_table - use
3953         dumpopaque instead.
3954         Remove (most of the) custom code for dumping staticpros - dump it
3955         like any other dynarr.
3956
3957         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3958         * dumper.c: Moved functions from alloc.c.
3959         * alloc.c (dumpstruct): Moved to dumper.c.
3960         * alloc.c (dumpopaque): Likewise.
3961         * alloc.c (pdump_wire): Likewise.
3962         * alloc.c (pdump_wire_list): Likewise.
3963
3964         * lisp.h (Dynarr_sizeof): New.
3965         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3966         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3967         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3968
3969         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3970         * lisp.h (dumpopaque): ditto.
3971         * lisp.h (pdump_wire): ditto.
3972         * lisp.h (pdump_wire_list): ditto.
3973
3974 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3975
3976         * make-src-depend (PrintPatternDeps):
3977         Use `sort' to make output independent of perl version.
3978
3979 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3980
3981         Port to Netbsd 1.5.
3982         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3983         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3984
3985 2001-01-03  Didier Verna  <didier@xemacs.org>
3986
3987         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3988         that `focus_frame' is alive before thinking of calling
3989         `redisplay_redraw_cursor' on it.
3990
3991 2001-01-08  Martin Buchholz <martin@xemacs.org>
3992
3993         * XEmacs 21.2.40 is released.
3994
3995 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3996
3997         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3998
3999 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4000
4001         * alloc.c (dbg_valmask): Make const.
4002         * alloc.c (dbg_typemask): Make const.
4003         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4004         * alloc.c (dbg_valbits): Make const.
4005         * alloc.c (dbg_gctypebits): Make const.
4006
4007 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4008
4009         * redisplay-x.c (x_bevel_area):
4010         redisplay.h (struct rune):
4011         Typo fixes in comments.
4012
4013 2001-01-05  Andy Piper  <andy@xemacs.org>
4014
4015         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4016         adjustment.
4017
4018         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4019
4020 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4021
4022         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4023
4024         * mule-ccl.c (stack_idx_of_map_multiple):
4025         Non const global data must not be initialized!
4026         Found by MIYASHITA Hisashi.
4027
4028 2001-01-02  Andy Piper  <andy@xemacs.org>
4029
4030         * frame.c (change_frame_size): make sure frame size is always
4031         marked as changed.
4032
4033         * glyphs.c (image_instance_layout): minor code reuse.
4034
4035         * window.c (Fcurrent_window_configuration): revert previous
4036         change.
4037
4038 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4039
4040         * glyphs.h:
4041         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4042
4043 2000-12-31  Andy Piper  <andy@xemacs.org>
4044
4045         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4046         when widget gets unmapped.
4047
4048         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4049         function. Make sure widgets losing focus don't just drop it.
4050         (handle_focus_event_1): record the widget with focus.
4051
4052 2000-12-31  Andy Piper  <andy@xemacs.org>
4053
4054         * window.c (allocate_window): use
4055         make_image_instance_cache_hash_table.
4056         (make_dummy_parent): ditto.
4057         (Fset_window_configuration): ditto.
4058
4059         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4060
4061         * glyphs.c (process_image_string_instantiator): use
4062         INSTANTIATOR_TYPE.
4063         (get_image_instantiator_governing_domain): ditto.
4064         (normalize_image_instantiator): ditto.
4065         (instantiate_image_instantiator): ditto.
4066         (make_image_instance_1): ditto.
4067         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4068         (instantiator_eq_equal): new function for use with instance hash
4069         tables.
4070         (instantiator_eq_hash): ditto.
4071         (make_image_instance_cache_hash_table): create a suitable hash
4072         table for storing image instances.
4073
4074         * elhash.h (hash_table_weakness): new internal weakness type
4075         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4076         declare new functions.
4077
4078         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4079         another weakness type for glyphs.
4080         (make_standard_lisp_hash_table): new function split out from
4081         make_general_lisp_hash_table.
4082         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4083         (hash_table_instantiate): ditto.
4084         (Fmake_hash_table): ditto.
4085
4086 2000-12-31  Martin Buchholz <martin@xemacs.org>
4087
4088         * XEmacs 21.2.39 is released.
4089
4090 2000-12-29  Andy Piper  <andy@xemacs.org>
4091
4092         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4093
4094         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4095         the frame has changed so that we pick up geometry changes such as
4096         menubar visibility.
4097
4098 2000-12-28  Andy Piper  <andy@xemacs.org>
4099
4100         * lastfile.c (my_ebss): make a char array so we can pad the
4101         bss. Fixes cygwin unexec.
4102
4103         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4104
4105 2000-12-26  Andy Piper  <andy@xemacs.org>
4106
4107         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4108         comments and try and be more precise about a non-/SIGIO world.
4109         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4110         SIGIO.
4111
4112         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4113         we don't normalize to zero width or height.
4114
4115 2000-12-24  Andy Piper  <andy@xemacs.org>
4116
4117         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4118
4119 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4120
4121         * s/sco5.h: SCO 5 has pty support.
4122
4123 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4124
4125         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4126         input-method-xlib.c contains whole contents of input-method-xfs.c,
4127         so we can use input-method-xlib.c's code for USE_XFONTSET
4128         using #ifdefs.
4129         * input-method-xfs.c: removed.
4130
4131 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4132
4133         * file-coding.h (enum coding_category_type): reorder enumerators to
4134         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4135         (now one greater than largest real coding_category_type enumerator).
4136         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4137         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4138         Fcoding_category_list, Fset_coding_priority_list,
4139         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4140         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4141
4142 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4143
4144         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4145         * redisplay-output.c (redisplay_output_window): Clear top of window
4146         when face is changed.
4147         * redisplay-x.c (x_redraw_exposed_window): Call
4148         redisplay_clear_top_of_window.
4149         * redisplay.h: Publish redisplay_clear_top_of_window.
4150
4151 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4152
4153         * buffer.c (Fkill_buffer): Map over all devices.
4154         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4155         (list_windows): New function.
4156         (list_all_windows): Ditto.
4157         (Freplace_buffer_in_windows): Use them.
4158
4159 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4160
4161         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4162         (Fopen_database): Use `db_create' instead of `db_open'.
4163         (syms_of_database): Initialize Qqueue.
4164
4165 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4166
4167         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4168         buffer_local_face_property.
4169         * buffer.h (struct buffer): New member buffer_local_face_property.
4170         * window.c (Fset_window_buffer):  Mark window's face as changed
4171         when buffer has buffer local face.
4172         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4173         * objects.c (color_after_change): Set buffer_local_face_property
4174         when locale of face specifier is buffer.
4175         * objects.c (font_after_change): Ditto.
4176         * objects.c (face_boolean_after_change): Ditto.
4177         * glyphs.c (image_after_change): Ditto.
4178
4179 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4180
4181         * nt.c (mswindows_fstat): Report file permissions, volume serial
4182         number, etc. Code adapted from FSF Emacs 20.7.
4183
4184 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4185
4186         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4187         of stat when we don't have symbolic links, to make sure
4188         mswindows_stat is called on mswindows.
4189
4190 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4191
4192         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4193
4194 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4195
4196         * doprnt.c (emacs_doprnt_1): More printing fixes.
4197         Make printing of numbers compatible with libc and FSF Emacs.
4198         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4199         Use the system printf to do most of the hard work of formatting,
4200         instead of doprnt_1().
4201         Calculate memory to allocate for format string.
4202         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4203         (doprnt_1): Cleaner code and documentation.
4204
4205 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4206
4207         * Makefile.in.in: Use the loop variable to install headers.
4208
4209 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4210
4211         * window.c (Fsplit_window): Don't invalidate face cache.
4212
4213 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4214
4215         * minibuf.c (Fall_completions): Undo the previous change
4216         which removed checking elements start with space.
4217
4218 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4219
4220         * mule-canna.c: Didier suppression.
4221
4222 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4223
4224         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4225         (warning suppression).  Add English comment translations.
4226
4227 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4228
4229         * unexelfsgi.c (unexec): Better test for mmap failure.
4230
4231 2000-12-05  Martin Buchholz <martin@xemacs.org>
4232
4233         * XEmacs 21.2.38 is released.
4234
4235 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4236
4237         * redisplay.c (bar-cursor): Make a user variable.
4238
4239         * symsinit.h: Add init_postgresql_from_environment.
4240
4241 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4242
4243         * regex.c: Convert to clean C.
4244
4245 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4246
4247         * realpath.c:
4248         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4249         initialization.
4250         (sys_readlink): renamed to system_readlink to avoid conflict with
4251         the other sys_readlink.
4252
4253 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4254
4255         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4256
4257 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4258
4259         * postgresql.c (init_postgresql_from_environment): new function.
4260         (vars_of_postgresql): Move code initializing Lisp variables out and
4261         into init_postgresql_from_environment.
4262         emacs.c (main_1): Call init_postgresql_from_environment if and only
4263         if running a dumped XEmacs.
4264
4265 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4266
4267         * buffer.c: Make find-file-compare-truenames default to true on
4268         windows.
4269
4270         * realpath.c (win32_abs_start):
4271         (cygwin_readlink):
4272         (win32_readlink): New functions.
4273         (xrealpath): Return really real filenames on windows.
4274
4275         * fileio.c (Ffile_truename): Make file-truename work on windows.
4276
4277 2000-11-29  Didier Verna  <didier@xemacs.org>
4278
4279         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4280         * faces.c (update_face_cachel_data): use it.
4281         * faces.c (add_face_cachel): use it. Complete background pixmap
4282         frobbing in face cache if `update_face_cachel_data' has not done so.
4283
4284 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4285
4286         * search.c (string_match_1): Don't set last_thing_searched
4287         when search failed.
4288
4289 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4290
4291         * buffer.c: Include casetab.h
4292         (common_init_complex_vars_of_buffer): Use new case-table object.
4293         * buffer.h: Include casetab.h
4294         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4295         (DOWNCASE_TABLE_OF): Ditto.
4296         * bufslots.h: Remove char-tables and add case-table.
4297         * casetab.c: Include casetab.h
4298         (CASE_TABLE_P): Removed.
4299         (mark_case_table): New function.
4300         (allocate_case_table): New function.
4301         (Fcase_table_p): Use new case-table.
4302         (case_table_char): New function.
4303         (Fget_case_table): Ditto.
4304         (Fput_case_table): Ditto.
4305         (Fput_case_table_pair): Ditto.
4306         (Fcopy_case_table): Ditto.
4307         (Fcurrent_case_table): Return case-table.
4308         (Fstandard_case_table): Return case-table.
4309         (Fset_case_table): Fix doc-string.
4310         (set_case_table): Use case-table
4311         (syms_of_casetab): DEFSUBR new functions.
4312         (complex_vars_of_casetab): Set up standard case-table.
4313         * casetab.h: New file.
4314         * editfns.c: Include casetab.h
4315         (Fcompare_buffer_substrings): Use case-table.
4316         * inline.c: Include casetab.h
4317         * lisp.h: Remove bogus extern.
4318         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4319         * search.c: Include casetab.h
4320         (TRANSLATE_ASCII): Removed.
4321         (TRANSLATE): Unconditionally translate character.
4322         (looking_at_1): Use case-table.
4323         (string_match_1): Ditto.
4324         (fast_string_match): Ditto.
4325         (search_command): Ditto.
4326         (search_buffer): Separate boyer_moore.  Check whether
4327         boyer_moore is possible.
4328         (simple_search): New function.
4329         (boyer_moore): Separated from search_buffer. Translate char.
4330
4331 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4332
4333         * regex.c (RE_TR_ASCII): Removed.
4334         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4335         (PATFETCH): Call PATFETCH_RAW.
4336         (PATFETCH_RAW): Fetch Emchar.
4337         (PATUNFETCH): Decrement charptr.
4338         (GET_BUFFER_SPACE): Rename b to buf_end.
4339         (BUF_PUSH): Ditto.
4340         (BUF_PUSH_2): Ditto.
4341         (BUF_PUSH_3): Ditto.
4342         (EXTEND_BUFFER): Ditto.
4343         (SET_LIST_BIT): Ditto.
4344         (regex_compile): Ditto.  Translate non ASCII char.
4345         (compile_range): Ditto.
4346         (re_search_2): Ditto.
4347         (re_match_2_internal): Compare Emchar.
4348         (bcmp_translate): Ditto.
4349
4350 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4351
4352         * lisp.h (basic char/int typedefs):  comment improvement.
4353
4354 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4355
4356         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4357         unstomp inhibit_site_lisp.  Improve comments.
4358
4359 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4360
4361         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4362
4363 2000-11-28  Andy Piper  <andy@xemacs.org>
4364
4365         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4366         clipped display for windows in the gutter also.
4367         (redisplay_display_boxes_in_window_p): change semantics of return
4368         codes to be more intuitive.
4369
4370         * gutter.h: declare display_boxes_in_gutter_p.
4371
4372         * gutter.c (display_boxes_in_gutter_p): new function for
4373         redisplay.
4374
4375 2000-11-22  Andy Piper  <andy@xemacs.org>
4376
4377         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4378         autodetect domain.
4379
4380 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4381
4382         * callproc.c (Fold_call_process_internal):
4383         * gpm.c (Freceive_gpm_event):
4384         (tty_get_foreign_selection): Might be just warning supression.
4385         * fileio.c (Fwrite_region_internal):
4386         (Fset_visited_file_modtime):
4387         * keymap.c (event_matches_key_specifier_p):
4388         Initialize GCPROed variable.
4389
4390         * menubar-x.c (command_builder_find_menu_accelerator):
4391         Initialize before use.
4392
4393 2000-11-23  Andy Piper  <andy@xemacs.org>
4394
4395         * unexcw.c (unexec): make the resulting executable executable.
4396
4397 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4398
4399         * doc.c (get_doc_string):
4400         Use size_t, not int, for result of XSTRING_LENGTH.
4401
4402         * cmds.c (Fdelete_char):
4403         * cmds.c (Fpoint_at_eol):
4404         * cmds.c (Fself_insert_command):
4405         Use EMACS_INT, not int, for result of XINT.
4406         Someday, someone will want to insert more than 2**31 identical characters.
4407
4408         * cmds.c (Fdelete_char):
4409         * cmds.c (Fdelete_backward_char):
4410         * syntax.c (Fforward_word):
4411         * syntax.c (Fforward_comment):
4412         Make COUNT argument optional, for consistency with forward-char et al.
4413
4414 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4415
4416         * lisp.h:
4417         * print.c (long_to_string):
4418         Return a useful value: the pointer at end of data written.
4419
4420         * doprnt.c:
4421         Use `static const char * const' for constant strings.
4422         (union printf_arg): Delete `i', `ui' members.
4423         (get_doprnt_args):
4424         (emacs_doprnt_1):
4425         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4426         Do all printf-ing via the `l' specifier.
4427         Use EMACS_INT instead of int.
4428         Optimize.
4429
4430 2000-11-20  Didier Verna  <didier@xemacs.org>
4431
4432         * faces.c (update_face_cachel_data): don't frob the background
4433         pixmap when the window is being created. The face is needed but
4434         does not exist yet.
4435
4436 2000-11-20  Andy Piper  <andy@xemacs.org>
4437
4438         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4439         messing with a debug environment.
4440
4441 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4442
4443         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4444
4445 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4446
4447         * casetab.c (Fcase_table_p): Fix compile error and crash.
4448
4449 2000-11-18  Philip Aston  <philipa@mail.com>
4450
4451         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4452
4453 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4454
4455         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4456         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4457
4458 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4459
4460         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4461         * unexelf.c: Use HAVE_ELF_H.
4462         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4463         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4464         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4465         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4466         for testing.
4467         So this is an unexelfsgi.c from a different line of development.
4468
4469 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4470
4471         * regex.c (RE_TR_ASCII): New function.
4472         (RE_TRANSLATE): Call it.
4473
4474 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4475
4476         * buffer.h (TRT_TABLE_OF): Remove assert.
4477         (IN_TRT_TABLE_DOMAIN): Removed.
4478
4479 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4480
4481         * free-hook.c (log_gcpro):
4482         (show_gcprohist): Add support for GCPRO5.
4483
4484 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4485
4486         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4487
4488 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4489
4490         * symeval.h: Declare flush_all_buffer_local_cache.
4491
4492         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4493         (flush_buffer_local_cache): Added.
4494         (flush_all_buffer_local_cache): Added.
4495
4496         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4497
4498         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4499         (pdump_dump_data): Ditto.
4500         (pdump_reloc_one): Ditto.
4501         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4502         before dumping.
4503
4504
4505 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4506
4507         * buffer.c: Remove if 0'ed entry.
4508         * buffer.h: Rewrite TRT to use char-table.
4509         * bufslots.h: Remove mirror tables.
4510         * casetab.c: Remove mirror tables.
4511         (CASE_TABLE_P): New macro.
4512         (Fcase_table_p): Element of a case table is string or char-table.
4513         (make_mirror_trt_table): Removed.
4514         (set_case_table): Setup char-table from strings for backward
4515         compatibility.
4516         * dired.c (Fdirectory_files):
4517         * dired-msw.c: (mswindows_get_files):
4518         * lisp.h: Change prototype of re_pattern_buffer.
4519         * regex.c: (RE_TRANSLATE): New macro.
4520         (TRANSLATE_P): Ditto.
4521         Change translate to type RE_TRANSLATE_TYPE.
4522         * regex.h: Define RE_TRANSLATE_TYPE
4523         * search.c (TRANSLATE): New macro.
4524         (TRANSLATE_ASCII): New macro.
4525         Translate table is changed to Lisp_Object.
4526         (signal_failure): Inhibit return.
4527
4528 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4529
4530         * device-msw.c:
4531         * eldap.c:
4532         * event-Xt.c:
4533         * event-stream.c:
4534         * print.c:
4535         Do UNGCPRO before return.
4536
4537 2000-11-14  Martin Buchholz <martin@xemacs.org>
4538
4539         * XEmacs 21.2.37 is released.
4540
4541 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4542
4543         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4544         Add comments about discarded return value.
4545
4546 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4547
4548         * callint.c:
4549         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4550
4551 2000-10-27  Andy Piper  <andy@xemacs.org>
4552
4553         * gutter.c (Fset_default_gutter_position): default left and right
4554         gutters to visible.
4555         (calculate_gutter_size): calculate resonable heuristic for left
4556         and right gutter sizes.
4557         (specifier_vars_of_gutter): change left and right gutter sizes to
4558         autodetect.
4559         (calculate_gutter_size_from_display_lines): new function.
4560         (output_gutter): check for resizing on left and right gutters.
4561         (clear_gutter): don't special case top and left gutters.
4562         (specifier_vars_of_gutter): use new signature for
4563         set_specifier_caching.
4564
4565         * glyphs-x.c (x_redisplay_widget): spelling fix.
4566         * glyphs.c (specifier_vars_of_glyphs):
4567         * menubar.c (specifier_vars_of_menubar):
4568         * redisplay.c (specifier_vars_of_redisplay):
4569         * toolbar.c (specifier_vars_of_toolbar):
4570         * window.c (specifier_vars_of_window):
4571         * scrollbar.c (specifier_vars_of_scrollbar):
4572         (complex_vars_of_scrollbar): use new signature for
4573         set_specifier_caching.
4574
4575         * specifier.c (set_specifier_caching): include recompute flag.
4576         (recompute_one_cached_specifier_in_window): always recompute if
4577         flag set.
4578         (recompute_one_cached_specifier_in_frame): ditto.
4579
4580         * specifier.h (struct specifier_caching): add recompute flag.
4581
4582 2000-10-24  Andy Piper  <andy@xemacs.org>
4583
4584         * unexcw.c (copy_executable_and_dump_data_section): add new
4585         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4586         5.0 happy.
4587
4588 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4589
4590         * console-x.h (x_device): New member modifier_release_time.
4591         * event-Xt.c (x_handle_sticky_modifiers):
4592         Bound interval modifier keys are sticky.
4593         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4594         * events.h: extern it.
4595
4596 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4597
4598         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4599
4600 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4601
4602         * event-stream.c (execute_command_event): Preserve current_events
4603         and the like when event is misc-user-event.
4604         Inhibit quit during the call to maybe_echo_keys.
4605
4606 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4607
4608         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4609         symlink when buffer is killed.
4610         (inhibit_clash_detection): New variable.
4611
4612 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4613
4614         * console.c (Fset_input_method): Trigger redisplay on tty.
4615
4616 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4617
4618         * process.c (Fprocess_status): Revert to previous behavior:
4619         (process-status "nosuchprocess") ==> nil
4620
4621 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4622
4623         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4624         Work around another GCC 2.95.2 optimizer bug.
4625
4626 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4627
4628         * process.c (Fget_process): Use LIST_LOOP_2.
4629         (kill_buffer_processes): Use LIST_LOOP_2.
4630
4631         * minibuf.c (Fall_completions):
4632         Delete old non-functional code for FSF fourth argument.
4633
4634         * frame.c (frame_matches_frame_spec):
4635         Renamed from `frame_matches_frametype'.  Update all callers.
4636         (device_matches_device_spec):
4637         Renamed from 'device_matches_console_spec'.  Update all callers.
4638
4639         * doc.c (Fsubstitute_command_keys):
4640         Remove buffer overflow crash.  Small code cleanups.
4641
4642         * casetab.c (check_case_table): Simpler code.
4643
4644         * window.c (Freplace_buffer_in_windows):
4645         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4646         (and similar implementation) as Fdelete_windows_on.
4647         Update all callers.
4648
4649         * alloc.c (Fmake_list):
4650         * alloc.c (make_vector):
4651         * alloc.c (Fmake_vector):
4652         * alloc.c (make_bit_vector):
4653         * alloc.c (Fmake_bit_vector):
4654         * alloc.c (Fbit_vector):
4655         * alloc.c (Fmake_string):
4656         * alloc.c (Fpurecopy):
4657         * alloc.c (Fmemory_limit):
4658         * buffer.c:
4659         * buffer.c (Fget_buffer):
4660         * buffer.c (Fkill_buffer):
4661         * buffer.c (complex_vars_of_buffer):
4662         * bytecode.c (Fcompiled_function_stack_depth):
4663         * callint.c (Fprefix_numeric_value):
4664         * event-stream.c:
4665         * event-stream.c (Fread_key_sequence):
4666         * casetab.c:
4667         * casetab.c (Fcase_table_p):
4668         * casetab.c (check_case_table):
4669         * casetab.c (Fset_case_table):
4670         * casetab.c (Fset_standard_case_table):
4671         * chartab.c:
4672         * chartab.c (Fchar_table_type):
4673         * chartab.c (Freset_char_table):
4674         * chartab.c (Fget_char_table):
4675         * chartab.c (Fget_range_char_table):
4676         * chartab.c (Fput_char_table):
4677         * chartab.c (Fmap_char_table):
4678         * chartab.c (Fcategory_table_p):
4679         * chartab.c (Fcheck_category_at):
4680         * chartab.c (Fchar_in_category_p):
4681         * chartab.c (Fcategory_table):
4682         * chartab.c (Fcopy_category_table):
4683         * chartab.c (Fset_category_table):
4684         * chartab.c (Fcategory_designator_p):
4685         * chartab.c (Fcategory_table_value_p):
4686         * cmds.c (Fdelete_char):
4687         * cmds.c (Fdelete_backward_char):
4688         * cmds.c (Fself_insert_command):
4689         * cmds.c (Fself_insert_internal):
4690         * console.c (Fvalid_console_type_p):
4691         * console.c (Fcdfw_console):
4692         * console.c (Fconsole_type):
4693         * console.c (Fconsole_name):
4694         * console.c (Fconsole_device_list):
4695         * console.c (Fconsole_on_window_system_p):
4696         * data.c:
4697         * data.c (Feq):
4698         * data.c (Fold_eq):
4699         * data.c (Fsubr_interactive):
4700         * data.c (Fchar_to_int):
4701         * data.c (Fint_to_char):
4702         * data.c (Fsetcar):
4703         * data.c (Fsetcdr):
4704         * data.c (Fnumber_to_string):
4705         * data.c (Fstring_to_number):
4706         * data.c (Frem):
4707         * database.c (mark_database):
4708         * database.c (finalize_database):
4709         * database.c (Fdatabase_live_p):
4710         * database.c (Fdatabasep):
4711         * device-x.c (Fx_get_resource):
4712         * device.c (Fdfw_device):
4713         * dired.c:
4714         * dired.c (Ffile_name_completion):
4715         * dired.c (Ffile_name_all_completions):
4716         * dired.c (Fuser_name_completion):
4717         * dired.c (Fuser_name_completion_1):
4718         * dired.c (Fuser_name_all_completions):
4719         * doc.c (Fdocumentation):
4720         * doc.c (Fdocumentation_property):
4721         * doc.c (Fsubstitute_command_keys):
4722         * editfns.c:
4723         * editfns.c (Fchar_to_string):
4724         * editfns.c (Fstring_to_char):
4725         * editfns.c (Ftemp_directory):
4726         * editfns.c (Finsert_char):
4727         * editfns.c (Fbuffer_substring_no_properties):
4728         * editfns.c (Fnarrow_to_region):
4729         * editfns.c (Fchar_equal):
4730         * editfns.c (Fchar_Equal):
4731         * editfns.c (Ftranspose_regions):
4732         * emacs.c (Fdump_emacs):
4733         * eval.c (Fthrow):
4734         * eval.c (Fcommand_execute):
4735         * eval.c (Fautoload):
4736         * eval.c (Fbacktrace):
4737         * eval.c (Fbacktrace_frame):
4738         * events.c:
4739         * events.c (Fcopy_event):
4740         * events.c (Fcharacter_to_event):
4741         * events.c (Fevent_button):
4742         * events.c (Fevent_process):
4743         * extents.c:
4744         * extents.c (Fnext_extent_change):
4745         * extents.c (Fextent_property):
4746         * faces.c (Ffacep):
4747         * faces.c (Fmake_face):
4748         * file-coding.c:
4749         * file-coding.c (Fencode_shift_jis_char):
4750         * file-coding.c (Fencode_big5_char):
4751         * fileio.c (Ffile_name_directory):
4752         * fileio.c (Ffile_name_nondirectory):
4753         * fileio.c (Ffile_name_as_directory):
4754         * fileio.c (Fdirectory_file_name):
4755         * fileio.c (Ffile_truename):
4756         * fileio.c (Fsubstitute_in_file_name):
4757         * fileio.c (Ffile_modes):
4758         * fileio.c (Fset_file_modes):
4759         * fileio.c (Fset_default_file_modes):
4760         * fileio.c (Fverify_visited_file_modtime):
4761         * floatfns.c (Facos):
4762         * floatfns.c (Fasin):
4763         * floatfns.c (Fatan):
4764         * floatfns.c (Fcos):
4765         * floatfns.c (Fsin):
4766         * floatfns.c (Ftan):
4767         * floatfns.c (Fbessel_j0):
4768         * floatfns.c (Fbessel_j1):
4769         * floatfns.c (Fbessel_jn):
4770         * floatfns.c (Fbessel_y0):
4771         * floatfns.c (Fbessel_y1):
4772         * floatfns.c (Fbessel_yn):
4773         * floatfns.c (Ferf):
4774         * floatfns.c (Ferfc):
4775         * floatfns.c (Flog_gamma):
4776         * floatfns.c (Fexp):
4777         * floatfns.c (Fexpt):
4778         * floatfns.c (Flog):
4779         * floatfns.c (Flog10):
4780         * floatfns.c (Fsqrt):
4781         * floatfns.c (Fcube_root):
4782         * floatfns.c (Facosh):
4783         * floatfns.c (Fasinh):
4784         * floatfns.c (Fatanh):
4785         * floatfns.c (Fcosh):
4786         * floatfns.c (Fsinh):
4787         * floatfns.c (Ftanh):
4788         * floatfns.c (Fabs):
4789         * floatfns.c (Ffloat):
4790         * floatfns.c (Flogb):
4791         * floatfns.c (Fceiling):
4792         * floatfns.c (Ffloor):
4793         * floatfns.c (Fround):
4794         * floatfns.c (Ftruncate):
4795         * floatfns.c (Ffceiling):
4796         * floatfns.c (Fffloor):
4797         * floatfns.c (Ffround):
4798         * floatfns.c (Fftruncate):
4799         * fns.c (Fstring_equal):
4800         * fns.c (Fstring_lessp):
4801         * fns.c (concat2):
4802         * fns.c (concat3):
4803         * fns.c (vconcat2):
4804         * fns.c (vconcat3):
4805         * fns.c (Fsubstring):
4806         * fns.c (Fassoc):
4807         * fns.c (Fold_assoc):
4808         * fns.c (assoc_no_quit):
4809         * fns.c (Fassq):
4810         * fns.c (Fold_assq):
4811         * fns.c (assq_no_quit):
4812         * fns.c (Frassoc):
4813         * fns.c (Fold_rassoc):
4814         * fns.c (Frassq):
4815         * fns.c (Fold_rassq):
4816         * fns.c (rassq_no_quit):
4817         * fns.c (Fremassoc):
4818         * fns.c (remassoc_no_quit):
4819         * fns.c (Fremassq):
4820         * fns.c (remassq_no_quit):
4821         * fns.c (Fremrassoc):
4822         * fns.c (Fremrassq):
4823         * fns.c (remrassq_no_quit):
4824         * fns.c (Fsort):
4825         * fns.c (Fplist_get):
4826         * fns.c (Fplist_put):
4827         * fns.c (Fplist_remprop):
4828         * fns.c (Fplist_member):
4829         * fns.c (Flax_plist_get):
4830         * fns.c (Flax_plist_put):
4831         * fns.c (Flax_plist_remprop):
4832         * fns.c (Flax_plist_member):
4833         * fns.c (Fequal):
4834         * fns.c (Fold_equal):
4835         * fns.c (Frequire):
4836         * fns.c (Fbase64_encode_region):
4837         * fns.c (Fbase64_encode_string):
4838         * fns.c (Fbase64_decode_region):
4839         * frame.c:
4840         * frame.c (frame_matches_frame_spec):
4841         * frame.c (device_matches_device_spec):
4842         * frame.c (next_frame):
4843         * frame.c (previous_frame):
4844         * frame.c (Fnext_frame):
4845         * frame.c (Fprevious_frame):
4846         * frame.c (Fframe_property):
4847         * frame.c (Fset_frame_height):
4848         * frame.c (Fset_frame_size):
4849         * frame.h:
4850         * glyphs.c:
4851         * glyphs.c (if):
4852         * glyphs.c (decode_error_behavior_flag):
4853         * glyphs.c (Fmake_image_instance):
4854         * indent.c (Findent_to):
4855         * intl.c (Fignore_defer_gettext):
4856         * keymap.c (Fkeymapp):
4857         * keymap.c (Flookup_key):
4858         * lread.c:
4859         * lread.c (Fload_internal):
4860         * lread.c (Feval_buffer):
4861         * lread.c (Feval_region):
4862         * macros.c (Fexecute_kbd_macro):
4863         * marker.c (set_marker_internal):
4864         * marker.c (Fset_marker):
4865         * marker.c (set_marker_restricted):
4866         * marker.c (Fcopy_marker):
4867         * marker.c (noseeum_copy_marker):
4868         * menubar.c:
4869         * menubar.c (Fpopup_menu):
4870         * minibuf.c:
4871         * mule-charset.c (Fcharset_name):
4872         * mule-charset.c (Fchar_charset):
4873         * mule-charset.c (Fchar_octet):
4874         * mule-charset.c (Fsplit_char):
4875         * mule-wnnfns.c (Fwnn_open):
4876         * mule-wnnfns.c (Fwnn_dict_comment):
4877         * mule-wnnfns.c (Fwnn_quit_henkan):
4878         * mule-wnnfns.c (Fwnn_word_toroku):
4879         * mule-wnnfns.c (Fwnn_word_sakujo):
4880         * mule-wnnfns.c (Fwnn_word_use):
4881         * mule-wnnfns.c (Fwnn_hindo_set):
4882         * objects.c:
4883         * objects.c (Fmake_color_instance):
4884         * objects.c (Fmake_font_instance):
4885         * print.c (Fwrite_char):
4886         * process.c:
4887         * process.c (mark_process):
4888         * process.c (print_process):
4889         * process.c (get_process_from_usid):
4890         * process.c (Fprocessp):
4891         * process.c (Fprocess_live_p):
4892         * process.c (Fget_process):
4893         * process.c (Fget_buffer_process):
4894         * process.c (get_process):
4895         * process.c (Fprocess_id):
4896         * process.c (Fprocess_name):
4897         * process.c (Fprocess_command):
4898         * process.c (init_process_io_handles):
4899         * process.c (start_process_unwind):
4900         * process.c (Fstart_process_internal):
4901         * process.c (Fopen_multicast_group_internal):
4902         * process.c (Fset_process_window_size):
4903         * process.c (read_process_output):
4904         * process.c (send_process):
4905         * process.c (Fprocess_tty_name):
4906         * process.c (Fset_process_buffer):
4907         * process.c (Fprocess_buffer):
4908         * process.c (Fprocess_mark):
4909         * process.c (set_process_filter):
4910         * process.c (Fset_process_filter):
4911         * process.c (Fprocess_filter):
4912         * process.c (Fprocess_send_region):
4913         * process.c (Fprocess_send_string):
4914         * process.c (exec_sentinel):
4915         * process.c (Fset_process_sentinel):
4916         * process.c (Fprocess_sentinel):
4917         * process.c (status_notify):
4918         * process.c (Fprocess_status):
4919         * process.c (Fprocess_exit_status):
4920         * process.c (process_send_signal):
4921         * process.c (Fprocess_send_eof):
4922         * process.c (deactivate_process):
4923         * process.c (remove_process):
4924         * process.c (Fdelete_process):
4925         * process.c (kill_buffer_processes):
4926         * process.c (Fprocess_kill_without_query):
4927         * process.c (Fprocess_kill_without_query_p):
4928         * rangetab.c:
4929         * rangetab.c (Fget_range_table):
4930         * rangetab.c (Fput_range_table):
4931         * rangetab.c (Fremove_range_table):
4932         * rangetab.c (Fclear_range_table):
4933         * search.c:
4934         * search.c (Fskip_chars_forward):
4935         * search.c (Fskip_chars_backward):
4936         * search.c (Fskip_syntax_forward):
4937         * search.c (Fskip_syntax_backward):
4938         * search.c (search_command):
4939         * search.c (Freplace_match):
4940         * search.c (Fregexp_quote):
4941         * select.c (Fown_selection_internal):
4942         * select.c (Fselection_owner_p):
4943         * select.c (Fselection_exists_p):
4944         * select.c (Fget_selection_internal):
4945         * specifier.c:
4946         * symbols.c:
4947         * symbols.c (Fintern):
4948         * symbols.c (Fintern_soft):
4949         * symbols.c (Funintern):
4950         * symbols.c (Fapropos_internal):
4951         * symbols.c (Fset_default):
4952         * syntax.c:
4953         * syntax.c (Fsyntax_table_p):
4954         * syntax.c (Fcopy_syntax_table):
4955         * syntax.c (Fset_syntax_table):
4956         * syntax.c (Fchar_syntax):
4957         * syntax.c (syntax_match):
4958         * syntax.c (Fmatching_paren):
4959         * syntax.c (Fforward_word):
4960         * syntax.c (scan_lists):
4961         * syntax.c (Fscan_lists):
4962         * syntax.c (Fscan_sexps):
4963         * syntax.c (Fparse_partial_sexp):
4964         * toolbar.c (Fcheck_toolbar_button_syntax):
4965         * tooltalk.doc:
4966         * window.c:
4967         * window.c (Fwindowp):
4968         * window.c (Fwindow_live_p):
4969         * window.c (Fwindow_point):
4970         * window.c (Fdelete_window):
4971         * window.c (Fnext_window):
4972         * window.c (Fprevious_window):
4973         * window.c (Fother_window):
4974         * window.c (window_loop):
4975         * window.c (Fget_lru_window):
4976         * window.c (Fsplit_window):
4977         * window.c (Fenlarge_window):
4978         * window.c (Fenlarge_window_pixels):
4979         * window.c (Fshrink_window):
4980         * window.c (Fshrink_window_pixels):
4981         * window.c (change_window_height):
4982         * window.c (Fwindow_configuration_p):
4983         * window.c (Fcurrent_window_configuration):
4984         * window.h:
4985         * casefiddle.c (casify_object):
4986         * casefiddle.c (Fupcase):
4987         * casefiddle.c (Fdowncase):
4988         * casefiddle.c (Fcapitalize):
4989         * casefiddle.c (Fupcase_initials):
4990         * casefiddle.c (casify_region_internal):
4991         * casefiddle.c (casify_region):
4992         * casefiddle.c (Fupcase_region):
4993         * casefiddle.c (Fdowncase_region):
4994         * casefiddle.c (Fcapitalize_region):
4995         * casefiddle.c (Fupcase_initials_region):
4996         * casefiddle.c (Fupcase_word):
4997         * casefiddle.c (Fdowncase_word):
4998         * casefiddle.c (Fcapitalize_word):
4999         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5000         Replace 0 with '\0' when working with bytes.
5001         Replace initial "(" with "\(" in docstrings.
5002
5003 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5004
5005         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5006
5007         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5008
5009 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5010
5011         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5012
5013 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5014
5015         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5016         correctly.
5017
5018 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5019
5020         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5021         (inhibit_auto_save_session): New variable.
5022         (vars_of_fileio): Declare and initialize them.
5023         * fileio.c (Fdo_auto_save): Don't create session file if
5024         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5025
5026 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5027
5028         * sgiplay.c (play_internal): C++ compilability.
5029         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5030         * callproc.c (Fold_call_process_internal):
5031         Remove unused vars `env', `first'.
5032         * scrollbar.c (update_scrollbar_instance):
5033         #### unused var `current_window'.
5034         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5035         etc. within #ifdef NOT_YET.
5036         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5037         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5038         * specifier.c (specifier_instance):
5039         #### unused var `tag'.
5040         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5041
5042 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5043
5044         * fns.c (Fbutlast):
5045         * fns.c (list_sort):
5046         * fns.c (Ffillarray):
5047         * fns.c (bytecode_nconc2):
5048         * fns.c (Fnconc):
5049         * fns.c (mapcar1):
5050         * fns.c (Fmapconcat):
5051         Be pedantically 64-bit correct.  For the time when someone will
5052         want to have a list with length > 2**32.
5053
5054         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5055         Work around MIPSpro compiler bug.
5056
5057         * process-unix.c (unix_kill_child_process): Add snarky comment.
5058         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5059
5060         * config.h.in: Oops, _getpt ==> _getpty
5061
5062 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5063
5064         * config.h.in:
5065         * regex.c:
5066         Use void*, not char*, as return type of alloca().
5067
5068         * alloc.c (free_marker): Side effect inside assert expression!
5069
5070 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5071
5072         * mule-charset.c (Fset_charset_ccl_program): To check
5073         if the given ccl program is valid, use setup_ccl_program()
5074         instead of CHECK_VECTOR().
5075         (Fmake_charset): Likewise.
5076
5077 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5078
5079         * faces.c (get_extent_fragment_face_cache_index):
5080         Fix cachel.merged_faces memory leak.
5081
5082 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5083
5084         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5085         Reset MSB of octets obtained by DECODE_SJIS
5086         because of the incompatibility with Emacs.
5087         (ccl_driver)<CCL_ENCODE_SJIS>:
5088         Set MSB of octets before passing them to
5089         ENCODE_SJIS because of the incompatibility
5090         with Emacs.
5091
5092 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5093
5094         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5095         (DECLARE_LRECORD): Undo the last change.
5096         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5097
5098 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5099
5100         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5101         the implementation to lrecord_implementations_table.
5102
5103 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5104
5105         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5106         initial value of `lrecord_type_##c_name' and
5107         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5108         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5109         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5110         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5111         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5112
5113 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5114
5115         * miscplay.c (sndcnv8S_2mono):
5116         (sndcnv2monounsigned):
5117         (sndcnvULaw_2linear):
5118         (sndcnv16swap):
5119         Remove implementation-defined behavior.
5120
5121 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5122
5123         * input-method-xlib.c: Warning suppression.
5124
5125 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5126
5127         * mule-ccl.c: Sync up with Emacs 21.0.90.
5128         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5129         Do nothing.
5130         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5131         Likewise.
5132         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5133         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5134         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5135         leading char belongs to official 2-dimensional charset.
5136         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5137         write the given character as is.  Otherwise,
5138         if it is a multibyte char, convert it by
5139         non_ascii_set_charptr_emchar, then write it.
5140         (CCL_WRITE_STRING): Likewise.
5141         (ccl_get_compiled_code): New function.
5142         (setup_ccl_program): When ccl_prog is invalid,
5143         return -1.
5144         (Fregister_code_conversion_map): New function.
5145         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5146
5147         * mule-ccl.h: Sync up with Emacs 21.0.90.
5148         (Fregister_ccl_program): export it.
5149
5150         * redisplay-msw.c (separate_textual_runs):
5151         If ccl program is not valid, don't do ccl conversion.
5152
5153         * redisplay-x.c (separate_textual_runs): Ditto.
5154
5155         * file-coding.c (Fmake_coding_system):
5156         When type is ccl and value is vector, register it
5157         with a proper symbol.  And checks whether the
5158         given ccl program is valid.
5159         (mule_decode): When calling ccl_driver, if src indicates
5160         NULL pointer, set an empty string instead.
5161         (mule_encode): Likewise.
5162
5163 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5164
5165         The following large batch of changes gets us back to a state of
5166         C++ compilability.  Extbyte is now a char, which means that
5167         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5168
5169         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5170
5171         * sound.c (Fplay_sound): Type correctness.
5172
5173         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5174         (x_get_window_property): Type correctness.
5175         (receive_incremental_selection): unsigned char ==> Extbyte
5176         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5177         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5178         (Fx_store_cutbuffer_internal): Type correctness.
5179
5180         * process-unix.c (try_to_initialize_subtty): Type correctness.
5181
5182         * objects-x.c (x_print_color_instance): Type correctness.
5183         (x_print_font_instance): Type correctness.
5184         (x_list_fonts): SExtbyte ==> Extbyte.
5185         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5186         (x_find_charset_font): SExtbyte ==> Extbyte.
5187         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5188         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5189         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5190         Use bufbyte_strcmp.
5191
5192         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5193         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5194         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5195         (BYTE_C0_P): Use bit ops for char-signedness safety.
5196         (BYTE_C1_P): Use bit ops for char-signedness safety.
5197         (CHARSET_BY_LEADING_BYTE):
5198         (CHARSET_BY_ATTRIBUTES):
5199         Always use inline function.
5200         Use type_checking_assert.
5201         Hide chlook.
5202
5203         * mule-charset.c (non_ascii_charptr_copy_char):
5204         Modify to work with both ASCII and non-ASCII characters.
5205         Improve docs and variable names.
5206         Replace over-clever fall-through switch with a simple loop.
5207         (Lstream_get_emchar_1):
5208         Replace over-clever fall-through switch with a simple loop.
5209
5210         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5211         Warning suppression.
5212
5213         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5214         the return value of Lstream_getc, which could be EOF as well.
5215
5216         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5217
5218         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5219         APIs can be used on Extbytes without casts.  Risky!
5220         (SExtbyte): Remove.
5221         (UExtbyte): Remove.
5222
5223         * input-method-xlib.c (XIM_init_device):
5224         Use Xlib.h instead of IntrinsicP.h.
5225         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5226         which will break in X11R7.
5227         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5228         to call XRegisterIMInstantiateCallback with correct types.
5229
5230         * gui-x.c (button_item_to_widget_value): Type correctness.
5231
5232         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5233
5234         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5235         (xbm_instantiate_1): Type correctness.
5236         (BUILD_GLYPH_INST):  Type correctness.
5237
5238         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5239
5240         * file-coding.c:
5241         (decode_coding_sjis):
5242         (decode_coding_big5):
5243         (decode_coding_ucs4):
5244         (decode_coding_utf8):
5245         (decode_coding_iso2022):
5246         (decode_coding_no_conversion):
5247         Make all decoding functions take an Extbyte * arg.
5248         (encode_coding_sjis):
5249         (encode_coding_big5):
5250         (encode_coding_ucs4):
5251         (encode_coding_utf8):
5252         (encode_coding_iso2022):
5253         (encode_coding_no_conversion):
5254         Make all encoding functions take a Bufbyte * arg.
5255         Use size_t instead of unsigned int for memory sizes.
5256         Only cast to unsigned char whenever dereferencing Extbyte *.
5257
5258         * doc.c (unparesseuxify_doc_string): Type correctness.
5259
5260         * console-x.c (split_up_display_spec):
5261         Rewrite without using details of internal string representation.
5262         (x_semi_canonicalize_device_connection): Type correctness.
5263
5264         * config.h.in:
5265         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5266         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5267         (HAVE_XFREE386): Removed.
5268
5269         * buffer.h (DEC_CHARPTR): `const' correctness.
5270         (bufbyte_strcmp): New.
5271         (bufbyte_memcmp): New.
5272
5273         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5274
5275         * buffer.h (XCHAR_OR_CHAR_INT):
5276         Always use inline function.
5277         Remove redundant type checking assert() - XINT will abort quite nicely.
5278
5279 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5280
5281         * search.c (Freplace_match): Set newtext to an empty string.
5282
5283 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5284
5285         * s/decosf1-3.h: Remove #include of stropts.h
5286         * s/ptx.h: Remove #include of stropts.h
5287         * s/usg5-4.h: Remove #include of stropts.h
5288         * sysproc.h:
5289         * config.h.in:
5290         Use stropts.h, not sys/stropts.h.
5291         Use strtio.h, not sys/strtio.h.
5292
5293 2000-10-04  Martin Buchholz <martin@xemacs.org>
5294
5295         * XEmacs 21.2.36 is released.
5296
5297 2000-09-21  Andy Piper  <andy@xemacs.org>
5298
5299         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5300         changes still involve copying the widget tree.
5301         (update_widget_face): make sure a change is register in the widget
5302         tree. Call update_tab_widget_face appropriately.
5303         (update_tab_widget_face): ditto.
5304         (x_tab_control_redisplay): make sure non-structural changes still
5305         involve copying the widget tree.
5306
5307 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5308
5309         * lread.c (locate_file): Check the path element is non-nil.
5310
5311 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5312
5313         * lisp.h: Warning suppression for SCO compilers.
5314
5315         * redisplay-tty.c (reset_tty_modes): Fix crash.
5316         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5317
5318 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5319
5320         Big signal/process handling overhaul.  Bugs fixed:
5321         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5322         M-x comint-kill-subjob should work for both values nil and t of
5323         process-connection-type. It was broken on most platforms.
5324         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5325         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5326         * process-unix.c: Signal/Process handling overhaul.
5327         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5328         (allocate_pty): Use all available modern methods of allocating
5329         ptys, falling back to old style BSD allocation as a last resort.
5330         Use allegedly more secure Unix98 pty allocation by default.
5331         (allocate_pty_the_old_fashioned_way): New. the last resort.
5332         (unix_create_process): Push ptem, ldterm, ttcompat where
5333         available.  Autoconfiscate.
5334         (try_to_initialize_subtty): New.
5335         (unix_kill_child_process): Proper signal handling for ptys on most
5336         platforms, using special knowledge of AIX, BSD, etc...
5337         (unix_create_process): Always disconnect_controlling_terminal() for
5338         subprocesses, whether using ptys or not.
5339         * process.h: Remove old getpt-dependent PTY code.
5340         * process.c (Fprocess_send_signal): New, obvious generic function.
5341         (decode_signal): New.
5342         (Finterrupt_process):
5343         (Fkill_process):
5344         (Fquit_process):
5345         (Fstop_process):
5346         (Fcontinue_process):
5347         (Fsignal_process): Use decode_signal.
5348         (process_send_signal):
5349         Many docstring corrections.
5350         Allow any signal to be sent to a process object.
5351         * config.h.in: Add symbols for big signal/process overhaul.
5352         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5353         * sysproc.h: Include process-related headers, where available:
5354         sys/stropts.h sys/strtio.h pty.h libutil.h
5355         * s/irix4-0.h:
5356         * s/irix5-0.h:
5357         * s/cygwin32.h:
5358         * s/gnu.h:
5359         * s/linux.h:
5360         * s/hpux.h:
5361         * s/aix3-1.h:
5362         Remove old S&M pty stuff.
5363         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5364         * systty.h: Simplify cpp hackery, improve comments.
5365         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5366
5367         * editfns.c (Fformat_time_string):
5368         Be a little more paranoid with the return value of ctime.
5369
5370         * fileio.c (check_executable):
5371         (check_writable):
5372         Use symbolic constants X_OK, W_OK.
5373
5374         * console-x.c (split_up_display_spec): Fix a warning.
5375
5376 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5377
5378         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5379         * ntproc.c (sys_spawnve): make_string ==> build_string
5380         Small clarity improvements.
5381
5382 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5383
5384         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5385
5386         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5387
5388         * config.h.in (HAVE_STRCASECMP): Remove.
5389
5390 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5391
5392         * redisplay-output.c (redisplay_output_pixmap):
5393         Cleaner and possibly more 64-bit correct code.
5394
5395 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5396
5397         * dumper.c (pdump_load_finish): move restoration of
5398         `noninteractive1' to emacs.c (main_1).
5399         * emacs.c (main_1): protect LISP-visible command-line flags
5400         from pdump_load().
5401
5402 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5403
5404         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5405         DUMP_TARGET instead of literal program names.
5406
5407 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5408
5409         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5410
5411 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5412
5413         * *: Spelling mega-patch
5414
5415 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5416
5417         * fns.c (bad_bad_turtle):
5418         Delete "Eek!" comment, since we fixed the bug to which it refers.
5419
5420 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5421
5422         * alloca.c: Replace REGISTER with register.
5423
5424 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5425
5426         * file-coding.c (ucs_to_char): Use countof.
5427
5428 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5429
5430         * file-coding.c: (ucs_to_char):
5431         (complex_vars_of_file_coding):
5432         Use countof instead of sizeof.
5433         Use CHECK_NATNUM instead of CHECK_INT.
5434
5435         * sysdep.c (strcasecmp): Remove.
5436         * device-x.c (ascii_strcasecmp): New.
5437         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5438         Avoid using non-standard non-portable strcasecmp.
5439
5440 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5441
5442         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5443         * font-lock.c: remove reference to emacsfns.h.
5444         * search.c: small doc improvement.
5445         * event-Xt.c: correct file names in comments.
5446         * console-x.h Correct file names in comments.
5447         * frame.c: Correct file names in comments.
5448         * event-stream.c: remove Energize from comments.
5449
5450 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5451
5452         * symeval.h (DEFERROR_STANDARD):
5453         (DEFERROR):
5454         (DEFSYMBOL):
5455         (DEFSYMBOL_NO_DUMP):
5456         (DEFSYMBOL_MULTIWORD_PREDICATE):
5457         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5458         (DEFKEYWORD):
5459         The construct &##name is not sensible C.
5460         Fixes compilation errors with Unixware native compiler.
5461
5462 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5463
5464         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5465         (next_frame_internal): Removed.  We now just have next_frame.
5466         (next_frame):
5467         Write a simpler and cleaner one-pass algorithm.
5468         Remove called_from_delete_device arg and #ifdefed-out code.
5469         (previous_frame):
5470         Renamed from prev_frame.  Update callers.
5471         Cleaned up to have an analogous implementation to next_frame.
5472         (other_visible_frames_internal): Remove the
5473         called_from_delete_device bogus arg, and hence, remove this
5474         function.  Just use other_visible_frames().
5475
5476         * window.c (Fnext_window):
5477         Prettify docstring.
5478         Since next_frame() is guaranteed to return a frame, remove check
5479         for nil inserted in previous patch.
5480         (Fprevious_window):
5481         Prettify docstring.
5482         Make code look more like Fnext_window.
5483         (window_loop):
5484         Respect the `console' arg when iterating through windows.
5485         Fixes bug: (get-buffer-window buffer t device) not respecting
5486         the `device' arg.
5487         This function needs more work, as others have pointed out.
5488
5489         * frame.h: Rename prev_frame to previous_frame.
5490         device_matches_console_spec no longer takes a `frame' arg.
5491
5492         * s/gnu.h:
5493         * s/linux.h:
5494         * s/hpux.h:
5495         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5496         From "Golubev I. N." <gin@mo.msk.ru>.
5497
5498         * make-src-depend: Fix typo.
5499
5500 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5501
5502         * window.c (Fnext_window):
5503         next_frame() might return nil, not a frame.
5504         Fixes this crash:
5505         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5506
5507         * frame.c (next_frame_internal):
5508         We've passed a frame if we've passed its device.
5509         Fixes this crash:
5510         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5511 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5512
5513 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5514
5515         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5516         Allow option to suppress accelerators in menu/dialog items.
5517         (populate_or_checksum_helper): Pass dialog title through above.
5518
5519 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5520
5521         * event-msw.c (mswindows_key_to_emacs_keysym):
5522         Add "pause" key, fix "menu" key.
5523
5524 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5525
5526         * eval.c (reinit_vars_of_eval):
5527         Increase max_lisp_eval_depth to 1000,
5528         required for thai-xtis.el to byte-compile under some circumstances.
5529
5530 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5531
5532         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5533         From Kenichi Handa.
5534
5535 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5536
5537         * make-src-depend: Make the generated Makefiles smaller.
5538
5539         * s/hpux.h (SETUP_SLAVE_PTY):
5540         Provide a %d in the format string for the errno argument.
5541
5542         * editfns.c (Ftemp_directory):
5543         Warning fix.
5544         Avoid buffer overrun on very long file name.
5545
5546         * input-method-xlib.c (XIM_init_device):
5547         6th parameter of XRegisterIMInstantiateCallback has different
5548         pointer types on different OSes, so simply cast to (void *).
5549
5550         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5551
5552         * sysdll.c (dll_open):
5553         shl_load will hang hard if passed a NULL filename.
5554         Simply return NULL for compatibility with dlopen.
5555         * sysdll.c: Conform to XEmacs coding standards.
5556
5557         * sysdep.c (get_pty_max_bytes):
5558         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5559
5560 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5561
5562         * tooltalk.c: Add #include <syssignal.h>
5563
5564 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5565
5566         * s/hpux.h: Don't use undefined function sigunblock().
5567
5568 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5569
5570         * config.h.in: Add HAVE_BALLOON_HELP.
5571         * emacs.c: Use HAVE_BALLOON_HELP.
5572         * Makefile.in.in (x_objs):
5573         Make Balloon Help conditional on finding shape.h.
5574
5575 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5576
5577         * syntax.c (regex_emacs_buffer_p): New variable.
5578         * syntax.h (regex_emacs_buffer_p): extern.
5579         * search.c (looking_at_1):
5580         (string_match_1):
5581         (fast_string_match):
5582         (search_buffer): Set regex_emacs_buffer_p.
5583         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5584         when before_dot, at_dot, after_dot.
5585
5586 2000-08-23  Andy Piper  <andy@xemacs.org>
5587
5588         * gui-x.c (popup_selection_callback): Only set action_occurred
5589         when we really have an image instance.
5590         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5591
5592 2000-08-23  Andy Piper  <andy@xemacs.org>
5593
5594         * gui-msw.c (mswindows_handle_gui_wm_command): set
5595         action_occurred.
5596         * gui-x.c (popup_selection_callback): ditto.
5597
5598         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5599         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5600         (struct Lisp_Image_Instance): add action_occurred flag.
5601
5602         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5603         (image_instance_changed): ditto.
5604         (reset_frame_subwindow_instance_cache): only unmap windows - do
5605         not remove them from the cache also.
5606
5607         * glyphs-widget.c (tab_control_update): better debug.
5608         (progress_gauge_update): ditto.
5609         (layout_update): ditto.
5610         (layout_instantiate): ditto.
5611         (tab_control_order_only_changed): cope with null pending items.
5612
5613         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5614         debug. Force selection of an item when an action occurred. Cope
5615         with null pending_items.
5616         (mswindows_progress_gauge_redisplay): better debug.
5617         * glyphs-x.c (x_tab_control_redisplay): ditto.
5618
5619         * redisplay.c (redisplay_frame): reset the frame cache if the
5620         frame is garbaged.
5621
5622         * window.c (Fset_window_configuration): potentially re-enable
5623         frame cache reset.
5624         (window_unmap_subwindows): need to finalize instances here since
5625         it is only used in mark_window_as_deleted.
5626
5627 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5628
5629         * nas.c (SndOpenDataForReading):
5630         nas.c (WaveOpenDataForReading):
5631         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5632         Somehow escaped from the 2000-08-14 patch.
5633
5634 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5635
5636         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5637         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5638
5639 2000-08-21  Andy Piper  <andy@xemacs.org>
5640
5641         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5642         window if it is not already displayed.
5643
5644         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5645         it is not already displayed.
5646
5647         * window.c (Fset_window_configuration): don't reset the frame
5648         cache.
5649
5650         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5651         instances from the frame cache if we are actually finalizing them.
5652         (reset_frame_subwindow_instance_cache): reset frame cache only
5653         after unmapping everything.
5654         (map_subwindow): set displayed flag after mapping.
5655
5656 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5657
5658         * data.c (indirect_function):
5659         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5660
5661         * eval.c (function_argcount):
5662         Use original function when signaling errors.
5663
5664 2000-08-18  Andy Piper  <andy@xemacs.org>
5665
5666         * frame.c (delete_frame_internal): use new
5667         free_frame_subwindow_instances name.
5668
5669         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5670         (add_tab_item): make return type correct.
5671         (mswindows_tab_control_instantiate): assert index of tab.
5672         (mswindows_tab_control_redisplay): Re-code to use
5673         gui_item_equal_sans_selected and gui_item_list_find_selected.
5674
5675         * glyphs-widget.c (tab_control_update): Correct comment.
5676
5677         * window.c (window_unmap_subwindows): use new
5678         unmap_subwindow_instance_cache_mapper.
5679         (window_unmap_subwindows_cache_mapper): deleted.
5680         (Fset_window_configuration): comparisons should now be with
5681         EQ. Preserve the subwindow instance cache across configuration
5682         changes.
5683         (allocate_window): ditto.
5684         (make_dummy_parent): ditto.
5685
5686         * glyphs.c (free_frame_subwindow_instances): rename from
5687         free_frame_subwindow_instance_cache. finalize all instances rather
5688         than just those in the display cache.
5689         (finalize_all_subwindow_instances): walk windows unmapping and
5690         finalizing subwindows.
5691         (unmap_subwindow_instance_cache_mapper): moved from
5692         window.c. Allow finalization as well as unmapping.
5693
5694         * gui.c (gui_item_list_find_selected): new function.
5695
5696         * gui.h (gui_item_list_find_selected): declare.
5697
5698         * glyphs-x.c (x_tab_control_redisplay): pick tab
5699         explicitly. Re-code to use gui_item_equal_sans_selected and
5700         gui_item_list_find_selected.
5701
5702         * glyphs-x.h: add lwlib-utils.h
5703
5704         * buffer.c (Frecord_buffer): undo previous change.
5705
5706 2000-08-09  Vin Shelton  <acs@xemacs.org>
5707
5708         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5709         possible.  Create temporary files more securely.  The patch was
5710         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5711         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5712         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5713         for details.
5714
5715 2000-08-07  Ben Wing  <ben@xemacs.org>
5716
5717         * getloadavg.c: remove duplicate (and windows-breaking)
5718         includes of fcntl.h and sys/file.h.
5719
5720         * nt.c: remove duplicate getloadavg() definition.
5721
5722         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5723         encodings.
5724
5725 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5726
5727         * eval.c (function_argcount): If function needs to be autoloaded
5728         actually use the loaded definition.
5729         GCPRO function.
5730
5731 2000-08-05  Ben Wing  <ben@xemacs.org>
5732
5733         * getloadavg.c: add prototype for getloadavg().  remove
5734         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5735         of the code).  remove duplicate header includes.
5736
5737         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5738
5739         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5740         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5741         useful load average.
5742
5743         * alloc.c (reinit_alloc_once_early): removed references to
5744         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5745         the lisp vars are the only things referencing the malloc_sbrk_*
5746         vars, and they were already if 0'd out.  these vars only exist
5747         in the older malloc.c, which is basically unused, and they're
5748         only for informational purposes.
5749
5750         * m\*.h: removed useless VIRT_ADDR_VARIES.
5751
5752         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5753
5754 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5755
5756         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5757         color if the image is a mono pixmap.
5758
5759 2000-07-30  Ben Wing  <ben@xemacs.org>
5760
5761         * Makefile.in.in (release):
5762         Remove stray @.
5763
5764         * buffer.c (directory_is_current_directory):
5765         * dired-msw.c (mswindows_get_files):
5766         * dired.c:
5767         * dired.c (Fdirectory_files):
5768         * dired.c (file_name_completion_stat):
5769         * dired.c (Ffile_attributes):
5770         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5771         preprocessor tricks, to avoid problems on some machines
5772         (e.g. SCO).
5773
5774         * callproc.c (egetenv): GC docs.
5775
5776         * console-msw.h:
5777         * console-msw.h (struct mswindows_dialog_id):
5778         * lrecord.h (lrecord_type):
5779         New object for use with MSW dialogs.
5780
5781         * console.h (struct console_methods):
5782         New enable/disable frame methods, for proper modal dialogs.
5783
5784         * device-msw.c (msprinter_default_printer): Fix to follow
5785         proper Mule conventions.
5786
5787         * device-msw.c:
5788         * device-msw.c (signal_open_printer_error):
5789         * device-msw.c (msprinter_init_device):
5790         * device-msw.c (ensure_not_printing):
5791         * device-msw.c (plist_get_margin):
5792         * device-msw.c (Fmsprinter_select_settings):
5793         * device-msw.c (finalize_devmode):
5794         * device-msw.c (Fmsprinter_settings_despecialize):
5795         * device-msw.c (signal_enum_priner_error):
5796         * extents.c (decode_extent):
5797         * extents.c (decode_map_extents_flags):
5798         * extents.c (decode_extent_at_flag):
5799         * extents.c (Fextent_at):
5800         * extents.c (Fextents_at):
5801         * extents.c (symbol_to_glyph_layout):
5802         [[[[2]]]] Use structured errors.
5803
5804         * dialog-msw.c:
5805         * dialog-msw.c (mswindows_is_dialog_msg):
5806         * dialog-msw.c (mark_mswindows_dialog_id):
5807         * dialog-msw.c (dialog_proc):
5808         * dialog-msw.c (handle_question_dialog_box):
5809         * dialog-msw.c (syms_of_dialog_mswindows):
5810         Define new object to clean up marking; use it as a dialog identifier.
5811         Call new delete-dialog-box-hook.
5812
5813         * dialog-x.c (dbox_selection_callback):
5814         * dialog-x.c (dbox_descriptor_to_widget_value):
5815         * dialog-x.c (x_make_dialog_box_internal):
5816         Call new delete-dialog-box-hook.
5817         Return an id.
5818
5819         * dialog.c:
5820         * dialog.c (syms_of_dialog):
5821         * dialog.c (vars_of_dialog):
5822         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5823
5824         * eval.c:
5825         * eval.c (signal_call_debugger):
5826         when noninteractive, output stack traces on the console instead
5827         of in a (never-seen) buffer.
5828
5829         * eval.c (signal_type_error):
5830         * eval.c (invalid_argument_2):
5831         * lisp.h:
5832         new funs for use w/structured errors.
5833
5834         * event-Xt.c:
5835         * event-Xt.c (x_to_emacs_keysym):
5836         * event-Xt.c (describe_event):
5837         * event-Xt.c (emacs_Xt_event_handler):
5838         * event-Xt.c (vars_of_event_Xt):
5839         * event-msw.c:
5840         * event-msw.c (mswindows_wnd_proc):
5841         * event-msw.c (vars_of_event_mswindows):
5842         rename {x,mswindows}-debug-events to debug-{}-events for
5843         consistency with other debug-foo variables.
5844
5845         * event-stream.c:
5846         document next-event more clearly.
5847
5848         * fileio.c (Ffile_name_directory):
5849         * fileio.c (Ffile_name_nondirectory):
5850         * fileio.c (Funhandled_file_name_directory):
5851         * fileio.c (file_name_as_directory):
5852         * fileio.c (Ffile_name_as_directory):
5853         * fileio.c (directory_file_name):
5854         * fileio.c (Fdirectory_file_name):
5855         * fileio.c (Fmake_temp_name):
5856         * fileio.c (Ffile_truename):
5857         * fileio.c (Fsubstitute_in_file_name):
5858         * fileio.c (expand_and_dir_to_file):
5859         * fileio.c (barf_or_query_if_file_exists):
5860         * fileio.c (check_executable):
5861         * fileio.c (Ffile_exists_p):
5862         * fileio.c (Ffile_writable_p):
5863         * fileio.c (Ffile_directory_p):
5864         * fileio.c (Ffile_regular_p):
5865         * fileio.c (Ffile_modes):
5866         * fileio.c (Ffile_newer_than_file_p):
5867         * fileio.c (Fverify_visited_file_modtime):
5868         * fileio.c (Fset_visited_file_modtime):
5869         * fileio.c (auto_save_1):
5870         (1). (2).
5871         fix up gcpro's.
5872
5873         * frame-msw.c:
5874         * frame-msw.c (mswindows_init_frame_1):
5875         * frame-msw.c (mswindows_enable_frame):
5876         * frame-msw.c (error_frame_unsizable):
5877         * frame-msw.c (msprinter_init_frame_1):
5878         * frame-msw.c (msprinter_init_frame_3):
5879         * frame-msw.c (console_type_create_frame_mswindows):
5880         (2).
5881         implement new enable/disable frame methods.
5882
5883         * frame-x.c:
5884         * frame-x.c (x_enable_frame):
5885         * frame-x.c (console_type_create_frame_x):
5886         implement new enable/disable frame methods.
5887
5888         * frame.c:
5889         * frame.c (Fdisable_frame):
5890         * frame.c (syms_of_frame):
5891         * frame.h (struct frame):
5892         implement new enable/disable frame methods/functions.
5893
5894         * general-slots.h:
5895         add initial-focus.
5896
5897         * glyphs-msw.c (mswindows_widget_instantiate):
5898         comment that initial-focus should be implemented.
5899
5900         * glyphs-widget.c:
5901         * glyphs-widget.c (check_valid_instantiator):
5902         * glyphs-widget.c (check_valid_orientation):
5903         * glyphs-widget.c (check_valid_tab_orientation):
5904         * glyphs-widget.c (check_valid_justification):
5905         * glyphs-widget.c (check_valid_border):
5906         * glyphs-widget.c (check_valid_callback):
5907         * glyphs-widget.c (check_valid_int_or_function):
5908         * glyphs-widget.c (check_valid_string_or_vector):
5909         * glyphs-widget.c (check_valid_item_list_1):
5910         * glyphs-widget.c (widget_validate):
5911         * glyphs-widget.c (combo_box_validate):
5912         * glyphs-widget.c (widget_instantiate):
5913         * glyphs-widget.c (syms_of_glyphs_widget):
5914         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5915         * glyphs-widget.c (image_instantiator_combo_box):
5916         * glyphs-widget.c (image_instantiator_scrollbar):
5917         * glyphs-widget.c (image_instantiator_tab_control):
5918         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5919         (2).
5920         support (unimplemented) keyword initial-focus.
5921         reindent long macros.
5922
5923         * glyphs-x.c (x_redisplay_widget):
5924         * glyphs-x.c (x_button_instantiate):
5925         * glyphs-x.c (x_button_redisplay):
5926         * glyphs-x.c (x_progress_gauge_instantiate):
5927         * glyphs-x.c (x_edit_field_instantiate):
5928         * glyphs-x.c (x_combo_box_instantiate):
5929         * glyphs-x.c (x_tab_control_instantiate):
5930         * glyphs-x.c (x_label_instantiate):
5931         * gui-x.c:
5932         * gui-x.c (button_item_to_widget_value):
5933         * gui-x.c (gui_items_to_widget_values_1):
5934         * gui-x.c (gui_item_children_to_widget_values):
5935         * gui-x.c (gui_items_to_widget_values):
5936         * gui-x.h:
5937         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5938         add new flag to gui-parsing routines to indicate whether
5939         accelerator specs should be supported.
5940
5941         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5942
5943         * glyphs.h (struct Lisp_Image_Instance):
5944         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5945         add initial-focus flag.
5946
5947         * gui.c:
5948         * gui.c (syms_of_gui):
5949         * gui.c (vars_of_gui):
5950         clean up menu-no-selection-hook.
5951
5952         * gui.h:
5953         support delete-dialog-box-hook.
5954
5955         * lread.c (Fload_internal):
5956         * lread.c (locate_file_in_directory_mapper):
5957         (1).
5958
5959         * lrecord.h:
5960         * lrecord.h (struct toolbar_button):
5961         * lrecord.h (syms_of_toolbar):
5962         document how to create a new object.
5963
5964         * menubar-msw.c (mswindows_char_is_accelerator):
5965         may be called on frames w/o menus.
5966
5967         * menubar.c (vars_of_menubar):
5968         clean up :filter docs.
5969
5970         * nt.c (readdir):
5971         * ntproc.c:
5972         (1).
5973
5974         * process-nt.c:
5975         * process-nt.c (validate_signal_number):
5976         * process-nt.c (signal_cannot_launch):
5977         * process-nt.c (nt_create_process):
5978         * process-nt.c (nt_send_process):
5979         * process-nt.c (nt_kill_child_process):
5980         * process-nt.c (nt_open_network_stream):
5981         * process-nt.c (syms_of_process_nt):
5982         (2).
5983         delete quote-handling.  call new lisp code that does it better.
5984
5985         * process-unix.c (connect_to_file_descriptor):
5986         * process-unix.c (allocate_pty):
5987         * process-unix.c (unix_send_process):
5988         * process-unix.c (unix_kill_child_process):
5989         * process-unix.c (unix_open_network_stream):
5990         * process-unix.c (unix_open_multicast_group):
5991         (1). (2).
5992
5993         * process.c:
5994         * process.c (Fstart_process_internal):
5995         (2).  need to canonicalize process path even if absolute.
5996
5997         * select-msw.c (symbol_to_ms_cf):
5998         * select-msw.c (ms_cf_to_symbol):
5999         * select-msw.c (cf_is_autofreed):
6000         * select-msw.c (mswindows_destroy_selection):
6001         * select.c:
6002         * select.c (syms_of_select):
6003         * select.h:
6004         support dibv5, fix bugs. (from Mike Alexander)
6005
6006         * select.c (Fget_selection_internal):
6007         * select.c (select_convert_out):
6008
6009         * sysdep.c:
6010         * sysdep.c (xemacs_stat):
6011         renamed.
6012
6013         * sysdep.c (mkdir):
6014         * sysdep.c (rmdir):
6015         but keep original stat() here because we provide encapsulation
6016         around these funs.
6017
6018         * sysfile.h:
6019         * sysfile.h (fstat):
6020         remove stat garbage.
6021
6022         * syswindows.h:
6023         fix X/MSW conflict.
6024         don't include tchar.h.  it's inappropriate because it makes
6025         compile-time distinctions when we want runtime distinctions.
6026         (we provide our own tchar replacements)
6027
6028         * toolbar.c:
6029         use default object printer for toolbar-button.
6030
6031         * unexcw.c:
6032         make sure we don't encapsulate.
6033
6034         * window.c (vars_of_window):
6035         emphasize that temp-buffer-show-hook is obsolete.
6036
6037 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6038
6039         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6040         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6041
6042         * events.c (Fevent_timestamp_lessp):
6043         Not 64-bit clean.  Use EMACS_INT, not int.
6044
6045 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6046
6047         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6048         unsigned int and changed the last enum to
6049         lrecord_type_last_built_in_type.
6050         (lrecord_implementations_table): changed prototype to know how
6051         long the array is supposed to be.
6052         (lrecord_type_count): new unsigned int to keep track of the
6053         current number of lisp lrecord types.
6054         (DEFINE_EXTERNAL_LRECORD):
6055         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6056         dynamic-modules to declare new lisp types. They are the same
6057         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6058         int for each new type, and increment lrecord_type_count by 1.
6059
6060         * alloc.c (lrecord_implementations_table): Changed to reference
6061         lrecord_type_last_built_in_type for the size of the array.
6062         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6063
6064 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6065
6066         * glyphs.h (check_valid_item_list): Renamed from
6067         check_valid_item_list_1.
6068
6069 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6070
6071         * select.c (Qselect_coerce): New.
6072         * select.c (Vselection_coercion_alist): New.
6073         * select.c (syms_of_select): Declare.
6074         * select.c (get-selection-internal): Use it.
6075         Use the new select-coerce functionality.
6076
6077         * select.c (select_coerce): New.
6078         * select.h (select_coerce): Declare.
6079         New function to coerce one type of data into another.
6080
6081 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6082
6083         * callproc.c (Fcall_process_internal):
6084         (Fcall_process_internal):
6085         * process-unix.c (unix_create_process):
6086         Save and restore the value of errno, so that error messages are accurate.
6087
6088 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6089
6090         * elhash.c (print_hash_table):
6091         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6092         Prettify docstrings and indentation.
6093
6094 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6095
6096         * window.c (Fwindow_pixel_edges): Subtract frame border and
6097         gutter size.
6098
6099 2000-07-31  Andy Piper  <andy@xemacs.org>
6100
6101         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6102         will acknowledge the change.
6103
6104         * glyphs.h: declare tab_control_order_only_changed.
6105
6106         * glyphs-x.c (x_tab_control_redisplay): use
6107         tab_control_order_only_changed.
6108
6109         * glyphs-widget.c (tab_control_order_only_changed): new function.
6110
6111         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6112         tab_control_order_only_changed.
6113
6114         * gui.c (gui_item_equal_sans_selected): new function.
6115         (gui_item_equal): use it.
6116
6117         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6118         :properties in favor of :items..
6119
6120         * glyphs-widget.c (check_valid_item_list): rename from
6121         check_valid_item_list_1.
6122         (check_valid_item_list_1): renamed.
6123         (combo_box_validate): deprecate :properties in favor of :items.
6124         (widget_instantiate): ditto.
6125         (tab_control_update): ditto.
6126         (image_instantiator_combo_box): ditto.
6127         (image_instantiator_tree_view): ditto.
6128         (image_instantiator_tab_control): ditto.
6129         (layout_post_instantiate): remove dead code.
6130
6131         * print.c (debug_print_no_newline): only write to debugger if in
6132         WIN32_NATIVE.
6133
6134         * elhash.c (Fmake_hash_table): update doc string.
6135
6136         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6137         messages whilst in GC. This at least stops XEmacs crashing but has
6138         the potential for wierd behaviour.
6139
6140 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6141
6142         * config.h.in:
6143         Make existence of s&m files optional.
6144
6145         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6146         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6147         * s/gnu.h: Remove HAVE_GETLOADAVG.
6148         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6149         * s/sol2.h: Remove HAVE_GETLOADAVG.
6150         * lisp.h: Remove getloadavg() declaration.
6151         * fns.c:
6152         Include <sys/loadavg.h> if available.
6153         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6154         * config.h.in:  Group together getloadavg()-related macros.
6155         Use only configure-time tests to detect getloadavg().
6156
6157 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6158
6159         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6160
6161 2000-07-25  Andy Piper  <andy@xemacs.org>
6162
6163         * syswindows.h: add tchar.h for native builds.
6164
6165         * frame.c (syms_of_frame): remove set-glyph-image.
6166
6167         * general-slots.h: add Qset_glyph_image.
6168
6169         * glyphs-widget.c (layout_update): add domain arg to
6170         set-glyph-image.
6171         (syms_of_glyphs_widget): remove set-glyph-image.
6172
6173 2000-07-23  Ben Wing  <ben@xemacs.org>
6174
6175         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6176         Vpopup_frame_list.
6177
6178 2000-07-22  Andy Piper  <andy@xemacs.org>
6179
6180         * symsinit.h: add syms_of_win32().
6181
6182         * gui-msw.c (syms_of_gui_mswindows): remove
6183         Fmswindows_shell_execute.
6184         (Fmswindows_shell_execute): moved to win32.c.
6185
6186         * emacs.c (main_1): add syms_of_win32 ().
6187
6188         * win32.c (init_potentially_nonexistent_functions): rewrite in
6189         compiler-friendly terms.
6190         (Fmswindows_shell_execute): move here from gui-msw.c.
6191         (syms_of_win32): new.
6192
6193         * device-msw.c (Fmswindows_printer_list): clean up args to
6194         EnumPrinters.
6195         Don't include tchar under cygwin or mingw.
6196         (msprinter_default_printer): make cygwin-friendly.
6197
6198 2000-07-21  Andy Piper  <andy@xemacs.org>
6199
6200         * glyphs-widget.c (image_instantiator_tree_view): use tab
6201         control's update function.
6202         (layout_property): new function. Retrieve items.
6203
6204         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6205         function. Re-populate the tree view from the pending items.
6206
6207         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6208         is designated the parent if the domain is an image instance. This
6209         is needed so that dirtiness can be cascade up the hierarchy and
6210         thus for layout children to be redisplayed correctly.
6211         (allocate_image_instance): rename glyph -> parent.
6212
6213         * redisplay.h: change redisplay_output_layout signature.
6214
6215         * redisplay-msw.c (mswindows_output_display_block): use domain
6216         arg.
6217
6218         * redisplay-x.c (x_output_display_block): use domain arg.
6219
6220 2000-07-10  Andy Piper  <andy@xemacs.org>
6221
6222         * window.c (Fset_window_configuration): add comment.
6223
6224         * redisplay-output.c (compare_runes):
6225         (redisplay_output_subwindow): redisplay rather than update subwindow.
6226         (redisplay_output_layout): ditto.
6227
6228         * redisplay-msw.c (mswindows_frame_output_end):
6229         (mswindows_frame_output_end): make defer window pos optional.
6230
6231         * lisp.h: add Flast.
6232
6233         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6234         normalize method. Change update method to be for changed
6235         instantiators. Add redisplay method. Change signature of layout
6236         method.
6237         (struct Lisp_Image_Instance): add instantiator.
6238         (IMAGE_INSTANCE_INSTANTIATOR): new.
6239         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6240         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6241         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6242
6243         * glyphs.c:
6244         (find_instantiator_differences): new function.
6245         (Fset_instantiator_property): new convenience function.
6246         (check_image_instance_structure): strictly check for vector
6247         instantiators.
6248         (normalize_image_instantiator): make non-static.
6249         (instantiate_image_instantiator): pass on dest_mask and use new
6250         signatures for image_instance_layout and friends.
6251         (mark_image_instance): mark the instantiator. Mark the subwindow
6252         face not the widget face.
6253         (image_instance_equal): add instantiator.
6254         (image_instance_hash): ditto.
6255         (allocate_image_instance): ditto.
6256         (Fset_image_instance_property): removed.
6257         (Fimage_instance_file_name): ditto.
6258         (Fcolorize_image_instance): ditto.
6259         (image_instance_layout): add offsets to be set.
6260         (update_image_instance): new function. update an image instance
6261         from its changed instantiator.
6262         (inherit_normalize): add dest_mask.
6263         (xbm_normalize): ditto.
6264         (xface_normalize): ditto.
6265         (xpm_normalize): ditto.
6266         (text_update): set_property -> update.
6267         (image_instantiate): use the glyph identity as a hash key, not the
6268         instantiator.
6269         (glyph_width): use new image_instance_layout signature.
6270         (glyph_ascent): ditto.
6271         (glyph_descent): ditto.
6272         (glyph_height): ditto.
6273         (glyph_query_geometry): ressurrect.
6274         (glyph_layout): ditto.
6275         (redisplay_subwindow): update -> redisplay.
6276         (syms_of_glyphs): add Fset_instantiator_property.
6277         (image_instantiator_format_create): set_property -> update.
6278
6279         * glyphs-x.c:
6280         (autodetect_normalize): add dest_maks to signature.
6281         (x_redisplay_subwindow): update -> redisplay.
6282         (x_redisplay_widget): ditto.
6283         (x_button_redisplay): ditto.
6284         (x_progress_gauge_redisplay): ditto.
6285         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6286         stacking order.
6287         (console_type_create_glyphs_x): update -> redisplay.
6288         (image_instantiator_format_create_glyphs_x): ditto.
6289
6290         * glyphs-widget.c:
6291         (check_valid_instantiator): disallow glyphs in the instantiator,
6292         they must now be vectors.
6293         (check_valid_instantiator_list): ditto.
6294         (glyph_instantiator_to_glyph): use internal symbol rather than
6295         intern.
6296         (widget_update): renamed from widget_set_property. Call cascaded
6297         update methods.
6298         (redisplay_widget): renamed from update_widget.
6299         (widget_layout): image_instance_layout now takes position as well
6300         as size.
6301         (widget_normalize): ditto.
6302         (widget_instantiate): ditto.
6303         (tab_control_query_geometry) ditto.:
6304         (tab_control_update): renamed from tab_control_set_property.
6305         (progress_gauge_update): set_property -> update.
6306         (layout_normalize): rewrite so that child instantiators are
6307         normalized also.
6308         (layout_update): new function. Create glyphs from the normalized
6309         children and cope with any other layout keywords. We do not
6310         instantiate children here that will be take care of by
6311         redisplay_output_layout.
6312         (layout_instantiate): call layout_update and not much else.
6313         (layout_post_instantiate): not sure whether this is needed
6314         anymore.
6315         (layout_query_geometry): query glyph geometry rather than
6316         image_instance geometry.
6317         (layout_layout): set offsets from pass in parameters. Use glyph
6318         geometry and layout functions rather than image instance ones.
6319         (native_layout_layout): ditto.
6320         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6321         (image_instantiator_widget): set_property -> update.
6322         (image_instantiator_buttons): ditto.
6323         (image_instantiator_progress_guage): ditto.
6324         (image_instantiator_tab_control): ditto.
6325         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6326         (image_instantiator_layout): add update method.
6327
6328         * glyphs-msw.c (bmp_normalize):
6329         (mswindows_resource_normalize): add dest_mask so that it can be
6330         proprogated by layout_normalize.
6331         (begin_defer_window_pos): make optional because it may not be the
6332         right thing to do and it introduces differences with X.
6333         (mswindows_unmap_subwindow): ditto.
6334         (mswindows_map_subwindow): ditto.
6335         (mswindows_redisplay_subwindow): renamed from
6336         mswindows_update_subwindow.
6337         (mswindows_redisplay_widget): ditto.
6338         (mswindows_button_redisplay): renamed from
6339         mswindows_button_update. Update is now what the instantiation
6340         function does for a changed instantiator.
6341         (mswindows_progress_gauge_instantiate): set the progress value
6342         here if appropriate.
6343         (mswindows_tab_control_redisplay): cope with re-ordering of the
6344         members of the tab widget by simply selecting the new top
6345         widget. This makes things appear ok if you click on a tab.
6346         (mswindows_combo_box_instantiate): image_instance_layout now takes
6347         position as well as size.
6348         (mswindows_progress_gauge_redisplay): renamed from
6349         mswindows_progress_gauge_update.
6350         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6351         (image_instantiator_format_create_glyphs_mswindows): ditto.
6352
6353         * glyphs-eimage.c (jpeg_normalize):
6354         (gif_normalize):
6355         (png_normalize):
6356         (tiff_normalize): add dest_mask so that it can be proprogated by
6357         layout_normalize.
6358
6359         * elhash.c:
6360         (print_hash_table):
6361         (hash_table_weakness_validate):
6362         (decode_hash_table_weakness):
6363         (Fhash_table_weakness):
6364         (Fhash_table_type):
6365         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6366
6367         * console.h (struct console_methods): move update_* to
6368         redisplay_*.
6369
6370 2000-07-20  Ben Wing  <ben@xemacs.org>
6371
6372         * *.[ch] (XSETOBJ): remove unused middle argument.
6373         lisp-disunion.h: correct wrap_object() to one argument.
6374
6375 2000-07-15  Ben Wing  <ben@xemacs.org>
6376
6377         * s/cygwin32.h:
6378         * s/cygwin32.h (CYGWIN_CONV_PATH):
6379         Add missing logb prototype for v1.1.
6380         Use post-b20 names and alias to pre-b20 names when pre-b20.
6381
6382         * s/windowsnt.h: [5].
6383
6384 2000-07-15  Ben Wing  <ben@xemacs.org>
6385
6386         * Makefile.in.in (x_objs):
6387         * Makefile.in.in (sheap_objs):
6388         * Makefile.in.in (objs):
6389         added win32.o, cosmetic cleanups.
6390
6391         * alloc.c (Fmake_byte_code):
6392         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6393         etc. macros which declare their own args now.
6394
6395         * alloc.c (syms_of_alloc):
6396         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6397
6398         * buffer.c:
6399         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6400
6401         * buffer.c (Fget_file_buffer):
6402         Fixed GCPRO problem.
6403
6404         * buffer.c (get_truename_buffer):
6405         Fixed comment about GC checking.
6406
6407         * buffer.c (syms_of_buffer):
6408         Undeclared those dedicated frame funs.
6409         [2].
6410
6411         * buffer.h:
6412         Define convenience macros for internal/external conversions.
6413         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6414         and Qenvironment_variable_encoding for cleaner code.
6415
6416         * bufslots.h:
6417         Remove dedicated-frame; in lisp.
6418
6419         * bytecode.c (funcall_compiled_function):
6420         [1].
6421
6422         * bytecode.c (syms_of_bytecode):
6423         [2].
6424
6425         * console-msw.c:
6426         * console-msw.c (mswindows_show_console): Rewrote.
6427
6428         * console-msw.c (Fmswindows_debugging_output): New.
6429         Sends to OutputDebugString (special MSWin debugger interface).
6430
6431         * console-msw.c (Fmswindows_message_box):
6432         Fixed stupid bugs so it works when called from kill-emacs.
6433
6434         * console-msw.c (syms_of_console_mswindows):
6435         Declare Fmswindows_debugging_output.
6436
6437         * console-msw.h:
6438         New MSWin prototypes.
6439
6440         * console-msw.h (struct mswindows_frame):
6441         New entry last-click-mods for improved button-modifier support.
6442
6443         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6444         New struct entry `popup' with corresponding accessor.
6445
6446         * console-x.c:
6447         * console-x.c (split_up_display_spec):
6448         * console-x.c (get_display_arg_connection):
6449         * console-x.c (x_semi_canonicalize_console_connection):
6450         * console-x.c (x_canonicalize_device_connection):
6451         [[[6]]]: Change char to more specific type.
6452         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6453
6454         * console-x.c (x_semi_canonicalize_console_connection):
6455         * console-x.c (x_canonicalize_device_connection):
6456         [[[9]]]: Fix up error signalling to use new structured error system.
6457
6458         * console-x.h:
6459         [[[4]]]: Define codesys aliases:
6460         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6461         Qx_color_name_encoding, Qx_display_name_encoding.
6462
6463         * console.h (struct console_methods):
6464         New method make_dialog_box_internal supersedes older
6465         popup_dialog_box method.
6466
6467         * data.c:
6468         Define many new errors, part of new structured errors.
6469
6470         * data.c (init_errors_once_early):
6471         * data.c (syms_of_data):
6472         [2].
6473
6474         * device-msw.c (mswindows_init_device):
6475         [[[5]]]: Cleanup to support NT 3.51.
6476
6477         * device-msw.c (decode_devmode): Cleanup.
6478
6479         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6480         * device-msw.c (mswindows_handle_print_dialog_box):
6481         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6482         * device-msw.c (syms_of_device_mswindows):
6483         Delete the dialog box primitives recently introduced by Kirill and
6484         instead interface to general dialog box interface.
6485
6486         * device-x.c:
6487         * device-x.c (compute_x_app_name):
6488         * device-x.c (x_init_device):
6489         * device-x.c (Fx_valid_keysym_name_p):
6490         * device-x.c (Fx_set_font_path):
6491         [6].
6492         [7].
6493
6494         * device.h (wrap_device): New.
6495         First of its kind; meant to replace XSETDEVICE.
6496
6497         * dialog-msw.c: Many file-dialog symbols.
6498
6499         * dialog-msw.c (mswindows_register_popup_frame): New.
6500         * dialog-msw.c (mswindows_is_dialog_msg): New.
6501         For supporting kbd traversal in dialog boxes.
6502
6503         * dialog-msw.c (dialog_proc):
6504         Support hitting ESC in dialogs.
6505
6506         * dialog-msw.c (struct):
6507         Common dialog box errors.
6508
6509         * dialog-msw.c (handle_file_dialog_box): New.
6510         Add file dialog code.
6511
6512         * dialog-msw.c (handle_question_dialog_box):
6513         Redo existing code to support new question dialog syntax.
6514
6515         * dialog-msw.c (console_type_create_dialog_mswindows):
6516         We support new dialog console method.
6517
6518         * dialog-msw.c (syms_of_dialog_mswindows):
6519         * dialog-msw.c (vars_of_dialog_mswindows):
6520         New file dialog symbols, vars.
6521
6522         * dialog-x.c:
6523         * dialog-x.c (maybe_run_dbox_text_callback):
6524         * dialog-x.c (dbox_descriptor_to_widget_value):
6525         * dialog-x.c (x_make_dialog_box_internal):
6526         * dialog-x.c (console_type_create_dialog_x):
6527         Mule-ize entire file.
6528         Redo to support question dialog syntax.
6529         [6].
6530
6531         * dialog.c:
6532         * dialog.c (Fmake_dialog_box_internal):
6533         * dialog.c (syms_of_dialog):
6534         Kill old popup-dialog-box, replace with new primitive.
6535         Just call device method or signal error.
6536
6537         * eldap.c (Fldap_open):
6538         * eldap.c (Fldap_search_basic):
6539         * eldap.c (Fldap_add):
6540         * eldap.c (Fldap_modify):
6541         [1].
6542         [7].
6543
6544         * emacs.c:
6545         * emacs.c (make_arg_list_1):
6546         * emacs.c (make_arg_list):
6547         Mule-ize call to dll_init().
6548         [6].
6549         [8].
6550
6551         * emacs.c (make_argc_argv):
6552         * emacs.c (free_argc_argv):
6553         * emacs.c (init_cmdargs):
6554         * emacs.c (main_1):
6555         * emacs.c (Fkill_emacs):
6556         * emacs.c (Fdump_emacs):
6557         Update comments about what can be used in syms_* etc.
6558         Call init_win32() when necessary.
6559         Fix up MS Win dialog box in kill-buffer to actually work right.
6560         [7].
6561
6562         * eval.c:
6563         * eval.c (For):
6564         * eval.c (Fand):
6565         * eval.c (Fprogn):
6566         * eval.c (Fprog1):
6567         * eval.c (Fprog2):
6568         * eval.c (FletX):
6569         * eval.c (Flet):
6570         * eval.c (condition_case_3):
6571         * eval.c (Feval):
6572         * eval.c (function_argcount):
6573         * eval.c (funcall_lambda):
6574         [1].
6575
6576         * eval.c (type_error): New.
6577         * eval.c (maybe_type_error): New.
6578         * eval.c (continuable_type_error): New.
6579         * eval.c (maybe_continuable_type_error): New.
6580         * eval.c (type_error_with_frob): New.
6581         * eval.c (maybe_type_error_with_frob): New.
6582         * eval.c (continuable_type_error_with_frob): New.
6583         * eval.c (maybe_continuable_type_error_with_frob): New.
6584         New functions for use with structured errors.
6585
6586         * event-Xt.c:
6587         * event-Xt.c (x_event_to_emacs_event):
6588         Buttons are now modifiers too.
6589
6590         * event-Xt.c (emacs_Xt_current_event_timestamp):
6591         Implement new event method.
6592         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6593
6594         * event-msw.c:
6595         * event-msw.c (ntpipe_shove_writer): [5].
6596         * event-msw.c (mswindows_enqueue_mouse_button_event):
6597         * event-msw.c (mswindows_drain_windows_queue):
6598         * event-msw.c (mswindows_wnd_proc): [7].
6599         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6600         * event-msw.c (mswindows_modifier_state):
6601         Throughout: support new button modifiers.
6602
6603         * event-msw.c (emacs_mswindows_current_event_timestamp):
6604         Implement new event method.
6605         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6606
6607         * event-stream.c:
6608         * event-stream.c (event_stream_current_event_timestamp): New.
6609         * event-stream.c (maybe_kbd_translate): New functionality.
6610         * event-stream.c (vars_of_event_stream):
6611         Document new kbd-translate-table functionality.
6612
6613         * event-stream.c (Fcurrent_event_timestamp): New.
6614         New primitive for use in fabricated events.
6615         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6616
6617         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6618
6619         * events.c:
6620         * events.c (Fmake_event):
6621         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6622         [1].
6623         [9].
6624
6625         * events.c (format_event_object): fix gcc warnings.
6626
6627         * events.c (Fevent_timestamp): Document new primitives.
6628
6629         * events.c (TIMESTAMP_HALFSPACE): New.
6630
6631         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6632         comparing timestamps correctly (half-space algorithm).
6633
6634         * events.c (Fevent_modifier_bits): Doc fix.
6635
6636         * events.c (Fevent_modifiers): Major doc addition.
6637         * events.c (event_x_y_pixel_internal): Typo fix.
6638         * events.c (syms_of_events): Declare new primitives.
6639
6640         * events.h:
6641         Update long comment for button modifiers, timestamps.
6642
6643         * events.h (struct event_stream):
6644         New current_event_timestamp method.
6645
6646         * extents.c:
6647         * extents.c (extent_in_region_p):
6648         * extents.c (decode_extent):
6649         * extents.c (Fset_extent_parent):
6650         * extents.c (decode_map_extents_flags):
6651         Fix gcc warnings.
6652         [9].
6653
6654         * extents.c (struct extent_at_arg):
6655         * extents.c (decode_extent_at_flag):
6656         * extents.c (extent_at_mapper):
6657         * extents.c (extent_at_bytind):
6658         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6659         * extents.c (Fextents_at): New primitive. [9].
6660         * extents.c (symbol_to_glyph_layout): [9].
6661         Support new primitive `extents-at'.
6662
6663
6664         * extents.c (get_text_property_bytind):
6665         extent_at_bytind has another arg.
6666         [9].
6667
6668         * extents.c (syms_of_extents): New primitive.
6669
6670         * file-coding.c (Fmake_coding_system): [1].
6671         * file-coding.c (subsidiary_coding_system): fix gcc warning
6672         * file-coding.c (syms_of_file_coding): [2].
6673
6674         * fileio.c (Fexpand_file_name):
6675         * fileio.c (Fsysnetunam):
6676         * fileio.c (Ffile_exists_p):
6677         * fileio.c (Ffile_executable_p):
6678         * fileio.c (Fverify_visited_file_modtime):
6679         Clean up GCPROing.
6680
6681         * fileio.c (syms_of_fileio): [2].
6682
6683         * filelock.c (lock_file_1):
6684         * filelock.c (current_lock_owner):
6685         * filelock.c (lock_if_free):
6686         * filelock.c (lock_file):
6687         * filelock.c (unlock_file):
6688         Clean up GCPROing.
6689
6690         * fns.c (concat): Fix gcc warning.
6691
6692         * fns.c (Fmember):
6693         * fns.c (Fold_member):
6694         * fns.c (Fmemq):
6695         * fns.c (Fold_memq):
6696         * fns.c (memq_no_quit):
6697         * fns.c (Fassoc):
6698         * fns.c (Fold_assoc):
6699         * fns.c (Fassq):
6700         * fns.c (Fold_assq):
6701         * fns.c (assq_no_quit):
6702         * fns.c (Frassoc):
6703         * fns.c (Fold_rassoc):
6704         * fns.c (Frassq):
6705         * fns.c (Fold_rassq):
6706         * fns.c (rassq_no_quit):
6707         * fns.c (Fdelete):
6708         * fns.c (Fold_delete):
6709         * fns.c (Fdelq):
6710         * fns.c (Fold_delq):
6711         * fns.c (delq_no_quit):
6712         * fns.c (Fremassoc):
6713         * fns.c (Fremassq):
6714         * fns.c (remassq_no_quit):
6715         * fns.c (Fremrassoc):
6716         * fns.c (Fremrassq):
6717         * fns.c (remrassq_no_quit):
6718         * fns.c (Freverse):
6719         * fns.c (mapcar1):
6720         [1].
6721
6722         * frame-msw.c (mswindows_init_frame_1):
6723         * frame-msw.c (mswindows_delete_frame):
6724         Register popups with dialog code so keyboard traversing works.
6725
6726         * frame-tty.c (tty_raise_frame_no_select): [1].
6727
6728         * frame-x.c:
6729         * frame-x.c (x_set_frame_text_value):
6730         * frame-x.c (x_set_frame_properties):
6731         * frame-x.c (x_create_widgets):
6732         [7].
6733
6734         * frame.c:
6735         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6736
6737         * frame.h (wrap_frame): New.
6738         Macro like wrap_device.
6739
6740         * general.c:
6741         * general.c (SYMBOL):
6742         * general.c (syms_of_general):
6743         Major reorg.  This is now just a wrapper and symbols themselves
6744         are listed in general-slots.h.
6745
6746         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6747         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6748
6749         * glyphs-msw.c (mswindows_native_layout_instantiate):
6750         Add DS_CONTROL so keyboard traversal will work.
6751
6752         * glyphs-widget.c:
6753         * glyphs-widget.c (syms_of_glyphs_widget):
6754         Move some symbols to general-slots.h.
6755
6756         * glyphs-x.c:
6757         * glyphs-x.c (xbm_instantiate_1):
6758         * glyphs-x.c (x_xbm_instantiate):
6759         * glyphs-x.c (x_xface_instantiate):
6760         * glyphs-x.c (autodetect_instantiate):
6761         * glyphs-x.c (cursor_font_instantiate):
6762         * glyphs-x.c (x_update_widget):
6763         * glyphs-x.c (x_widget_instantiate):
6764         * glyphs.c (bitmap_to_lisp_data):
6765         * glyphs.c (pixmap_to_lisp_data):
6766         [7].
6767
6768         * glyphs.c (syms_of_glyphs):
6769         [2].
6770
6771         * gui-x.c:
6772         * gui-x.c (print_widget_value):
6773         * gui-x.c (menu_separator_style_and_to_external):
6774         * gui-x.c (add_accel_and_to_external):
6775         * gui-x.c (button_item_to_widget_value):
6776         * gui-x.c (gui_items_to_widget_values_1):
6777         * gui-x.c (gui_items_to_widget_values):
6778         * gui-x.c (syms_of_gui_x):
6779         * gui-x.c (vars_of_gui_x):
6780         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6781         [9].
6782
6783         * gui-x.h:
6784         Muleize, prototype changes matching gui-x.c.
6785
6786         * gui.c:
6787         * gui.c (separator_string_p):
6788         * gui.c (gui_item_add_keyval_pair):
6789         * gui.c (make_gui_item_from_keywords_internal):
6790         * gui.c (signal_too_long_error):
6791         * gui.c (parse_gui_item_tree_item):
6792         * gui.c (syms_of_gui):
6793         * gui.c (vars_of_gui):
6794         * gui.h:
6795         menu-no-selection-hook moved here (used by MSWin).
6796         Move some symbols to general-slots.h.
6797         [6].
6798         [9].
6799
6800         * insdel.c (get_buffer_pos_char):
6801         * insdel.c (get_buffer_range_char):
6802         Add GC comments.
6803
6804         * keymap.c (keymap_lookup_directly):
6805         * keymap.c (keymap_store):
6806         * keymap.c (ensure_meta_prefix_char_keymapp):
6807         * keymap.c (describe_map):
6808         * keymap.h:
6809         Support new button modifiers.
6810
6811         * lisp-disunion.h (wrap_object):
6812         * lisp-disunion.h (XSETOBJ):
6813         Rename make_obj to wrap_object.
6814
6815         * lisp-union.h:
6816         * lisp-union.h (make_int):
6817         * lisp-union.h (make_char):
6818         Support wrap_object.
6819
6820         * lisp.h:
6821         * lisp.h (LIST_LOOP):
6822         * lisp.h (EXTERNAL_LIST_LOOP):
6823         * lisp.h (LIST_LOOP_2):
6824         * lisp.h (EXTERNAL_LIST_LOOP_1):
6825         * lisp.h (EXTERNAL_LIST_LOOP_2):
6826         * lisp.h (EXTERNAL_LIST_LOOP_3):
6827         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6828         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6829         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6830         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6831         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6832         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6833         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6834         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6835         * lisp.h (struct Lisp_Symbol):
6836         * lisp.h (maybe_continuable_error_with_frob):
6837         Fix up section comments.
6838         Add new types for char to indicate usage.
6839         Delete symbols auto-generated from general-slots.h.
6840         Add prototypes for structured error functions.
6841         Add long comments describing looping macros and change interface
6842         so that lvalues are automatically declared.
6843         Add NO_DECLARE macro in case callers want to declare lvalues
6844         themselves.
6845
6846         * lread.c (read_syntax_error):
6847         * lread.c (continuable_read_syntax_error):
6848         * lread.c (read_structure):
6849         * lread.c (sequence_reader):
6850         * lread.c (read_list_conser):
6851         * lread.c (read_compiled_function):
6852         Rename syntax_error and continuable_syntax_error to avoid clash
6853         with same-named structured error functions.
6854
6855         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6856         * menubar-msw.c (populate_menu_add_item):
6857         * menubar-msw.c (populate_or_checksum_helper):
6858         [5].
6859         [9].
6860
6861         * menubar-x.c:
6862         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6863         Mule-ize whole file.
6864
6865         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6866
6867         * mule-charset.c (Fmake_charset):
6868         * mule-wnnfns.c (Fwnn_set_param):
6869         [1].
6870
6871         * ntproc.c (create_child):
6872         * ntproc.c (Fwin32_set_current_locale):
6873         Add comments portending doom.
6874
6875         * objects-msw.c:
6876         * objects-msw.c (old_font_enum_callback_2):
6877         * objects-msw.c (font_enum_callback_1):
6878         * objects-msw.c (mswindows_enumerate_fonts):
6879         [5].
6880
6881         * objects-x.c:
6882         * objects-x.c (allocate_nearest_color):
6883         * objects-x.c (x_parse_nearest_color):
6884         * objects-x.c (x_initialize_color_instance):
6885         * objects-x.c (x_print_color_instance):
6886         * objects-x.c (x_finalize_color_instance):
6887         * objects-x.c (x_valid_color_name_p):
6888         * objects-x.c (x_initialize_font_instance):
6889         * objects-x.c (x_print_font_instance):
6890         * objects-x.c (valid_x_font_name_p):
6891         * objects-x.c (truename_via_FONT_prop):
6892         * objects-x.c (truename_via_random_props):
6893         * objects-x.c (truename_via_XListFonts):
6894         * objects-x.c (x_font_truename):
6895         * objects-x.c (x_font_instance_truename):
6896         * objects-x.c (x_font_instance_properties):
6897         * objects-x.c (x_list_fonts):
6898         * objects-x.c (x_find_charset_font):
6899         Mule-ize entire file.
6900         [7].
6901
6902         * objects-x.h:
6903         Mule-verify.
6904
6905         * print.c:
6906         * print.c (std_handle_out_external):
6907         * print.c (debug_print_no_newline):
6908         * print.c (syms_of_print):
6909         Output to all debugger kinds in debug-print.
6910         Fix console-output code under MSWin to actually work.
6911
6912         * process-nt.c (send_signal):
6913         * process-nt.c (nt_create_process):
6914         Use newer Unicode macros.
6915
6916         * process-unix.c (unix_create_process):
6917         * process-unix.c (unix_canonicalize_host_name):
6918         * process-unix.c (unix_open_network_stream):
6919         [7].
6920
6921         * scrollbar-x.c:
6922         Mule-verify.
6923
6924         * search.c (syms_of_search):
6925         [2].
6926
6927         * select-msw.c (mswindows_destroy_selection):
6928         Use LIST_LOOP_2.
6929
6930         * select-x.c (symbol_to_x_atom):
6931         [7].
6932
6933         * select.c (syms_of_select):
6934         [2].
6935
6936         * sound.c (Fplay_sound_file):
6937         [7].
6938
6939         * specifier.c:
6940         * specifier.c (decode_specifier_type):
6941         * specifier.c (Fvalid_specifier_locale_type_p):
6942         * specifier.c (check_valid_locale_or_locale_type):
6943         * specifier.c (decode_locale):
6944         * specifier.c (decode_locale_type):
6945         * specifier.c (decode_locale_list):
6946         * specifier.c (check_valid_domain):
6947         * specifier.c (decode_specifier_tag_set):
6948         * specifier.c (Fcanonicalize_tag_set):
6949         * specifier.c (Fdefine_specifier_tag):
6950         * specifier.c (Fspecifier_tag_predicate):
6951         * specifier.c (check_valid_inst_list):
6952         * specifier.c (check_valid_spec_list):
6953         * specifier.c (decode_how_to_add_specification):
6954         * specifier.c (check_modifiable_specifier):
6955         * specifier.c (specifier_add_spec):
6956         * specifier.c (boolean_validate):
6957         * specifier.c (display_table_validate):
6958         [9].
6959
6960         * specifier.c (syms_of_specifier):
6961         Move some symbols to general-slots.h.
6962         [2].
6963
6964         * symbols.c:
6965         * symbols.c (Fmapatoms):
6966         * symbols.c (Fapropos_internal):
6967         Add GCPROs.
6968
6969         * symbols.c (set_default_buffer_slot_variable):
6970         * symbols.c (set_default_console_slot_variable):
6971         [1].
6972
6973         * symbols.c (defsymbol_massage_name_1):
6974         * symbols.c (defkeyword_massage_name):
6975         * symbols.c (deferror_1):
6976         * symbols.c (deferror):
6977         * symbols.c (deferror_massage_name_and_message):
6978         * symeval.h:
6979         * symeval.h (DEFSYMBOL):
6980         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6981
6982         * symbols.c (syms_of_symbols):
6983         [2].
6984
6985         * symsinit.h:
6986         * symsinit.h (init_win32): New.
6987         Also new is syms_of_dialog_mswindows.
6988
6989         * syswindows.h:
6990         Add new Unicode macros, missing Cygwin wide-char functions,
6991         convenience conversion macros for Qmswindows_tstr, macros for
6992         encapsulating required MSWin <-> Cygwin filename conversions,
6993         prototype for dynamically-extracted (not in NT 3.51) functions.
6994
6995         * toolbar-x.c:
6996         Mule-verify.
6997
6998         * tooltalk.c (Fadd_tooltalk_message_arg):
6999         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7000         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7001         [7].
7002
7003         * tooltalk.c (syms_of_tooltalk):
7004         [2].
7005
7006         * unexnt.c:
7007         * unexnt.c (unexec):
7008         Fix up headers, declaration of unexec() to be more standard.
7009
7010 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7011
7012         * offix.h: Revert change to guard macros - they're used in offix.c!
7013
7014 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7015
7016         * lisp.h: Defsubred Fdelete.
7017
7018         * console-msw.h:  (msprinter_default_printer): Added.
7019
7020         * console-msw.c (msprinter_canonicalize_console_connection):
7021         (msprinter_canonicalize_device_connection): Added.
7022
7023         * device-msw.c (msprinter_default_printer):
7024         (Fmswingows_get_default_printer):
7025         (signal_enum_priner_error):
7026         (Fmswingows_printer_list): Added.
7027
7028 2000-07-19  Martin Buchholz <martin@xemacs.org>
7029
7030         * XEmacs 21.2.35 is released.
7031
7032 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7033
7034         * select-x.c (x_handle_selection_request):
7035         Text selected in xemacs and pasted into xterm failed to appear.
7036         Spelling fixes and cosmetic changes.
7037
7038 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7039
7040         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7041         XEmacs frame (fix for doubling chars in dialog boxes).
7042
7043 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7044
7045         * select.c (select_convert_in, select_convert_out):
7046         Don't call intern() every time.
7047
7048         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7049         * select.c (vars_of_select): Initialise them.
7050
7051 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7052
7053         * select.c (selection-coercible-types): New.
7054
7055         * select.c (own-selection-internal):
7056         * select.c (get-selection-internal):
7057         MULE bug fix - these should default to COMPOUND_TEXT and not
7058         STRING for MULE. I think.
7059
7060         * select.c (select_convert_out): Use selection-coercible-types
7061         to find types that we can attempt to perform coercions on.
7062
7063 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7064
7065         * mule-wnnfns.c:
7066         * mule-canna.c:
7067         Add coding: cookie to identify encoding.
7068
7069         * mule-canna.c (CANNA_mode_keys): make static.
7070         Use proper prototypes, even for functions of no arguments.
7071         Remove external prototype for Fding().
7072
7073         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7074
7075         * select.c (syms_of_select): Add missing DEFSUBR.
7076
7077 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7078
7079         * select.c (get_selection_internal, own_selection_internal):
7080         Make the type default to STRING, rather than placing a nil type
7081         into Vselection_alist.
7082
7083 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7084
7085         * gpmevent.c (tty_selection_exists_p):
7086         * gpmevent.c (tty_own_selection):
7087         Updated parameter lists.
7088
7089 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7090
7091         * select.h (selection-alist): Removed declaration.
7092
7093         * select.h (get_local_selection):
7094         * select.c (get_local_selection):
7095         Made static.
7096
7097         * select.h (convert_selection): Removed declaration.
7098         * select.c (convert_selection): Removed.
7099         This function belongs in Lisp.
7100
7101         * select.h (select_convert_in): Declare.
7102         * select.h (select_convert_out): Declare.
7103         * select.c (select_convert_in): New.
7104         * select.c (select_convert_out): New.
7105         New conversion functions for other files to call.
7106
7107         * select.h (select_notify_buffer_kill): Declare.
7108         * select.c (select_notify_buffer_kill): New.
7109         New functions that get called from kill-buffer.
7110
7111         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7112         X-specific lisp code.
7113
7114         * select.h: Declare some of the lisp-visible functions for
7115         external use.
7116
7117         * select.c (clean_local_selection_data): Removed. This was
7118         a disgusting function, and previously should have been in
7119         select-x.c in any case. The functionality is now provided
7120         in select-convert-from-integer (select.el).
7121
7122         * select.c (available-selection-types): Fixed stupidity where
7123         INTEGER and ATOM got added twice. Also add STRING when we see an
7124         extent.
7125
7126         * select.c (get-selection-internal): Removed symbol stripping. No
7127         longer causes conversion when data comes from the internal cache.
7128
7129         * select.c (syms_of_select): Added new functions.
7130
7131         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7132         error checking - previously this called abort!
7133
7134         * select-x.c (x_own_selection): Changed comment.
7135
7136         * select-x.c (x_handle_selection_request): Use select_convert_out.
7137         Don't mess with selection-alist; it's an internal variable of select.c.
7138
7139         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7140
7141         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7142         rather than messing with selection-alist.
7143
7144         * select-msw.c (mswindows_get_foreign_selection):
7145         Use TO_INTERNAL_FORMAT rather than hacking.
7146
7147 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7148
7149         * process-unix.c (unix_open_multicast_group):
7150         (unix_open_multicast_group): Remove useless casts.
7151
7152 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7153
7154         * sound.c (Fplay_sound): Fix `unused variable' warning.
7155
7156         * emacs.c (main): Use correct type for _environ on SCO5.
7157
7158 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7159
7160         * console.h (own_selection_method):
7161         * console.h (selection_exists_p_method):
7162         * console.h (available_selection_types_method): New.
7163         * console.h (register_selection_data_type_method): New.
7164         * console.h (selection_data_type_name): New.
7165
7166         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7167         function & alist to track GlobalAlloc()'d handles that need
7168         releasing when the clipboard data gets replaced or emptied.
7169
7170         * event-msw.c (mswindows_wnd_proc): Call it.
7171
7172         * lisp.h, general.c (Qappend): New symbol representing a
7173         `how-to-add' mode.
7174
7175         * select.c (own-selection-internal):
7176         * select.c (selection-exists-p):
7177         * select.c (available-selection-types): New.
7178         * select.c (register-selection-data-type): New.
7179         * select.c (selection-data-type-name): New.  New functions to deal
7180         with device-specific selection data formats.
7181         * select.c (selection-converter-out-alist): Renamed.
7182         * select.c (selection-converter-in-alist): New.
7183         * select.c (selection-appender-alist): New.  Added new alists.
7184         * select.c (syms_of_select, vars_of_select): Added new symbols &
7185         variables.
7186         * select.c (get_local_selection): Split.
7187         * select.c: Removed spurious type checking - selections may now be
7188         of any type, not just strings.
7189         * select.c (own-selection-internal):
7190
7191         * select.h, select.c (convert_selection): New. Created
7192         convert_selection() function based on get_local_selection().
7193         * select.h, select.c (QCF_*): New symbols representing mswindows
7194         clipboard formats.
7195         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7196         symbols representing `how-to-add' modes.
7197
7198         * select-msw.c (x_sym_p): New.
7199         * select-msw.c (symbol_to_ms_cf): New.
7200         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7201         symbols & clipboard formats. Can also handle string names.
7202         * select-msw.c (mswindows_own_selection):
7203         * select-msw.c (mswindows_selection_exists_p):
7204         Added `data-type' parameter. Use it.
7205         * select-msw.c (mswindows_available_selection_types): New.
7206         * select-msw.c (mswindows_register_selection_data_type): New.
7207         * select-msw.c (mswindows_selection_data_type_name): New.
7208         * select-msw.c (mswindows_own_selection):
7209         * select-msw.c (mswindows_get_foreign_selection):
7210         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7211         * select-msw.c (console_create_select_mswindows): Added new methods.
7212         * select-msw.c (mswindows_destroy_selection): New.
7213         * select-msw.c (Vhandle_alist): New list.
7214         * select-msw.c (mswindows_own_selection):
7215
7216         * select-x.c (x_own_selection):
7217         * select-x.c (x_selection_exists_p):
7218         * select-x.c: Added some comments about maybe using new
7219         functionality.
7220         * select-x.c (x_own_selection):
7221
7222         * specifier.c: Remove definition of Qappend (now in general.c)
7223         * specifier.c (syms_of_specifier): Remove Qappend.
7224
7225 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7226
7227         * config.h.in: Add socklen_t.
7228
7229         * s/decosf4-0.h: No special compiler flags needed or desired.
7230         In particular, undefine _BSD for DEC OSF 4.0.
7231
7232 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7233
7234         * redisplay-msw.c (msprinter_frame_output_end): Added.
7235         (console_type_create_redisplay_mswindows): Referred the above.
7236
7237         * frame.c (setup_frame_without_minibuffer): Do not create a
7238         default minibuffer frame on a printer device.
7239
7240         * frame-msw.c (apply_dc_geometry): Added.
7241         (msprinter_start_page):
7242         (msprinter_init_frame_3):
7243         (msprinter_eject_page): Use it.
7244
7245         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7246         and removed residual duplex and orientation properties.
7247
7248 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7249
7250         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7251
7252         * unexalpha.c: Remove system prototypes from C sources!
7253
7254 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7255
7256         * eval.c: Remove references to M-x edit-options in DEFUNs for
7257         `defvar' and `defconst'.
7258
7259 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7260
7261         * config.h.in: Remove SMART_INCLUDE hackery.
7262
7263         PostgreSQL hacking:
7264         * config.h.in: Don't use SMART_INCLUDE.
7265
7266         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7267         * inline.c: Simply #include "postgresql.h"
7268         * postgresql.c:
7269         - Don't use SMART_INCLUDE
7270         - Use simply "const".
7271         - Use standard doc string conventions.
7272         - Use correct type for result of PQstatus.
7273
7274 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7275
7276         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7277
7278         C++ compilation changes.
7279         * config.h.in (EXTERN_C): Define.
7280         * config.h.in (not): This is also a C++ keyword.
7281         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7282         * cm.c: Use EXTERN_C.
7283         * redisplay-tty.c: Use EXTERN_C.
7284         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7285
7286 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7287
7288         * general.c: Remove duplicate definition for Qfunction.
7289
7290 2000-07-08  Ben Wing  <ben@xemacs.org>
7291
7292         * device-msw.c (msprinter_init_device):
7293         * device-msw.c (sync_printer_with_devmode):
7294         * device-msw.c (handle_devmode_changes):
7295         * device-msw.c (print_dialog_worker):
7296         * device-msw.c (Fmsprinter_apply_settings):
7297         * device-msw.c (hash_devmode):
7298         * device-msw.c (Fmsprinter_settings_despecialize):
7299         use Qmswindows_tstr, not Qctext.
7300
7301         * vm-limit.c (check_memory_limits):
7302         avoid infinite loop printing warning messages.
7303
7304 2000-07-05  Craig Lanning  <lanning@scra.org>
7305
7306         * Makefile.in.in: Add support for including the Windows resources
7307         when building with the cygwin and mingw targets.
7308
7309         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7310         not set or not correct.
7311         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7312         (init_initial_directory): Don't try to use $PWD on the
7313         WIN32_NATIVE target.
7314
7315         * s\cygwin32.h:
7316         [[Add -mwindows to eliminate console window.]] not required --ben
7317         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7318         (MAIL_USE_POP): removed; now handled by configure.
7319
7320         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7321         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7322         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7323         (MAIL_USE_POP): removed; now handled by configure.
7324         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7325         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7326         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7327         constant string.
7328         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7329         up from <winsock.h> via systime.h.
7330         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7331         (getpagesize): from Dan Holmsand, added.
7332         Added #endif which was left dangling by Ben's mega patch; added
7333         comment to help prevent this in the future.
7334
7335         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7336
7337 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7338
7339         * console-msw.h (struct mswindows_device): Removed unnecessary
7340         cached device geometry values.
7341         Added update_tick and an accessor macro.
7342         (Lisp_Devmode): Added lrecord declaration.
7343         (struct msprinter_device): Contain devmode as a Lisp object.
7344         Added mswindows_get_selected_frame_hwnd();
7345
7346         * console.h (struct console_methods): Indentation nitpicking.
7347
7348         * device-msw.c (mswindows_init_device): Do not initialize geometry
7349         cache. Initialize update tick.
7350         (mswindows_device_system_metrics): Ask the device for its geometry.
7351         (global_free_2_maybe):
7352         (devmode_to_hglobal):
7353         (handle_printer_changes):
7354         (ensure_not_printing):
7355         (print_dialog_worker):
7356         (Fmsprinter_print_setup_dialog):
7357         (Fmsprinter_print_dialog):
7358         (plist_get_margin):
7359         (plist_set_margin):
7360         (Fmsprinter_page_setup_dialog): Added functions.
7361         (sync_printer_with_devmode):
7362         (handle_devmode_changes):
7363         (Fmsprinter_get_settings):
7364         (Fmsprinter_select_settings):
7365         (Fmsprinter_apply_settings):
7366         (allocate_devmode):
7367         (Fmsprinter_settings_copy):
7368         (Fmsprinter_settings_despecialize):
7369         (print_devmode):
7370         (finalize_devmode):
7371         (equal_devmode):
7372         (hash_devmode): Added functions
7373         (syms_of_device_mswindows): Init devmode lrecord class.
7374
7375         * device.h: Added an exfun for find-device.
7376
7377         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7378         geometry; although, recreate the device compatible DC.
7379
7380         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7381         (msprinter_init_frame_3):
7382         (msprinter_frame_property):
7383         (msprinter_internal_frame_property_p):
7384         (msprinter_frame_properties):
7385         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7386         print job properties (will move to device settings).
7387
7388         * lisp.h: Added symbols.
7389
7390         * general.c (syms_of_general): Declared them.
7391
7392         * hash.c (string_hash): Added.
7393
7394         * lrecord.h (lrecord_type): Added devmode lrecord type.
7395
7396 2000-07-02  Mike Sperber <mike@xemacs.org>
7397
7398         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7399         FreeBSD 4.0.
7400
7401 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7402
7403         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7404         integer.
7405
7406 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7407
7408         * data.c (Fstring_to_number): Don't recognize floating point if
7409         base is not 10.
7410
7411 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7412
7413         * glyphs-widget.c (tab_control_query_geometry):
7414         (widget_query_geometry):
7415         (button_query_geometry):
7416         * glyphs.c (text_query_geometry):
7417         Enforce type correctness.
7418
7419 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7420
7421         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7422         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7423
7424 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7425
7426         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7427         conflicts with gcc's fixincluded version of FOO.h.
7428
7429         * glyphs.h (image_instance_geometry): Remove trailing `,'
7430
7431 2000-06-08  Mike Alexander  <mta@arbortext.com>
7432
7433         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7434         (shove_thread): Don't write the same output twice
7435         (make_ntpipe_output_stream): Increase priority of shove thread
7436         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7437         chance to run
7438         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7439         it.
7440
7441 2000-06-12  Ben Wing  <ben@xemacs.org>
7442
7443         * s\mingw32.h (sigset):
7444         * s\windowsnt.h (sigset):
7445         rename msw_ to mswindows_ for consistency with general convention.
7446
7447 2000-06-12  Ben Wing  <ben@xemacs.org>
7448
7449         * console-msw.c:
7450         * console-msw.c (mswindows_get_console_hwnd):
7451         * console-msw.c (mswindows_ensure_console_allocated):
7452         * console-msw.c (mswindows_hide_console):
7453         * console-msw.c (mswindows_show_console):
7454         * console-msw.c (mswindows_ensure_console_buffered):
7455         * console-msw.c (mswindows_output_console_string):
7456         * console-msw.c (mswindows_windows9x_p):
7457         * console-msw.h:
7458         * device-msw.c (mswindows_get_workspace_coords):
7459         * device-msw.c (mswindows_device_system_metrics):
7460         * dialog-msw.c (mswindows_popup_dialog_box):
7461         * event-msw.c (mswindows_wnd_proc):
7462         * frame-msw.c (mswindows_size_frame_internal):
7463         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7464         * menubar-msw.c (displayable_menu_item):
7465         * menubar-msw.c (mswindows_char_is_accelerator):
7466         * nt.c:
7467         * nt.c (mswindows_sigset):
7468         * nt.c (mswindows_sigrelse):
7469         * nt.c (mswindows_sigpause):
7470         * nt.c (mswindows_raise):
7471         * nt.c (timer_proc):
7472         * ntproc.c:
7473         * ntproc.c (find_child_console):
7474         * ntproc.c (sys_kill):
7475         * print.c:
7476         * print.c (std_handle_out_external):
7477         * process-nt.c (find_child_console):
7478         * process-nt.c (send_signal_the_95_way):
7479         * process-nt.c (ensure_console_window_exists):
7480         * process-nt.c (nt_create_process):
7481         * syssignal.h:
7482         rename msw_ to mswindows_ for consistency with general convention.
7483
7484         * emacs.c:
7485         * dumper.c:
7486         include nt.h, not syswindows.h.
7487
7488         * nt.c (mswindows_fstat):
7489         * nt.c (mswindows_stat):
7490         prefix mswindows_ instead of attempting to directly override the
7491         library functions.  fix declarations.
7492
7493         * nt.h:
7494         include syswindows.h.  move some sysdep.h stuff here.
7495
7496         * ntheap.h:
7497         include syswindows.h, not <windows.h>.
7498
7499         * ntplay.c:
7500         clean up headers.
7501
7502         * sysdep.c:
7503         clean up headers.
7504
7505         * sysdep.c (sys_fstat):
7506         * sysdep.c (sys_stat):
7507         call mswindows versions when appropriate.
7508
7509         * sysdep.h:
7510         move mswin decls to nt.h.
7511
7512         * syswindows.h:
7513         add long comment describing appropriate use of the various windows
7514         headers.
7515
7516 2000-06-11  Ben Wing  <ben@xemacs.org>
7517
7518         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7519
7520 2000-06-10  Ben Wing  <ben@xemacs.org>
7521
7522         * Makefile.in.in (release):
7523         Correction to make sure xemacs.exe always dumped when correct.
7524
7525         * alloca.c:
7526         * balloon_help.c:
7527         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7528
7529         * buffer.c (set_buffer_internal):
7530         [[[[2]]]]: Remove HAVE_FEP code.
7531
7532         * buffer.c (init_initial_directory):
7533         [3].
7534
7535         * bytecode.c:
7536         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7537         individual files.
7538
7539         * callproc.c:
7540         * callproc.c (call_process_cleanup):
7541         * callproc.c (Fold_call_process_internal):
7542         * callproc.c (child_setup):
7543         * callproc.c (getenv_internal):
7544         * callproc.c (init_callproc):
7545         * callproc.c (vars_of_callproc):
7546         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7547         __CYGWIN32__ -> CYGWIN.
7548         DOS_NT -> WIN32_NATIVE.
7549         Remove MSDOS support/references, converting to WIN32_NATIVE
7550           where correct.
7551         __MINGW32__ -> MINGW.
7552         Fix windows.h includes.
7553         Remove bogus HAVE_NTGUI.
7554
7555         * config.h.in:
7556         [2].
7557
7558         * console-msw.c:
7559         mswindows_message_outputted added for use in allowing startup
7560         errors on the console to be seen.
7561
7562         * console-msw.c (msw_ensure_console_allocated):
7563         * console-msw.c (msw_output_console_string):
7564         * console-msw.c (DHEADER):
7565         * console-msw.c (DOPAQUE_DATA):
7566         * console-msw.c (DEVENT):
7567         * console-msw.c (DCONS):
7568         * console-msw.c (DCONSCDR):
7569         * console-msw.c (DSTRING):
7570         * console-msw.c (DVECTOR):
7571         * console-msw.c (DSYMBOL):
7572         * console-msw.c (DSYMNAME):
7573         Fix warnings.
7574
7575         * console-stream.c (stream_init_console):
7576         Fix text/binary problems.
7577
7578         * device-msw.c:
7579         * device-msw.c (mswindows_finish_init_device):
7580         * device-msw.c (mswindows_delete_device):
7581         [1].
7582
7583         * device.c (handle_asynch_device_change):
7584         [3].
7585
7586         * dgif_lib.c:
7587         * dgif_lib.c (DGifOpenFileName):
7588         * dgif_lib.c (DGifOpenFileHandle):
7589         * dgif_lib.c (DGifGetLine):
7590         * dgif_lib.c (DGifGetPixel):
7591         Added config.h/lisp.h, fix up includes.
7592         [1].
7593
7594         * dired-msw.c:
7595         [4].
7596
7597         * dired.c:
7598         * dired.c (file_name_completion):
7599         * dired.c (Ffile_attributes):
7600         * dired.c (syms_of_dired):
7601         [1].
7602
7603         * dumper.c:
7604         * dumper.c (pdump_file_unmap):
7605         * dumper.c (pdump_load):
7606         [1].
7607
7608         * editfns.c:
7609         * editfns.c (Ftemp_directory):
7610         * editfns.c (user_login_name):
7611         * editfns.c (Fuser_real_login_name):
7612         * editfns.c (get_home_directory):
7613         [1].
7614
7615         * elhash.c (finish_marking_weak_hash_tables):
7616         [[[[5]]]]: Fix GCC warnings.
7617
7618         * emacs.c:
7619         * emacs.c (mswindows_handle_hardware_exceptions):
7620         * emacs.c (make_arg_list_1):
7621         * emacs.c (main_1):
7622         * emacs.c (Fkill_emacs):
7623         * emacs.c (Fdump_emacs):
7624         [1].
7625         Fix problems with nested crashes, add long comment.
7626
7627         * event-Xt.c (init_event_Xt_late):
7628         [1].
7629
7630         * event-msw.c:
7631         * event-msw.c (mswindows_dde_callback):
7632         * event-msw.c (mswindows_handle_sticky_modifiers):
7633         * event-msw.c (mswindows_wnd_proc):
7634         [1].
7635         [5].
7636
7637         * events.c (character_to_event):
7638         [1].
7639
7640         * fileio.c:
7641         * fileio.c (Ffile_name_directory):
7642         * fileio.c (Ffile_name_nondirectory):
7643         * fileio.c (directory_file_name):
7644         * fileio.c (Fexpand_file_name):
7645         * fileio.c (Fsubstitute_in_file_name):
7646         * fileio.c (Ffile_name_absolute_p):
7647         * fileio.c (check_executable):
7648         * fileio.c (Ffile_readable_p):
7649         * fileio.c (Ffile_accessible_directory_p):
7650         * fileio.c (Ffile_modes):
7651         * fileio.c (Funix_sync):
7652         * fileio.c (vars_of_fileio):
7653         [1]. [4].
7654
7655         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7656
7657         Expand getdefdir defn.
7658         Fix bogus rename() comment.
7659
7660         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7661         to use standard XEmacs include files, e.g. sysfile.h, rather
7662         than system-specific includes.
7663
7664         * fns.c:
7665         * fns.c (Fsubseq):
7666         [5]. [6].
7667
7668         * frame.c (vars_of_frame):
7669         [1].
7670
7671         * getloadavg.c:
7672         * getloadavg.c (getloadavg):
7673         [1]. [6].
7674         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7675         (We don't use it elsewhere in the code; just add a comment.)
7676
7677         * gif_io.c:
7678         [6].
7679         Add config.h.
7680
7681         * glyphs-msw.c:
7682         * glyphs-msw.c (mswindows_resource_instantiate):
7683         [1].
7684
7685         * glyphs-x.c (x_native_layout_instantiate):
7686         [5].
7687
7688         * gui-msw.c (Fmswindows_shell_execute):
7689         [1].
7690
7691         * insdel.c:
7692         [4].
7693
7694         * lisp.h:
7695         [4]. [5].
7696
7697         * lread.c (locate_file_in_directory_mapper):
7698         [1].
7699
7700         * lstream.c:
7701         [4].
7702
7703         * mem-limits.h:
7704         * mem-limits.h (get_lim_data):
7705         [1].
7706
7707         * menubar-msw.c:
7708         [4].
7709
7710         * ndir.h:
7711         [1].
7712
7713         * nt.c:
7714         * nt.c (getwd):
7715         * nt.c (closedir):
7716         * nt.c (rva_to_section):
7717         * nt.c (mswindows_executable_type):
7718         [1]. [6].
7719         Fix closedir() defn.
7720
7721         * nt.h:
7722         [[[[8]]]]: *_OK defs moved to sysfile.h.
7723
7724         * ntproc.c:
7725         [6]. [7].
7726
7727         * objects-x.c:
7728         [4].
7729
7730         * print.c:
7731         * print.c (std_handle_out_external):
7732         [1]. [4].
7733
7734         * process-nt.c:
7735         * process-nt.c (nt_create_process):
7736         [6].
7737         try to fix process quoting somewhat.
7738
7739         * process-unix.c (unix_create_process):
7740         [1].
7741
7742         * process.c:
7743         * process.c (vars_of_process):
7744         Add Vnull_device.
7745
7746         * process.h:
7747         [1].
7748
7749         * realpath.c:
7750         * realpath.c (xrealpath):
7751         [1].
7752
7753         * redisplay-tty.c (init_tty_for_redisplay):
7754         [3].
7755
7756         * redisplay.c:
7757         [4]. [6].
7758
7759         * scrollbar-msw.c:
7760         [4].
7761
7762         * sheap.c:
7763         * sheap.c (more_static_core):
7764         * sheap.c (report_sheap_usage):
7765         [5]. [6].
7766
7767         * signal.c:
7768         * signal.c (alarm_signal):
7769         [1]. [6].
7770
7771         * sound.c:
7772         [6].
7773
7774         * strftime.c:
7775         * strftime.c (zone_name):
7776         [1]. [5].
7777
7778         * symsinit.h (init_sunpro):
7779         [1].
7780
7781         * syscommctrl.h:
7782         commctrl.h not in Cygwin b20.1.
7783
7784         * sysdep.c:
7785         * sysdep.c (endif):
7786         * sysdep.c (sys_subshell):
7787         * sysdep.c (init_baud_rate):
7788         * sysdep.c (emacs_get_tty):
7789         * sysdep.c (emacs_set_tty):
7790         * sysdep.c (tty_init_sys_modes_on_device):
7791         * sysdep.c (init_system_name):
7792         * sysdep.c (sys_open):
7793         * sysdep.c (interruptible_open):
7794         * sysdep.c (sys_fopen):
7795         * sysdep.c (sys_mkdir):
7796         * sysdep.c (sys_rename):
7797         * sysdep.c (get_process_times_1):
7798         [1]. [6].
7799
7800         * sysdep.h:
7801         [1].
7802
7803         * sysdir.h:
7804         * sysdir.h (DIRENTRY_NONEMPTY):
7805         [1]. [6].
7806
7807         * sysdll.c (dll_init):
7808         * sysdll.h:
7809         [1].
7810
7811         * sysfile.h:
7812         [1]. [6]. [8].
7813         added text/binary defs.
7814
7815         * sysfloat.h:
7816         [1].
7817
7818         * sysproc.h:
7819         * sysproc.h (EDESTADDRREQ):
7820         * sysproc.h (poll_fds_for_input):
7821         [1]. [6].
7822
7823         * syspwd.h:
7824         [6].
7825
7826         * syssignal.h:
7827         [1].
7828
7829         * systime.h:
7830         [1]. [6].
7831
7832         * systty.h:
7833         [1].
7834
7835         * syswindows.h:
7836         [1].
7837         Always define WIN32_LEAN_AND_MEAN.
7838
7839         * unexcw.c (unexec):
7840         [5].
7841
7842         * unexec.c:
7843         * unexec.c (copy_text_and_data):
7844         * unexec.c (adjust_lnnoptrs):
7845         [1].
7846
7847         * unexnt.c:
7848         * unexnt.c (_start):
7849         [1].
7850
7851 2000-06-07  Ben Wing  <ben@xemacs.org>
7852
7853         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7854         was used only as a model.  We've long since extracted any useful
7855         logic or code out of this. (I just did an exhaustive search.)
7856
7857         * s\msdos.h: Removed.
7858
7859         * s\windows95.h: Removed.
7860
7861 2000-06-10  Ben Wing  <ben@xemacs.org>
7862
7863         * s\cygwin32.h:
7864         [1]. [5].
7865         Don't use extern with fun defs.
7866
7867         * s\mingw32.h:
7868         [1]. [7].
7869         Remove nt\inc include.
7870         Remove getdisk, getdefdir. (The former is unused, the latter
7871         expanded in fileio.h.)
7872
7873         * s\windowsnt.h:
7874         * s\windowsnt.h (WIN32_NATIVE):
7875         * s\windowsnt.h (HAVE_STRCASECMP):
7876         [1]. [7].
7877         Add long comment about preprocessor changes.
7878         Remove getdisk, getdefdir. (The former is unused, the latter
7879         expanded in fileio.h.)
7880
7881 2000-06-10  Ben Wing  <ben@xemacs.org>
7882
7883         * m\arm.h:
7884         * m\delta.h:
7885         * m\intel386.h:
7886         * m\sequent.h:
7887         * m\template.h:
7888         * m\windowsnt.h:
7889         [1].
7890         Remove bogus/unused NO_SOCK_SIGIO.
7891
7892 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7893
7894         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7895         not an Emchar.
7896
7897 2000-06-04  Mike Sperber <mike@xemacs.org>
7898
7899         * casetab.c (set_case_table): For `set-standard-case-table',
7900         actually deposit the new case tables where the rest of XEmacs can
7901         see them.
7902
7903 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7904
7905         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7906
7907 2000-06-05  Ben Wing  <ben@xemacs.org>
7908
7909         * callproc.c (child_setup): Don't do close_load_descs() under
7910         MS Windows.  Put in a comment explaining why.
7911
7912 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7913
7914         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7915         Toolkit shell" which breaks `kill-compilation' on Windows NT
7916         native, retaining STDERR handling improvements.
7917
7918 2000-06-01  Andreas Jaeger  <aj@suse.de>
7919
7920         * s/s390.h: Support for S390, based on a patch by Martin
7921         Schwidefsky <schwidefsky@de.ibm.com>.
7922
7923 2000-05-30  Andy Piper  <andy@xemacs.org>
7924
7925         * window.c (allocate_window):
7926         (make_dummy_parent):
7927         (Fset_window_configuration): use new hashtable type.
7928
7929         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7930         (struct image_instantiator_methods):
7931         (struct Lisp_Image_Instance): make instance geometry signed.
7932
7933         * glyphs.c (instantiate_image_instantiator):
7934         (image_instance_query_geometry):
7935         (image_instance_layout):
7936         (image_instance_layout):
7937         (query_string_geometry):
7938         (text_query_geometry):
7939         (image_instantiate):
7940         (image_instantiate):
7941         (cache_subwindow_instance_in_frame_maybe):
7942         (subwindow_query_geometry): make instance geometry signed.
7943
7944         * glyphs-widget.c (widget_query_geometry):
7945         (widget_layout):
7946         (button_query_geometry):
7947         (tree_view_query_geometry):
7948         (tab_control_query_geometry):
7949         (layout_query_geometry):
7950         (layout_layout):
7951         (native_layout_layout): make instance geometry signed.
7952
7953 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7954
7955         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7956         constant.
7957
7958         * general.c (syms_of_general): Add Qfull_assoc symbol.
7959
7960         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7961         correctly.
7962         (decode_weak_list_type): Decode full-assoc type.
7963         (encode_weak_list_type): Encode full-assoc type.
7964         (Fmake_weak_list): Update doc string.
7965
7966 2000-05-30  Andy Piper  <andy@xemacs.org>
7967
7968         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7969
7970         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7971         (decode_hash_table_weakness): ditto.
7972         (Fhash_table_weakness): ditto.
7973         (Fhash_table_type): ditto.
7974         (finish_marking_weak_hash_tables): ditto.
7975         (hash_table_weakness_validate): ditto.
7976         (syms_of_elhash): ditto.
7977
7978 2000-05-28  Martin Buchholz <martin@xemacs.org>
7979
7980         * XEmacs 21.2.34 is released.
7981
7982 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7983
7984         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7985         start cache.
7986         (updating_line_start_cache): Gone.
7987         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7988         generic code to force a minimum of 1 line laid out in the
7989         CMOTION_DISP case.
7990
7991 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7992
7993         * glyphs.c (instantiate_image_instantiator): Check for initialized
7994         height & width no longer special cases IMAGE_NOTHING.
7995         (nothing_instantiate): Set height and width of instance.
7996
7997 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7998
7999         * unexelf.c (unexec): Search for ".data" section.
8000         Initialize new_data2_offset from old_data_index.
8001         Remove redundant check for ElfW.
8002
8003 2000-05-23  Andy Piper  <andy@xemacs.org>
8004
8005         * glyphs.c (get_image_instantiator_governing_domain): allow more
8006         specific domains as the governing domain rather than expecting an
8007         exact match. This fixes problems with layouts.
8008
8009 2000-05-22  Andy Piper  <andy@xemacs.org>
8010
8011         * redisplay-output.c (compare_runes): check for non-images
8012
8013         * glyphs.c (set_glyph_dirty_p): ditto.
8014         (update_glyph_cachel_data): ditto.
8015
8016         * glyphs-widget.c (layout_post_instantiate): ditto.
8017         (layout_post_instantiate): ditto.
8018
8019         * event-msw.c (mswindows_wnd_proc): warning removal.
8020
8021 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8022
8023         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8024
8025         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8026
8027         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8028
8029         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8030         (mswindows_executable_type): mingw32 now has enough headers for
8031         this to work.
8032
8033 2000-05-20  Andy Piper  <andy@xemacs.org>
8034
8035         * console-msw.c (mswindows_output_last_error): ; -> ,
8036
8037 2000-05-12  Andy Piper  <andy@xemacs.org>
8038
8039         * console-msw.c (FROB): compare ints with ints.
8040
8041 2000-05-11  Andy Piper  <andy@xemacs.org>
8042
8043         * glyphs-x.c (x_finalize_image_instance): make minimal build
8044         happy.
8045
8046 2000-05-20  Ben Wing  <ben@xemacs.org>
8047
8048         * event-Xt.c:
8049         * event-Xt.c (vars_of_event_Xt):
8050         move modifier-keys-are-sticky to event-stream.c.
8051
8052         * event-msw.c:
8053         * event-msw.c (mswindows_enqueue_mouse_button_event):
8054         * event-msw.c (key_needs_default_processing_p):
8055         * event-msw.c (XEMSW_LCONTROL):
8056         * event-msw.c (mswindows_handle_sticky_modifiers):
8057         * event-msw.c (FROB):
8058         * event-msw.c (clear_sticky_modifiers):
8059         * event-msw.c (output_modifier_keyboard_state):
8060         * event-msw.c (output_alt_keyboard_state):
8061         * event-msw.c (mswindows_wnd_proc):
8062         * event-msw.c (mswindows_modifier_state):
8063         * event-msw.c (emacs_mswindows_handle_magic_event):
8064         implement sticky modifiers.
8065
8066         * event-stream.c:
8067         * event-stream.c (vars_of_event_stream):
8068         move modifier-keys-are-sticky here.
8069
8070         * lisp.h:
8071         add CHECK_FUNCTION.
8072
8073         * rangetab.c:
8074         implement map-range-table.
8075
8076
8077 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8078
8079         * redisplay-tty.c (reset_tty_modes):
8080         (tty_redisplay_shutdown): Adjust argument type to
8081         tty_frame_output_end.
8082
8083 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8084
8085         * eval.c (Fbacktrace): Don't output a line with only right
8086         parenthesis.
8087
8088 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8089
8090         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8091         (Fpq_reset_poll): Ditto.
8092
8093 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8094
8095         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8096
8097 2000-05-16  Ben Wing  <ben@xemacs.org>
8098
8099         * buffer.c:
8100         * buffer.c (dfc_convert_to/from_internal_format):
8101         * buffer.c (reinit_vars_of_buffer):
8102         Fix conversion functions to allow reentrancy.
8103
8104         * console-msw.c:
8105         * console-msw.c (mswindows_output_last_error):
8106         New fun, generally useful -- output a human-readable
8107         version of GetLastError() on the console.
8108
8109         * console-msw.h:
8110         * console-msw.h (struct mswindows_frame):
8111         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8112
8113         * console-stream.c (stream_output_begin):
8114         * console-stream.c (stream_output_end):
8115         * console-stream.c (stream_output_vertical_divider):
8116         * console-stream.c (stream_clear_region):
8117         * console-stream.c (stream_flash):
8118         * console-stream.c (console_type_create_stream):
8119         Delete blank stream methods, not needed.
8120
8121         * console.h (struct console_methods):
8122         Split begin/end methods into window and frame.
8123
8124         * event-msw.c:
8125         * event-msw.c (mswindows_handle_paint):
8126         * event-msw.c (output_alt_keyboard_state):
8127         * event-msw.c (mswindows_wnd_proc):
8128         * event-msw.c (vars_of_event_mswindows):
8129         Comment about problems with ignored-expose.
8130         Define mswindows-debug-events; not really implemented.
8131
8132         * frame-msw.c (mswindows_init_frame_1):
8133         random cleanups.
8134
8135         * glyphs-msw.c:
8136         * glyphs-msw.c (begin_defer_window_pos):
8137         * glyphs-msw.c (mswindows_unmap_subwindow):
8138         * glyphs-msw.c (mswindows_map_subwindow):
8139         * glyphs-msw.c (mswindows_resize_subwindow):
8140         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8141
8142         * glyphs.c (make_image_instance_1):
8143         Fix crash.
8144
8145         * gutter.c (Fredisplay_gutter_area):
8146         Use new begin/end methods.
8147
8148         * lisp.h (Dynarr_new2):
8149         New creation fun.
8150
8151         * redisplay-msw.c:
8152         * redisplay-msw.c (mswindows_frame_output_begin):
8153         * redisplay-msw.c (mswindows_frame_output_end):
8154         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8155         New begin/end methods -- handle DeferWindowPos.
8156
8157         * redisplay-output.c (redisplay_move_cursor):
8158         * redisplay-output.c (redraw_cursor_in_window):
8159         * redisplay-output.c (redisplay_update_line):
8160         * redisplay-output.c (redisplay_output_window):
8161         New begin/end methods.
8162
8163         * redisplay-tty.c:
8164         * redisplay-tty.c (tty_frame_output_begin):
8165         * redisplay-tty.c (tty_frame_output_end):
8166         * redisplay-tty.c (console_type_create_redisplay_tty):
8167         New begin/end methods.
8168
8169         * redisplay-x.c:
8170         * redisplay-x.c (x_window_output_begin):
8171         * redisplay-x.c (x_window_output_end):
8172         * redisplay-x.c (console_type_create_redisplay_x):
8173         New begin/end methods.
8174
8175         * redisplay.c (redisplay_frame):
8176         * redisplay.c (Fredisplay_echo_area):
8177         New begin/end methods.
8178         use MAYBE_DEVMETH for clear_frame; it may not exist.
8179
8180         * window.h (WINDOW_XFRAME):
8181         WINDOW_XFOO macros -- get locale and decode struct pointer.
8182
8183
8184 2000-05-12  Ben Wing  <ben@xemacs.org>
8185
8186         * emacs.c:
8187         * emacs.c (ensure_no_quitting_from_now_on):
8188         * emacs.c (fatal_error_signal):
8189         * emacs.c (mswindows_handle_hardware_exceptions):
8190         * emacs.c (main):
8191         * emacs.c (Fkill_emacs):
8192         * emacs.c (shut_down_emacs):
8193         * emacs.c (assert_failed):
8194         various improvements in fatal error handling.
8195
8196         * eval.c:
8197         move preparing_for_armageddon to emacs.c.
8198
8199         * lisp.h:
8200         declare fatal_error_in_progress.
8201
8202         * print.c:
8203         * print.c (std_handle_out_external):
8204         * print.c (std_handle_out_va):
8205         * print.c (stderr_out):
8206         * print.c (stdout_out):
8207         use console under mswin when no standard output.
8208         don't do code conversion during fatal error.
8209
8210         * scrollbar.c (Fscrollbar_page_up):
8211         * scrollbar.c (Fscrollbar_page_down):
8212         fix missing else.  reindent.
8213
8214 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8215
8216         Emergency fix.
8217
8218         * glyphs.h (GLYPH_CACHEL_DESCENT):
8219         (GLYPH_CACHEL_DESCENT):
8220         (GLYPH_CACHEL_DESCENT):
8221         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8222         used in case these are inline functions.
8223         Use more absurd values to error check.
8224
8225         include window.h for error check functions.
8226
8227 2000-05-11  Ben Wing  <ben@xemacs.org>
8228
8229         * cmdloop.c (Freally_early_error_handler):
8230         Display message box under windows; otherwise, message will disappear
8231         before it can be viewed.
8232
8233         * console-msw.c:
8234         * console-msw.c (Fmswindows_message_box):
8235         * console-msw.c (FROB):
8236         * console-msw.c (syms_of_console_mswindows):
8237         Define new fun `mswindows-message-box'.
8238         #### I will merge this into `popup-dialog-box'; just give me
8239         a bit of time.
8240
8241         * general.c:
8242         * general.c (syms_of_general):
8243         Some new symbols used in `mswindows-message-box'.
8244
8245         * glyphs.c:
8246         * glyphs.c (Fset_image_instance_property):
8247         put warning in this fun.
8248
8249         * glyphs.h:
8250         * glyphs.h (GLYPH_CACHEL_WIDTH):
8251         * glyphs.h (GLYPH_CACHEL_ASCENT):
8252         * glyphs.h (GLYPH_CACHEL):
8253         * glyphs.h (GLYPH_CACHEL_GLYPH):
8254         define error-checking versions to try to catch a bug i've seen --
8255         redisplay gets in an infinite loop because the glyph width of the
8256         continuation glyph is 65535.
8257
8258         * lisp.h:
8259         Extern message-box stuff.
8260
8261         * window.c (allocate_window):
8262         * window.c (make_dummy_parent):
8263         * window.c (Fset_window_configuration):
8264         Use EQUAL not EQ for subwindow caches to make them work a bit
8265         better. (Something is still very broken.)
8266
8267
8268 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8269
8270         * glyphs.c (image_instantiate): Suppress gcc warnings.
8271         (Fmake_image_instance): Fix doc string.
8272         * specifier.c (Fmake_specifier): Ditto.
8273
8274 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8275
8276         * paths.h.in (PATH_LOCK): Removed.
8277         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8278         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8279
8280 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8281
8282         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8283         Document (featurep '(and xemacs 21.02)).
8284
8285 2000-05-09  Ben Wing  <ben@xemacs.org>
8286
8287         * buffer.c (complex_vars_of_buffer):
8288         update modeline-format doc.
8289
8290         * device.h:
8291         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8292
8293         * emacs.c:
8294         timeline of all released versions of Emacs, for use in creating
8295         authorship comments and in synching up.
8296
8297         * glyphs-widget.c (image_instantiator_buttons):
8298         * glyphs-widget.c (image_instantiator_edit_fields):
8299         * glyphs-widget.c (image_instantiator_combo_box):
8300         * glyphs-widget.c (image_instantiator_scrollbar):
8301         * glyphs-widget.c (image_instantiator_progress_guage):
8302         * glyphs-widget.c (image_instantiator_tree_view):
8303         * glyphs-widget.c (image_instantiator_tab_control):
8304         * glyphs-widget.c (image_instantiator_labels):
8305         * glyphs-widget.c (image_instantiator_layout):
8306         * glyphs-widget.c (image_instantiator_native_layout):
8307         rename decode_domain method to governing_domain.
8308
8309         * glyphs.c:
8310         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8311         * glyphs.c (add_entry_to_device_ii_format_list):
8312         make sure we don't put an entry more than once into the list.
8313         * glyphs.c (check_instance_cache_mapper):
8314         *************************************************************
8315         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8316         HAVE BEEN GETTING.
8317         *************************************************************
8318         * glyphs.c (get_image_instantiator_governing_domain):
8319         clean up, expand on new concept of governing domain.
8320         * glyphs.c (instantiate_image_instantiator):
8321         * glyphs.c (allocate_image_instance):
8322         use governing_domain instead of cache_domain in naming.
8323         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8324         * glyphs.c (make_image_instance_1):
8325         * glyphs.c (Fmake_image_instance):
8326         allow for any domain (not just device), and process the
8327         governing domain correctly.  very big doc fix.
8328         * glyphs.c (Fimage_instance_domain):
8329         new primitive, to retrieve the governing domain of an image instance.
8330         * glyphs.c (image_instantiate):
8331         use new governing_domain stuff.  this fixes a crash you could get
8332         by instantiating certain widget glyphs in frame locales. (should
8333         signal an error instead of crashing.)
8334         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8335         * glyphs.c (Fglyphp): clean up doc.
8336         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8337         * glyphs.c (syms_of_glyphs):
8338         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8339         * glyphs.c (image_instantiator_format_create): add some comments about
8340         bogus code.
8341         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8342         for current-display-table. (Apparently Hrjove implemented in 1998 a
8343         design I wrote up in 1996, but didn't update the doc string.)
8344
8345         * glyphs.h: clean up a doc string.
8346         * glyphs.h (governing_domain):
8347         * glyphs.h (struct image_instantiator_methods):
8348         changes for governing_domain stuff.
8349
8350         * gutter.c:
8351         * gutter.c (Fgutter_specifier_p):
8352         * gutter.c (Fgutter_size_specifier_p):
8353         * gutter.c (Fgutter_visible_specifier_p):
8354         * objects.c:
8355         * objects.c (Fcolor_specifier_p):
8356         * objects.c (Ffont_specifier_p):
8357         * objects.c (Fface_boolean_specifier_p):
8358         doc strings moved to make-*-specifier.
8359
8360         * redisplay.c (add_disp_table_entry_runes_1):
8361         * redisplay.c (generate_fstring_runes):
8362         * redisplay.c (screen):
8363         add random comments and doc strings.
8364
8365         * specifier.c:
8366         * specifier.c (Fmake_specifier):
8367         major overhaul of this doc string.
8368
8369         * specifier.c (Fvalid_specifier_domain_p):
8370         comment about the bogosity of image instances being domains.
8371         * specifier.c (decode_domain):
8372         now non-static, used in glyphs.c.
8373         * specifier.c (specifier_instance):
8374         comment about the bogosity of image instances being domains.
8375         * specifier.c (Fgeneric_specifier_p):
8376         move doc string to make-generic-specifier.
8377         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8378         rebackslashify.
8379
8380         * specifier.h:
8381         * specifier.h (DOMAIN_FRAME):
8382         * specifier.h (DOMAIN_LIVE_P):
8383         * specifier.h (DOMAIN_XDEVICE):
8384         rebackslashify.
8385         add comments about problems with these macros.
8386         prototype for decode_domain.
8387
8388         * toolbar.c:
8389         * toolbar.c (Ftoolbar_specifier_p):
8390         move doc string to `make-toolbar-specifier'.
8391
8392         * window.c (window_unmap_subwindows_cache_mapper):
8393         *************************************************************
8394         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8395         HAVE BEEN GETTING.
8396         *************************************************************
8397
8398 2000-05-09  Andy Piper  <andy@xemacs.org>
8399
8400         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8401
8402         * window.c (Fset_window_configuration): reset the frame subwindow
8403         cache and re-initialize the window subwindow caches.
8404
8405         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8406
8407 2000-05-09  Ben Wing  <ben@xemacs.org>
8408
8409         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8410         DWORD.
8411
8412 2000-04-26  Mike Woolley  <mike@bulsara.com>
8413
8414         * ntheap.c: Changed recreate_heap to limit the amount reserved
8415         for the heap to that which is actually available. Also now
8416         displays a message box (with some dignostics) in the event that
8417         it still can't start.
8418
8419 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8420
8421         * callproc.c (Fold_call_process_internal): GCPRO path
8422
8423 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8424
8425         Patch by Bill Perry.
8426
8427         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8428         back data instead of #ifdef.
8429         (Fscrollbar_page_down): ditto.
8430
8431 2000-05-07  Ben Wing  <ben@xemacs.org>
8432
8433         * buffer.h:
8434         Kludge for defining Qmswindows_tstr.
8435
8436         * nt.c:
8437         * nt.c (open_input_file):
8438         * nt.c (open_output_file):
8439         * nt.c (rva_to_section):
8440         * nt.c (mswindows_executable_type):
8441         Move all memory-mapped-file routines here (some were in unexnt.c,
8442         which is bad because they are used by process-nt.c, and unexnt
8443         won't be around when portable dumping).  Synched the above routines
8444         with FSF 20.6.
8445
8446         * nt.h:
8447         Removed ifdef'd out bogus code.
8448         Fixed some prototypes.
8449
8450         * nt.h (file_data):
8451         * nt.h (OFFSET_TO_RVA):
8452         * nt.h (RVA_TO_OFFSET):
8453         * nt.h (RVA_TO_PTR):
8454         Moved the memory-mapped-file structures, macros and prototypes
8455         here, to parallel nt.c.  ntheap.h should really be removed
8456         entirely, and it's a non-portable-dumper specific file.
8457
8458         * ntheap.h (round_to_next):
8459         Moved the memory-mapped-file structures, macros and prototypes
8460         to nt.h.
8461
8462         * ntproc.c (compare_env):
8463         Moved rva_to_section and mswindows_executable_type to nt.c.
8464         Moved compare_env to process-nt.c.
8465         ntproc.c will die, one day.
8466
8467         * ntproc.c (sys_spawnve):
8468         Account for win32_ -> mswindows_.
8469
8470         * process-nt.c:
8471         * process-nt.c (struct nt_process_data):
8472         * process-nt.c (ensure_console_window_exists):
8473         * process-nt.c (compare_env):
8474         * process-nt.c (nt_create_process):
8475         * process-nt.c (nt_kill_process_by_pid):
8476         * process-nt.c (syms_of_process_nt):
8477         * process-nt.c (vars_of_process_nt):
8478         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8479         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8480         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8481         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8482         Move compare_env here from ntproc.c.
8483
8484         * process.c (Fprocess_send_region):
8485         Takes an optional fourth argument, BUFFER, which should fix some
8486         problems with call-process.
8487
8488         * syscommctrl.h:
8489         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8490
8491         * syswindows.h:
8492         Move ICC_BAR_CLASSES to syscommctrl.h.
8493         Add preliminary macros for MSWindows/Mule.  More to come.
8494
8495         * unexnt.c:
8496         * unexnt.c (unexec):
8497         open_output_file moved to nt.c.
8498
8499
8500 2000-05-05  Andy Piper  <andy@xemacs.org>
8501
8502         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8503         instance from the frame cache also since GC may catch up too late
8504         to make frame deletion sane.
8505
8506 2000-05-04  Andy Piper  <andy@xemacs.org>
8507
8508         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8509         (x_finalize_image_instance): ungcpro on deletion.
8510
8511         * glyphs.c (image_instantiator_format_create): give pointers a
8512         query geometry method so that the geometry is at least set.
8513
8514         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8515         initialize layouts if using widgets.
8516
8517 2000-05-03  Andy Piper  <andy@xemacs.org>
8518
8519         * nt.c: remove bogus reference to sysmmsystem.h
8520
8521         * gui-x.c (popup_selection_callback): fix no selection abort.
8522
8523 2000-05-02  Andy Piper  <andy@xemacs.org>
8524
8525         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8526         (mswindows_widget_instantiate): ditto.
8527
8528         * glyphs-widget.c (initialize_widget_image_instance): initialize
8529         children correctly.
8530         (widget_instantiate): cope with children and items in the same
8531         instance.
8532
8533         * glyphs.c (mark_image_instance): cope with children as a first
8534         class member.
8535         (image_instance_equal): ditto.
8536         (image_instance_hash): ditto.
8537         (image_instance_changed): ditto.
8538
8539 2000-04-30  Andy Piper  <andy@xemacs.org>
8540
8541         * glyphs.c (subwindow_query_geometry): new function. Return some
8542         defaults.
8543         (subwindow_instantiate): don't assign dimensions if none have been
8544         given.
8545         (image_instantiator_format_create): add subwindow_query_geometry.
8546         (print_image_instance): cope with layouts as widgets.
8547
8548 2000-04-29  Andy Piper  <andy@xemacs.org>
8549
8550         * frame.c (delete_frame_internal): call
8551         free_frame_subwindow_instance_cache so that all subwindows are
8552         finalized before their parent.
8553         (mark_frame): remove subwindow_cachels.
8554         (Fmake_frame): remove subwindow_cachel manipulation.
8555         (allocate_frame_core): subwindow_instance_cache is a weak list.
8556         (delete_frame_internal): set subwindow_instance_cache to nil.
8557
8558         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8559         finalization safe.
8560         (mswindows_finalize_image_instance): use the device
8561         not the domain as the domain may have died already.
8562
8563         * glyphs-x.c (x_finalize_image_instance): ditto.
8564         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8565         HEIGHT.
8566
8567         * redisplay-output.c (redisplay_unmap_subwindows): update for
8568         subwindow instance cache as a weak list.
8569         (redisplay_unmap_subwindows_maybe): ditto.
8570         (redisplay_unmap_subwindows_except_us): ditto.
8571
8572         * glyphs.c (unmap_subwindow): error checking will check the domain
8573         so don't deal with it here. Don't use cachels anymore.
8574         (map_subwindow): ditto.
8575         (update_subwindow_cachel_data): remove old accessor names.
8576         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8577         (Fresize_subwindow): don't update cachel.
8578         (mark_subwindow_cachels):
8579         (update_subwindow_cachel_data):
8580         (add_subwindow_cachel):
8581         (get_subwindow_cachel_index):
8582         (update_subwindow_cachel):
8583         (reset_subwindow_cachels):
8584         (mark_subwindow_cachels_as_not_updated): deleted.
8585         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8586         subwindow instance to the frame cache.
8587         (find_matching_subwindow): update for subwindow instance cache as
8588         a weak list.
8589         (update_widget_instances): ditto.
8590         (image_instance_type_to_mask):inlined.
8591         (free_frame_subwindow_instance_cache): new function. finalize all
8592         subwindows that are instantiated.
8593
8594         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8595         of cachel information.
8596         (IMAGE_INSTANCE_DISPLAY_X):
8597         (IMAGE_INSTANCE_DISPLAY_Y):
8598         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8599         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8600         (XIMAGE_INSTANCE_DISPLAY_X):
8601         (XIMAGE_INSTANCE_DISPLAY_Y):
8602         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8603         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8604         remove subwindow_cachel structure and function references.
8605         (image_instance_type_to_mask): inline from glyphs.c
8606
8607         * redisplay.c (redisplay_frame): remove subwindow_cachel
8608         references.
8609
8610         * frame.h (struct frame): remove subwindow_cachels.
8611         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8612
8613         * frameslots.h: add subwindow_instance_cache.
8614
8615         * window.c (replace_window): check subwindow cache of replacement.
8616         (window_unmap_subwindows_cache_mapper):
8617         (window_unmap_subwindows): new functions. Unmap all subwindows
8618         cached on this window.
8619         (mark_window_as_deleted): unmap all subwindows.
8620
8621 2000-04-27  Andy Piper  <andy@xemacs.org>
8622
8623         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8624
8625         * glyphs-widget.c (widget_layout): return something.
8626         (layout_layout): return something. Fail if not initialized.
8627         (layout_query_geometry): ditto.
8628         (image_instantiator_native_layout): new function. Initialized the
8629         native layout type.
8630         (widget_instantiate): don't do layout stuff here.
8631
8632         * glyphs.c (instantiate_image_instantiator): reorded calling or
8633         instantiate and post_instantiate with layout in between.
8634         (image_instance_layout): be more selective about deciding whether
8635         the layout has been done or not.
8636
8637         * glyphs.h (struct image_instantiator_methods): return a value
8638         from layout_method.
8639
8640 2000-04-26  Andy Piper  <andy@xemacs.org>
8641
8642         * glyphs.c (allocate_image_instance): make initial width and
8643         height unspecified. Set initialized to 0.
8644
8645         * syscommctrl.h new file. Encapsulates commctrl.h.
8646
8647         * syswindows.h new file. Encapsulates windows.h.
8648
8649         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8650         * nt.c: ditto.
8651         * console-msw.h: ditto.
8652
8653         * redisplay-tty.c (tty_output_display_block): remove layout references.
8654
8655         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8656         window handle rather than just the frame.
8657
8658         * glyphs.c (mark_image_instance): remove layout references.
8659         (print_image_instance): ditto.
8660         (image_instance_equal): ditto.
8661         (image_instance_hash): ditto.
8662         (decode_image_instance_type): ditto.
8663         (encode_image_instance_type): ditto.
8664         (image_instantiate): ditto.
8665         (allocate_glyph): ditto.
8666         (Fimage_instance_height): ditto.
8667         (Fimage_instance_width): ditto.
8668         (update_subwindow): ditto.
8669
8670         * redisplay-x.c (x_output_display_block): recode for layouts as
8671         widgets.
8672
8673         * redisplay-output.c (redisplay_output_layout): recode for layouts
8674         as widgets.
8675         (compare_runes): remove layout references.
8676
8677         * redisplay-msw.c (mswindows_output_display_block): recode for
8678         layouts as widgets.
8679
8680         * glyphs-widget.c (image_instantiator_layout): remove
8681         layout_possible_dest_types.
8682         (layout_possible_dest_types): deleted.
8683
8684         * glyphs.h (image_instance_type): remove layout references.
8685         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8686         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8687         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8688
8689 2000-04-25  Andy Piper  <andy@xemacs.org>
8690
8691         * glyphs-widget.c (image_instantiator_buttons):
8692         (image_instantiator_edit_fields):
8693         (image_instantiator_combo_box):
8694         (image_instantiator_scrollbar):
8695         (image_instantiator_progress_guage):
8696         (image_instantiator_tree_view):
8697         (image_instantiator_tab_control):
8698         (image_instantiator_labels):
8699         (image_instantiator_layout): call default post_instantiate method.
8700         (widget_post_instantiate): new function. Simply lays out the
8701         widgets.
8702
8703         * glyphs.h (struct image_instantiator_methods): add
8704         post_instantiate method.
8705
8706         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8707         method calls.
8708
8709 2000-04-23  Andy Piper  <andy@xemacs.org>
8710
8711         * glyphs.h (struct image_instantiator_methods): add
8712         decode_domain_method.
8713         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8714         derived from the domain.
8715         (IMAGE_INSTANCE_FRAME): new accessor.
8716         (XIMAGE_INSTANCE_FRAME): ditto.
8717
8718         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8719         instead of _SUBWINDOW_FRAME.
8720         (finalize_image_instance): ditto.
8721         (Fimage_instance_foreground): ditto.
8722         (Fimage_instance_background): ditto.
8723         (image_instantiate): ditto.
8724         (update_subwindow_cachel): ditto.
8725         (update_subwindow): ditto.
8726         (unmap_subwindow): ditto.
8727         (map_subwindow): ditto
8728         (subwindow_instantiate): ditto.
8729         * glyphs-msw.c (mswindows_update_widget): ditto.
8730         (mswindows_progress_gauge_instantiate): ditto.
8731         (mswindows_tab_control_update): ditto.
8732         * glyphs-x.c (x_update_widget): ditto.
8733         (x_widget_instantiate): ditto.
8734         (x_tab_control_instantiate): ditto.
8735         (x_tab_control_update): ditto.
8736         * event-msw.c (mswindows_wnd_proc): ditto
8737
8738         * glyphs-widget.c (image_instantiator_layout): use
8739         subwindow_decode_domain.
8740         (image_instantiator_buttons): ditto.
8741         (image_instantiator_edit_fields): ditto.
8742         (image_instantiator_combo_box): ditto.
8743         (image_instantiator_scrollbar): ditto.
8744         (image_instantiator_progress_guage): ditto.
8745         (image_instantiator_tree_view): ditto.
8746         (image_instantiator_tab_control): ditto.
8747         (image_instantiator_labels): ditto.
8748         (image_instantiator_layout): ditto.
8749
8750         * glyphs.c: add instance error checking to many functions.
8751         (instantiate_image_instantiator): decode device from cache_domain.
8752         (image_instantiate): partially rewrite by using
8753         decode_image_instantiator_domain to determine what domain the
8754         instance needs to be cached in.
8755         (decode_image_instantiator_domain): new function. Determine what
8756         domain the image needs to be cached in.
8757         (check_window_subwindow_cache): new error checking function.
8758         (check_instance_cache_mapper): ditto.
8759         (check_image_instance_structure): ditto.
8760         (subwindow_decode_domain): new function. Encodes a window as a
8761         subwindow's cache domain.
8762         (image_instantiator_format_create): use it for text and
8763         subwindows.
8764
8765 2000-04-21  Andy Piper  <andy@xemacs.org>
8766
8767         * glyphs.c (image_instance_device): new function.
8768         (image_instance_frame): new function.
8769         (image_instance_window): new function.
8770         (image_instance_live_p): new function.
8771
8772         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8773         cache to nil.
8774
8775         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8776         (IMAGE_INSTANCE_DOMAIN): new accessor.
8777         (XIMAGE_INSTANCE_DOMAIN): ditto.
8778
8779         * glyphs-x.c (x_finalize_image_instance): device->domain.
8780
8781         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8782         (mswindows_finalize_image_instance): ditto.
8783
8784         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8785         (gif_instantiate): ditto.
8786         (png_instantiate): ditto.
8787         (tiff_instantiate): ditto.
8788
8789         * glyphs.c (instantiate_image_instantiator): use domain rather
8790         than device.
8791         (mark_image_instance): device -> domain.
8792         (print_image_instance): ditto.
8793         (finalize_image_instance): ditto.
8794         (image_instance_equal): ditto.
8795         (allocate_image_instance): ditto.
8796         (Fcolorize_image_instance): ditto.
8797         (query_string_geometry): ditto.
8798         (image_instantiate): ditto
8799         (query_string_font): ditto.
8800         (image_instantiate): ditto.
8801         (update_subwindow): ditto.
8802         (unmap_subwindow): ditto.
8803         (map_subwindow): ditto.
8804         (subwindow_instantiate): ditto.
8805
8806         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8807         (DOMAIN_FRAME): ditto.
8808         (DOMAIN_WINDOW): ditto.
8809         (DOMAIN_LIVE_P): ditto.
8810         (XDOMAIN_DEVICE): ditto.
8811         (XDOMAIN_FRAME): ditto.
8812         (XDOMAIN_WINDOW): ditto.
8813
8814         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8815         a valid specifier domain.
8816
8817 2000-04-19  Andy Piper  <andy@xemacs.org>
8818
8819         * glyphs-widget.c (syms_of_glyphs_widget): remove
8820         widget-callback-current-channel.
8821         (vars_of_glyphs_widget): ditto.
8822         * glyphs.h: ditto
8823
8824         * gui.c (get_gui_callback): revert to previous behaviour.
8825
8826 2000-04-18  Andy Piper  <andy@xemacs.org>
8827
8828         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8829         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8830         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8831
8832         * glyphs.c (image_instance_equal): add margin_width.
8833         (image_instance_hash): ditto.
8834
8835         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8836         (layout_query_geometry): ditto.
8837         (layout_layout): ditto.
8838         (syms_of_glyphs_widget): add margin-width.
8839         (image_instantiator_layout): allow margin-width.
8840
8841         * glyphs.c (update_widget_instances): make a normal function.
8842         (syms_of_glyphs): remove Qupdate_widget_instances.
8843         * glyphs.h: ditto.
8844
8845         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8846         so that we don't corrupt ideas about the last event or
8847         command. Remove widget-callback-current-channel fiddling.
8848         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8849
8850 2000-05-01  Martin Buchholz <martin@xemacs.org>
8851
8852         * XEmacs 21.2.33 is released.
8853
8854 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8855
8856         * make-src-depend: Allow dots in header file name.
8857
8858 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8859
8860         * mule-charset.h (struct charset_lookup): Add
8861         next_allocated_1_byte_leading_byte and
8862         next_allocated_2_byte_leading_byte.
8863         * mule-charset.c: Move above two variables so that those values
8864         will be dumped.
8865
8866 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8867
8868         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8869         when string length is zero.
8870         (find_charsets_in_emchar_string): Ditto.
8871
8872 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8873
8874         * lisp.h: extern Qdialog and Qmenubar.
8875
8876         * gui-x.c: added events.h.
8877                 also fixed typo which made the file uncompilable.
8878
8879         * general.c: Added Qmenubar and Qdialog
8880
8881 2000-04-28  Ben Wing  <ben@xemacs.org>
8882
8883         * frame-msw.c (mswindows_init_frame_1):
8884         * frame-msw.c (mswindows_mark_frame):
8885         * event-msw.c (mswindows_enqueue_dispatch_event):
8886         * console-msw.h:
8887         * console-msw.h (struct mswindows_frame):
8888         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8889         there are now three hash tables for callbacks.
8890         mswindows_enqueue_dispatch_event is no longer static.
8891
8892         * dialog-x.c (maybe_run_dbox_text_callback):
8893         * dialog-x.c (dbox_descriptor_to_widget_value):
8894         switch to new cons3 form for callbacks.
8895
8896         * glyphs-msw.c (mswindows_register_gui_item):
8897         * glyphs-msw.c (mswindows_widget_instantiate):
8898         * glyphs-msw.c (add_tree_item):
8899         * glyphs-msw.c (add_tab_item):
8900         new image instance parameter, so it can be passed to callback-ex.
8901         respect :callback-ex as well as :callback.
8902
8903         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8904         add :callback-ex.
8905
8906         * glyphs.c (print_image_instance):
8907         prettify, e.g. now prints widget type.
8908
8909         * gui-x.h:
8910         certain funs have new image instance parameter.
8911
8912         * gui.c:
8913         * gui.c (get_gui_callback):
8914         * gui.c (gui_item_add_keyval_pair):
8915         * gui.c (gui_item_init):
8916         * gui.c (gui_add_item_keywords_to_plist):
8917         * gui.c (mark_gui_item):
8918         * gui.c (gui_item_hash):
8919         * gui.c (gui_item_equal):
8920         * gui.c (copy_gui_item):
8921         * gui.c (syms_of_gui):
8922         recognize callback-ex in a number of places.
8923         also, fix the annoying "can't get out of yes-no dialog" bug.
8924
8925         * gui.h:
8926         * gui.h (struct Lisp_Gui_Item):
8927         recognize callback-ex in a number of places.
8928
8929         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8930         new parameter in button_item_to_widget_value.
8931
8932         * glyphs-x.c (x_update_widget):
8933         * glyphs-x.c (x_button_instantiate):
8934         * glyphs-x.c (x_button_update):
8935         * glyphs-x.c (x_progress_gauge_instantiate):
8936         * glyphs-x.c (x_edit_field_instantiate):
8937         * glyphs-x.c (x_combo_box_instantiate):
8938         * glyphs-x.c (x_tab_control_instantiate):
8939         * glyphs-x.c (x_label_instantiate):
8940         new image instance parameter in various places.
8941
8942         * event-Xt.c:
8943         * event-Xt.c (enqueue_Xt_dispatch_event):
8944         this fun gets exported.
8945
8946         * gui-msw.c:
8947         * gui-msw.c (mswindows_handle_gui_wm_command):
8948         handle both :callback and :callback-ex, and generate our own
8949         event because it's one of the callback-ex arguments.
8950
8951         * gui-x.c:
8952         * gui-x.c (popup_selection_callback):
8953         handle both :callback and :callback-ex, and generate our own
8954         event because it's one of the callback-ex arguments.
8955         * gui-x.c (button_item_to_widget_value):
8956         * gui-x.c (gui_items_to_widget_values_1):
8957         * gui-x.c (gui_item_children_to_widget_values):
8958         * gui-x.c (gui_items_to_widget_values):
8959         new image instance parameter in various places.
8960
8961         * fns.c (Freplace_list):
8962         fix small typo in doc string.
8963
8964         * lisp.h:
8965         declare enqueue_Xt_dispatch_event.
8966
8967 2000-04-28  Ben Wing  <ben@xemacs.org>
8968
8969         * buffer.c:
8970         * buffer.c (Frecord_buffer):
8971         * buffer.c (syms_of_buffer):
8972         delete record-buffer-hook.
8973
8974         * fns.c:
8975         * fns.c (Freplace_list):
8976         * fns.c (syms_of_fns):
8977         new primitive replace-list.
8978
8979         * frameslots.h:
8980         slot for old buffer-alist.
8981
8982         * lisp.h:
8983         exfun replace-list.
8984
8985         * redisplay.c:
8986         * redisplay.c (redisplay_frame):
8987         * redisplay.c (syms_of_redisplay):
8988         * redisplay.c (vars_of_redisplay):
8989         new hook buffer-list-changed-hook.
8990         call it.
8991
8992 2000-04-27  Ben Wing  <ben@xemacs.org>
8993
8994         * extents.h: extern in_modeline_generation.
8995
8996         * redisplay.c (generate_formatted_string_db): set
8997         in_modeline_generation.
8998
8999         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9000         flags if in modeline generation.  otherwise frame-modified-tick
9001         is ticked far too often.
9002         Declare in_modeline_generation.
9003
9004 2000-04-26  Ben Wing  <ben@xemacs.org>
9005
9006         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9007         option.
9008         (vars_of_emacs): add quick-build as an error-checking option.
9009         A bit kludgy, but there doesn't seem much point in creating
9010         a real var for this.
9011
9012         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9013
9014 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9015
9016         * redisplay.h (struct display_line): Add a new variable,
9017         line_continuation.
9018
9019         * redisplay.c (create_text_block): Set dl->line_continuation if
9020         the line continues.
9021         (create_string_text_block): Ditto.
9022         (regenerate_window_incrementally): Use line_continuation instead
9023         of searching continuation glyph.
9024         (add_margin_runes): Call add_glyph_rune.
9025         (add_glyph_rune): Handle margin glyph.
9026
9027 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9028
9029         * filelock.c (fill_in_lock_file_name):
9030         ANSIfy.
9031         Check for IS_ANY_SEP instead of '/'.
9032         (lock_file_1):
9033         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9034         Never check errno without first seeing that system call failed.
9035         (unlock_file): Add GCPRO.
9036         (Flock_buffer): Fix docstring.
9037         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9038
9039 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9040
9041         * sysdep.c (get_pty_max_bytes):
9042         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9043         strings longer than 252 bytes.
9044
9045         * md5.c: Unconditionally include ANSI header <limits.h>
9046
9047         * glyphs-x.c (convert_EImage_to_XImage):
9048         * lisp-union.h (union Lisp_Object):
9049         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9050
9051 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9052
9053         * filelock.c (current_lock_owner): Remove unused variable o, p.
9054
9055 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9056
9057         * callint.c: Remove multiply defined symbol Qlet
9058         (syms_of_callint): ditto.
9059
9060 2000-04-14  Andy Piper  <andy@xemacs.org>
9061
9062         * general.c (syms_of_general): add last-command, this-command, let
9063         and funcall.
9064
9065         * lisp.h: declare various symbols.
9066
9067         * glyphs.h: declare Qwidget_callback_current_channel;
9068
9069         * glyphs-widget.c (syms_of_glyphs_widget): add
9070         Qgui_callback_current_channel.
9071         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9072
9073         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9074         widget-callback-current-channel when invoking the interactive
9075         arg. Also bind last-command and next-command when invoking the
9076         widget updates.
9077         * gui-x.c (popup_selection_callback): ditto.
9078
9079         * gui.c (get_gui_callback): massage args so that we are always
9080         calling eval. This allows us to add our own variable bindings
9081         outside.
9082
9083         * glyphs-x.c (x_button_instantiate): use
9084         gui_items_to_widget_values since this is GC safe.
9085         (x_progress_gauge_instantiate): ditto.
9086         (x_edit_field_instantiate): ditto.
9087         (x_label_instantiate): ditto.
9088
9089         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9090         (emacs_Xt_event_widget_focus_out): new function
9091         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9092         focus.
9093         (emacs_Xt_event_add_widget_actions): new function. add focus
9094         functions as actions.
9095         (init_event_Xt_late): use it.
9096
9097 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9098
9099         * event-stream.c (Fdispatch_event): Doc fix.
9100
9101 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9102
9103         * postgresql.c: Remove all references to PQsetenv*.
9104
9105         * postgresql.h: Remove references to PGsetenvHandler object.
9106         * lrecord.h (lrecord_type): Ditto.
9107
9108 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9109
9110         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9111         real_heigh and real_width members, and accessor macros for these.
9112
9113         * glyphs-msw.c (init_image_instance_geometry): New function.
9114         (init_image_instance_from_dibitmap): Use it.
9115         (mswindows_resource_instantiate): Use it.
9116         (init_image_instance_from_xbm_inline): Use it.
9117         (mswindows_initialize_image_instance_mask): Use real bitmap
9118         geometry.
9119         (mswindows_create_resized_bitmap): Ditto.
9120         (mswindows_create_resized_mask): Ditto.
9121
9122         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9123         and bitmap to their surface size.
9124
9125 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9126
9127         * process-unix.c (unix_send_process): Guard against process MIA
9128         after Faccept_process_output.
9129
9130 2000-04-11  Ben Wing  <ben@xemacs.org>
9131
9132         * eval.c (unbind_to_hairy): fix brokenness introduced by
9133         nanosecond speed improvements.
9134
9135 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9136
9137         * sunplay.c (init_device): To play sounds correctly, the device
9138         apparently needs to be initialized at least once by XEmacs.  Make
9139         it so.
9140
9141 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9142
9143         * redisplay.c (add_margin_runes): Add text image glyph
9144           handling.
9145
9146 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9147
9148         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9149         gcc is newer than 2.5.
9150
9151 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9152
9153         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9154
9155         * fns.c (size_bit_vector):
9156         * alloc.c (size_vector):
9157         (make_vector_internal):
9158         (make_bit_vector_internal):
9159         (sweep_bit_vectors_1):
9160         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9161
9162 2000-04-06  Andy Piper  <andy@xemacs.org>
9163
9164         * gmalloc.c (malloc): undo previous change.
9165         (malloc): ditto.
9166         (free): ditto.
9167         (realloc): ditto.
9168
9169 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9170
9171         * line-number.c (buffer_line_number): Revert to former version.
9172
9173 2000-04-06  Andy Piper  <andy@xemacs.org>
9174
9175         * gmalloc.c (malloc): add error checking.
9176         (malloc): ditto.
9177         (free): ditto.
9178         (realloc): ditto.
9179
9180         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9181         button_item_to_widget_value arg.
9182
9183         * glyphs-x.c (x_button_instantiate): add extra
9184         button_item_to_widget_value arg.
9185         (x_progress_gauge_instantiate): ditto.
9186         (x_edit_field_instantiate): ditto.
9187         (x_label_instantiate): ditto.
9188
9189         * gui-x.c (gui_items_to_widget_values_1): add extra
9190         button_item_to_widget_value arg.
9191         (button_item_to_widget_value): add extra menu_item_p arg.
9192
9193         * gui-x.h: change signature of button_item_to_widget_value.
9194
9195         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9196         button_item_to_widget_value arg.
9197
9198 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9199
9200         * buffer.h (struct buffer): auto_save_modified should be long.
9201
9202 2000-04-05  Andy Piper  <andy@xemacs.org>
9203
9204         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9205         type.
9206         (button_query_geometry): give a little more room so that athena
9207         buttons fit.
9208
9209 2000-04-05  Andy Piper  <andy@xemacs.org>
9210
9211         * faces.c (complex_vars_of_faces): The widget face should inherit
9212         the font of the gui-element face.
9213
9214 2000-04-04  Andy Piper  <andy@xemacs.org>
9215
9216         * glyphs-x.c (x_button_update): new function. unconditionally
9217         update a button's state when the instance is dirty.
9218         (image_instantiator_format_create_glyphs_x): add x_button_update.
9219         (x_widget_instantiate): remove old resize cruft.
9220
9221 2000-04-02  Andy Piper  <andy@xemacs.org>
9222
9223         * frame.c (change_frame_size_1): The introduction of gutters means
9224         that we need to allow 0 as a potential frame dimension.
9225
9226 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9227
9228         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9229         image glyph if allow_cursor.
9230         (add_hscroll_rune): Don't allow cursor to border glyph.
9231         (create_text_block): Ditto.
9232
9233         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9234         text not in buffer.
9235         (redisplay_output_layout): Call ensure_face_cachel_complete for
9236         text image glyph.
9237
9238
9239 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9240
9241         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9242
9243         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9244         not in buffer
9245
9246         * redisplay-tty.c (tty_output_display_block): Delete the routine
9247         for text image glyph
9248         * redisplay-x.c (x_output_display_block): ditto
9249         * redisplay-msw.c (mswindows_output_display_block): ditto
9250
9251 2000-02-02  Mike Alexander  <mta@arbortext.com>
9252
9253         Note: Some of these were committed by accident as part of other
9254         patches.
9255
9256         * regex.c (regex_compile): Avoid compiler warnings.
9257
9258         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9259
9260         * nt.h: Declare term_ntproc correctly.
9261
9262         * nt.c: Remove incorrect declaration of get_home_directory which
9263         is declared correctly in lisp.h.
9264
9265         * keymap.c (get_keyelt): Avoid compiler warnings.
9266         (raw_lookup_key_mapper): Avoid compiler warnings.
9267
9268         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9269
9270         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9271
9272         * filemode.c (mode_string): Avoid compiler warnings.
9273
9274         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9275         avoid warning.
9276
9277         * events-mod.h: Undef some things that winuser.h defines differently.
9278
9279         * data.c (Faset): Avoid compiler warnings.
9280
9281         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9282
9283 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9284
9285         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9286         Fall through to simple beep on error.
9287         Replace "extern" by real header file.
9288
9289         * linuxplay.c: Use nativesound.h
9290         (play_sound_data): Return error code. Be less verbose on error.
9291
9292         * sunplay.c: Use nativesound.h
9293         (play_sound_data): Return error code. Be less verbose on error.
9294
9295         * ntplay.c: Use nativesound.h
9296         (play_sound_data): Return fake error code
9297
9298         * sgiplay.c: Use nativesound.h
9299         (play_sound_data): Return error code
9300
9301         * hpplay.c: Use nativesound.h, partially implement
9302         new error code. Break compilation until finished.
9303         (play_sound_data): error code.
9304
9305         * nativesound.h (play_sound_file):
9306           (play_sound_data): Prototype in new header.
9307
9308 2000-03-31  Andy Piper  <andy@xemacs.org>
9309
9310         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9311         for toggle and radio buttons.
9312         (image_instantiator_buttons): use it.
9313
9314 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9315
9316         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9317         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9318         found. Scrollbar event probably belonged to some old config.
9319
9320 2000-03-31  Andy Piper  <andy@xemacs.org>
9321
9322         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9323         than 1.
9324         (initialize_widget_image_instance): default layout to
9325         LAYOUT_HORIZONTAL rather than 0.
9326         (widget_instantiate): reverse the item list at the end rather than
9327         every iteration.
9328         (layout_layout): re-code for the border text at the front of the
9329         item list rather than at the end.
9330         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9331         provided by the user.
9332         (widget_query_geometry): comment.
9333
9334 2000-03-30  Andy Piper  <andy@xemacs.org>
9335
9336         * glyphs-widget.c (image_instantiator_layout): allow standard
9337         widget keywords in layouts.
9338
9339         * gutter.c (output_gutter): cope with nil gutter contents.
9340
9341         * frame.c (Fset_frame_properties): add gutter docs.
9342
9343 2000-03-29  Andy Piper  <andy@xemacs.org>
9344
9345         * toolbar-msw.c (TBSTYLE_FLAT): add.
9346         (mswindows_output_toolbar): minor fiddling.
9347
9348 2000-03-29  Andy Piper  <andy@xemacs.org>
9349
9350         * gutter.c (output_gutter): force gutter size recalculation if
9351         what we are trying to display won't fit.
9352         (update_gutter_geometry): new function. A per-gutter version of
9353         update_frame_gutter_geometry.
9354         (update_frame_gutter_geometry): use it.
9355         (redraw_exposed_gutter): add extra debugging output.
9356
9357 2000-03-28  Mike Alexander  <mta@arbortext.com>
9358
9359         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9360         (pdump_file_unmap): Implement it on Windows
9361         (pdump_file_get): Save alocated handles for pdump_file_unmap
9362
9363 2000-03-28  Andy Piper  <andy@xemacs.org>
9364
9365         * gui.c (get_gui_callback): treat Quit specially.
9366
9367 2000-03-27  Andy Piper  <andy@xemacs.org>
9368
9369         * glyphs.c (image_instantiate): be careful to check in the same
9370         way we assigned.
9371
9372 2000-03-27  Didier Verna  <didier@xemacs.org>
9373
9374         * config.h.in: define the proper SMART_INCLUDE macro.
9375         handle renaming of `foo_h_path' to `foo_h_file'.
9376
9377         * database.c: ditto.
9378
9379         * emacs.c: ditto.
9380
9381         * linuxplay.c: ditto.
9382
9383         * terminfo.c: ditto.
9384
9385         * tooltalk.h: ditto.
9386
9387 2000-03-27  Andy Piper  <andy@xemacs.org>
9388
9389         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9390         gets updated whenever the face might have changed.
9391
9392 2000-03-26  Mike Alexander  <mta@arbortext.com>
9393
9394         * dumper.c (pdump_resource_free): Fix the comment.
9395
9396 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9397
9398         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9399
9400 2000-03-22  Mike Alexander  <mta@arbortext.com>
9401
9402         * dumper.c: Include Windows headers on Windows
9403         (pdump_resource_free): Add a body to the function
9404         (pdump_load): exe_name -> exe_path and add some comments.
9405
9406 2000-03-25  Mike Alexander  <mta@arbortext.com>
9407
9408         * gui.c (copy_gui_item_tree): Return a value in all cases
9409
9410 2000-03-21  Didier Verna  <didier@xemacs.org>
9411
9412         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9413         lwlib/config.h.in.
9414         (SMART_INCLUDE): new macro.
9415         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9416         the proper location.
9417
9418         * postgresql.c: use it.
9419
9420         * inline.c: ditto.
9421
9422 2000-03-24  Andy Piper  <andy@xemacs.org>
9423
9424         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9425         do this.
9426
9427 2000-03-24  Andy Piper  <andy@xemacs.org>
9428
9429         * redisplay-output.c (compare_runes): use image_instance_changed
9430         to detect changes. Do not depend on glyphs_changed, only depend on
9431         dirtiness.
9432          (redisplay_output_layout): add debug messages.
9433         (compare_runes): ditto.
9434
9435         * glyphs.h: declare new functions.
9436         (struct Lisp_Image_Instance): remove percent and associated
9437         accessors.
9438
9439         * gui.h: declare new copying functions.
9440
9441         * gui.c (copy_gui_item_tree): new function.
9442         (copy_gui_item): new function.
9443         (gui_item_id_hash): revert to standard hash.
9444         (gui_item_hash): ditto.
9445         (gui_item_hash_internal): deleted.
9446         (mark_gui_item): mark value.
9447         (gui_item_add_keyval_pair): add value.
9448         (gui_item_init): ditto.
9449         (gui_add_item_keywords_to_plist): ditto.
9450         (gui_item_equal): ditto.
9451         (syms_of_gui): add Q_value.
9452
9453         * glyphs-x.c (x_progress_gauge_update): use pending items and
9454         value for setting the state.
9455         (x_update_widget): don't set items from pending here.
9456
9457         * glyphs-widget.c (update_widget): update items here.
9458         (progress_gauge_set_property): use items for storing value. Put
9459         new value in pending items.
9460
9461         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9462         items for new value. Convert percent -> value.
9463         (mswindows_tab_control_update): don't update items here.
9464
9465         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9466         (update_subwindow): ditto.
9467         (image_instance_changed): new function. Compare hash values and
9468         past and present widget items.
9469         (image_instantiate): We more careful about where we instantiate
9470         things.
9471         (image_instantiate): add error checking.
9472
9473         * gutter.c (syms_of_gutter): use -hook.
9474
9475 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9476
9477         * console-tty.c (Fset_console_tty_input_coding_system): Use
9478         Qkeyboard.
9479         (Fset_console_tty_output_coding_system): Use Qterminal.
9480         (tty_init_console): Use Qkeyboard and Qterminal.
9481
9482 2000-03-21  Ben Wing  <ben@xemacs.org>
9483
9484         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9485         From Mike Alexander <mta@arbortext.com>.
9486
9487 2000-03-21  Ben Wing  <ben@xemacs.org>
9488
9489         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9490         process brokenness.  Proper implementation to come.
9491         * callproc.c:
9492         Rename call-process-internal to old-call-process-internal.
9493         New impl. in process.el.
9494
9495 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9496
9497         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9498
9499 2000-03-20  Andy Piper  <andy@xemacs.org>
9500
9501         * glyphs.c (full_list_hash): make hashes of the same elements in
9502         different orders return different values.
9503
9504 2000-03-20  Martin Buchholz <martin@xemacs.org>
9505
9506         * XEmacs 21.2.32 is released.
9507
9508 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9509
9510         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9511         (DFC_MALLOC_USE_CONVERTED_DATA):
9512         Add aliasing-safe casts to allow use with char* or unsigned char*
9513         lvalues.
9514
9515         * eldap.c (Fldap_open):
9516         (Fldap_search_basic):
9517         (Fldap_add):
9518         (Fldap_modify):
9519         Make C++-compilable.
9520         Make sure GCPRO'ed variables are initialized.
9521         Use temp variables to avoid repeated calls to Flength.
9522
9523 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9524
9525         * sysfile.h:
9526         Make sure PATH_MAX is always defined.
9527         Include limits.h for PATH_MAX.
9528         Deprecate use of MAXPATHLEN.
9529
9530 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9531
9532         * emacs.c: Add reinit_vars_of_fileio.
9533         * symsinit.h: Add reinit_vars_of_fileio.
9534         * fileio.c (reinit_vars_of_fileio): New.
9535         * fileio.c (Fmake_temp_name):
9536         Initialize temp_name random number from microseconds to make
9537         collisions even less likely.  Initialize always at process startup
9538         time.  (make-temp-name) used to return the same file name twice in
9539         a row when PDUMP.
9540         Random stylistic fiddling.
9541         Comment fixes.
9542
9543 2000-03-20  Andy Piper  <andy@xemacs.org>
9544
9545         * glyphs.c (image_instantiate): allow text glyphs to be
9546         instantiated in the minibuffer window.
9547
9548 2000-03-19  Andy Piper  <andy@xemacs.org>
9549
9550         * glyphs.c (image_instance_hash): be careful about which items we
9551         hash on.
9552
9553         * glyphs-widget.c (tab_control_set_property): record into pending
9554         items rather than the actual items.
9555
9556         * glyphs-x.c (x_update_widget): use pending items to update with.
9557
9558         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9559         to update with.
9560
9561         * glyphs.c (mark_image_instance): mark pending items.
9562
9563         * window.c (Fset_window_configuration): record the buffer.
9564         (Fselect_window): totally revert previous change which breaks many
9565         things.
9566
9567 2000-03-18  Andy Piper  <andy@xemacs.org>
9568
9569         * glyphs-msw.c (mswindows_tab_control_update): force selected
9570         item.
9571
9572         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9573         window domain cache, otherwise we get inconsistencies at
9574         startup. There is something fishy at startup which can lead to the
9575         minibuffer being the selected window when the gutter content is
9576         instantiated.
9577
9578         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9579         gcpros.
9580         (parse_gui_item_tree_children): ditto.
9581         (parse_gui_item_tree_item): ditto.
9582
9583         * glyphs.c (Fupdate_widget_instances): return something.
9584
9585 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9586
9587         * window.c (Fselect_window): Undo 2000-03-17 change.
9588
9589 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9590
9591         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9592         against v7.0 libraries.  Insta-coredump city until the postgres
9593         folks fix it.
9594
9595 2000-03-17  Andy Piper  <andy@xemacs.org>
9596
9597         * faces.c (complex_vars_of_faces): don't give the widget face an
9598         inherited background pixmap.
9599
9600         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9601         selected item.
9602
9603         * event-stream.c (Fdispatch_non_command_events): return something.
9604
9605         * gutter.c (output_gutter): use widget face.
9606         (clear_gutter): ditto.
9607
9608         * NEWS: adjust again.
9609
9610         * window.c (Fselect_window): make sure this runs to completion to
9611         avoid oddities with Fset_window_configuration.
9612         (Fcurrent_window_configuration): in general do not save the
9613         minibuffer as the selected window.
9614
9615         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9616
9617 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9618
9619         * emacs.c (Frunning_temacs_p): Revert previous patch.
9620         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9621
9622 2000-03-16  Andy Piper  <andy@xemacs.org>
9623
9624         * glyphs-x.c (x_tab_control_update): if no widget values then
9625         return.
9626
9627         * NEWS: update for new features.
9628
9629         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9630         synthetic event to the native system.
9631         (reinit_vars_of_event_Xt): set force_event_pending to
9632         emacs_Xt_force_event_pending.
9633
9634         * events.h (struct event_stream): add force_event_pending.
9635
9636         * specifier.c (recompute_one_cached_specifier_in_window): add
9637         comment.
9638
9639         * redisplay.c (redisplay_frame): don't call
9640         update_frame_subwindows. Reset subwindow cachels when
9641         subwindows_changed, removing this was an optimization too far.
9642
9643         * redisplay-output.c (compare_runes): reorganize so that we catch
9644         glyph changes when we want them. Set optimize_output when this
9645         would help layouts.
9646         (redisplay_output_layout): remove frame_really_changed, use
9647         optimize_output instead.
9648
9649         * redisplay-msw.c (mswindows_output_display_block): reset
9650         optimize_output after outputting a glyph.
9651         * redisplay-x.c (x_output_display_block): ditto.
9652         * redisplay-tty.c (tty_output_display_block): ditto.
9653
9654         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9655         functions.
9656         (gutter_specs_changed): do specific gutter positions.
9657         (top_gutter_specs_changed): new function. Only update the
9658         specified gutter specs.
9659         (bottom_gutter_specs_changed): ditto.
9660         (left_gutter_specs_changed): ditto.
9661         (right_gutter_specs_changed): ditto.
9662
9663         * gui.c (gui_item_hash_internal): new function, does a real hash.
9664         (gui_item_id_hash): use it.
9665         (gui_item_hash): hash the eval'ed gui_item.
9666
9667         * gui-x.c (popup_selection_callback): send an eval event to call
9668         Fupdate_widget_instances.
9669
9670         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9671         to call Fupdate_widget_instances.
9672
9673         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9674         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9675
9676         * glyphs.c: (update_frame_subwindows): deleted.
9677         (Fupdate_widget_instances): new function for updating the dirty
9678         state of widgets that might have changed.
9679         (syms_of_glyphs): add Qupdate_widget_instances.
9680         (full_list_hash): hash a list completely.
9681         (image_instance_hash): use it for items and properties.
9682
9683         * frame-msw.c (mswindows_size_frame_internal): remove unused
9684         variable.
9685
9686         * faces.h (struct face_cachel): fix comment.
9687
9688         * event-stream.c (Fdispatch_non_command_events): new
9689         function. Process non-command events, forcing an event cycle
9690         beforehand.
9691         (syms_of_event_stream): declare.
9692         (event_stream_force_event_pending): new function. Force an event
9693         on the native event queue so that an event cycle will occur next
9694         time we check.
9695
9696         * event-msw.c:
9697         (struct ntpipe_shove_stream):
9698         (mswindows_enqueue_dispatch_event):
9699         (mswindows_dequeue_dispatch_event):
9700         (mswindows_cancel_dispatch_event):
9701         (mswindows_pump_outstanding_events):
9702         (mswindows_drain_windows_queue):
9703         (mswindows_handle_paint):
9704         (mswindows_wnd_proc):
9705         (mswindows_key_to_emacs_keysym):
9706         (get_process_input_waitable):
9707         (emacs_mswindows_delete_stream_pair): re-indent file.
9708         (mswindows_need_event): do not process further fds if the windows
9709         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9710         fixes the 100% cpu problem.
9711         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9712
9713 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9714
9715         * alloc.h: New.
9716         * dumper.h: New.
9717         * dumper.c: New.
9718
9719         * emacs.c: Moved dump file searching to dumper.c.
9720         (Frunning_temacs_p): Fixed.
9721
9722         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9723         last_lrecord_type_index_assigned.
9724
9725 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9726
9727         * symsinit.h: Added reinit parameter to init_console_stream
9728         declaration.
9729
9730         * lisp.h: Added file parameter to pdump_load declaration.
9731
9732         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9733         support.  Added dump file searching.
9734
9735         * config.h.in: Added EMACS_PROGNAME.
9736
9737         * console-stream.c (init_console_stream): Fix reinitialisation
9738         when running from temacs.
9739
9740         * alloc.c (pdump): Add id support.
9741         (pdump_load): Add file parameter and signature/id support.
9742
9743         * Makefile.in.in: Add full pdump support.
9744
9745 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9746
9747         * postgresql.c: Update documentation to reflect latest code
9748         status.
9749         (print_result): Show tuple counts in printed representation when
9750         appropriate.
9751         (Fpq_put_nbytes): MULE-ize.
9752         (Fpq_get_line_async): Ditto.
9753
9754 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9755
9756         * postgresql.c (Fpq_lo_import): Fix return value.
9757         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9758
9759 2000-03-13  Ben Wing  <ben@xemacs.org>
9760
9761         * alloc.c (pdump_load):
9762         Fix compile warning under mswin.
9763
9764 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9765
9766         * postgresql.c: Mule-ization, bug fixes.
9767         Use PG_CODING to encapsulate coding system name changes.
9768         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9769         (pg-coding-system): Create.
9770
9771         (Fpq_conn_defaults): Mule-ize.
9772         (Fpq_connectdb): Mule-ize & bug fix.
9773         (Fpq_connect_start): Mule-ize.
9774         (Fpq_set_client_encoding): Mule-ize.
9775         (Fpq_finish): Document `DEAD' connection status.
9776         (Fpq_clear): Ditto.
9777         (Fpq_pgconn): Mule-ize.
9778         (Fpq_exec): Mule-ize & bug fix.
9779         (Fpq_send_query): Ditto.
9780         (Fpq_get_result): Ditto.
9781         (Fpq_res_status): Mule-ize.
9782         (Fpq_result_error_message): Mule-ize.
9783         (Fpq_ntuples): fix comments.
9784         (Fpq_fname): Mule-ize.
9785         (Fpq_fnumber): Mule-ize.
9786         (Fpq_ftype): fix comments.
9787         (Fpq_get_value): Mule-ize.
9788         (Fpq_cmd_status): Ditto.
9789         (Fpq_cmd_tuples): Ditto.
9790         (Fpq_oid_value): Ditto.
9791         (Fpq_notifies): Ditto.
9792         (Fpq_lo_import): Ditto.
9793         (Fpq_lo_export): Ditto.
9794         (Fpq_get_line): Ditto.
9795         (Fpq_put_line): Mule-ize and bug fix.
9796         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9797
9798 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9799
9800         * postgresql.c (vars_of_postgresql): Mule-ize.
9801         (Fpq_conn_defaults): Ditto.
9802
9803 2000-03-12  Ben Wing  <ben@xemacs.org>
9804
9805         * alloc.c (Fmake_byte_code):
9806         * alloc.c (debug_string_purity_print):
9807         * alloc.c (pdump_backtrace):
9808         * alloc.c (pdump_get_indirect_count):
9809         * alloc.c (pdump_register_sub):
9810         * alloc.c (pdump_register_object):
9811         * alloc.c (pdump_register_struct):
9812         * alloc.c (pdump_dump_data):
9813         * alloc.c (pdump_reloc_one):
9814         Minor cleanups.
9815
9816         * console-msw.c:
9817         * console-msw.c (GetConsoleHwnd):
9818         * console-msw.c (msw_hide_console):
9819         * console-msw.c (msw_show_console):
9820         * console-msw.c (msw_ensure_console_buffered):
9821         * console-msw.c (msw_output_console_string):
9822         * console-msw.c (console_type_create_mswindows):
9823
9824         a) Added functions to manipulate the console window for use with
9825         shell support.
9826
9827         b) Added support for writing text to the console, which is now
9828         used under Windows when xemacs is not being run non-interactively,
9829         to write text that would otherwise be destined for stdout because
9830         under these circumstances, text written to stdout tends to
9831         disappear and not be seen.
9832
9833         * console-msw.h:
9834         * event-Xt.c:
9835         * event-Xt.c (x_event_to_emacs_event):
9836         * event-Xt.c (describe_event_window):
9837         * events-mod.h (XEMACS_MOD_CONTROL):
9838         * events.c:
9839         * events.c (Fmake_event):
9840         * events.c (character_to_event):
9841         * events.c (event_to_character):
9842         * events.c (format_event_object):
9843         * events.c (Fevent_modifiers):
9844         * events.h:
9845         * events.h (struct key_data):
9846         * events.h (struct button_data):
9847         * events.h (struct misc_user_data):
9848         * frame-x.c (Fcde_start_drag_internal):
9849         * frame-x.c (Foffix_start_drag_internal):
9850         * gpmevent.c (Freceive_gpm_event):
9851         * keymap.c:
9852         * keymap.c (bucky_sym_to_bucky_bit):
9853         * keymap.c (control_meta_superify):
9854         * keymap.c (make_key_description):
9855         * keymap.c (keymap_lookup_directly):
9856         * keymap.c (create_bucky_submap):
9857         * keymap.c (keymap_store):
9858         * keymap.c (define_key_check_and_coerce_keysym):
9859         * keymap.c (define_key_parser):
9860         * keymap.c (define_key_alternate_name):
9861         * keymap.c (Fdefine_key):
9862         * keymap.c (raw_lookup_key_mapper):
9863         * keymap.c (struct map_keymap_unsorted_closure):
9864         * keymap.c (map_keymap_unsorted_mapper):
9865         * keymap.c (map_keymap_sort_predicate):
9866         * keymap.c (map_keymap_sorted):
9867         * keymap.c (accessible_keymaps_mapper_1):
9868         * keymap.c (where_is_recursive_mapper):
9869         * keymap.c (describe_map_mapper):
9870         * keymap.c (describe_map_sort_predicate):
9871         * keymap.c (describe_map):
9872         * keymap.c (complex_vars_of_keymap):
9873         And a number of other files, the key modifier preprocessor
9874         constants that xemacs uses have names that conflict with constants
9875         defined under MS Windows for other purposes, so they were renamed
9876         to begin with the prefix XEMACS_. The variables that hold such
9877         modifiers were changed to consistently be of type int to fix
9878         various compile warnings.
9879
9880         * console.c (complex_vars_of_console):
9881         * device.c:
9882         * device-msw.c:
9883         * device-msw.c (mswindows_finish_init_device):
9884         * device-msw.c (msw_get_workspace_coords):
9885         * device-msw.c (mswindows_device_system_metrics):
9886         and various other files, added support for a new
9887         device property called offset-workspace which returns the position
9888         of the upper left corner of the workspace area and goes along with
9889         the existing size-workspace property.
9890
9891         * dialog-msw.c:
9892         * dialog-msw.c (push_bufbyte_string_as_unicode):
9893         * dialog-msw.c (mswindows_popup_dialog_box):
9894         Added support for XEmacs-style accelerator specifications in
9895         button text.  Note: I didn't add support for this under X Windows,
9896         and somebody needs to do this.
9897
9898         * dialog.c:
9899         * dialog.c (Fpopup_dialog_box):
9900         Documented the support for accelerators that was just mentioned.
9901
9902         editfns.c (get_home_directory): Changed behavior under Windows
9903         when HOME not defined; former behavior was irretrievably broken.
9904
9905         * emacs.c:
9906         * emacs.c (main_1):
9907         * emacs.c (main):
9908         * minibuf.c (clear_echo_area_internal):
9909         * minibuf.c (echo_area_append):
9910         * print.c:
9911         * print.c (std_handle_out_external):
9912         * print.c (std_handle_out_va):
9913         * print.c (fatal):
9914         * print.c (write_string_to_stdio_stream):
9915         * print.c (output_string):
9916         * print.c (debug_print):
9917         * print.c (debug_backtrace):
9918         * print.c (debug_short_backtrace):
9919         Cleaned up the code that prints text to stdout so that this can be
9920         changed to output into a console window instead under MS Windows,
9921         as described above.
9922
9923         * eval.c:
9924         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9925         * eval.c (internal_catch):
9926         * eval.c (unwind_to_catch):
9927         * eval.c (throw_or_bomb_out):
9928         * eval.c (condition_case_1):
9929         * eval.c (signal_1):
9930         * eval.c (check_error_state_sanity):
9931         * eval.c (call_with_suspended_errors_1):
9932         * eval.c (call_with_suspended_errors):
9933         * eval.c (reinit_vars_of_eval):
9934         Added code to catch throw loops and check for a pesky bug that may
9935         be gone now.
9936
9937         * event-msw.c:
9938         * event-msw.c (key_needs_default_processing_p):
9939         * event-msw.c (mswindows_wnd_proc):
9940         * event-msw.c (mswindows_modifier_state):
9941         * event-msw.c (emacs_mswindows_quit_p):
9942         * event-msw.c (vars_of_event_mswindows):
9943         a) Added support for using the alt key to select menu items as is
9944         standard under MS Windows.  This is controlled using the variable
9945         menu-accelerator-enabled, just like under X Windows.  There is an
9946         option on the options menu to turn this support on.  I really
9947         think that it should be on by default under Windows, but I'm not
9948         going to make this change yet.
9949
9950         b)  Added support for dynamic display size changes under Windows.
9951
9952         * event-stream.c:
9953         * event-stream.c (maybe_echo_keys):
9954         * event-stream.c (Fnext_event):
9955         * event-stream.c (command_builder_find_leaf):
9956         * event-stream.c (lookup_command_event):
9957         * event-stream.c (execute_command_event):
9958         * event-stream.c (pre_command_hook):
9959         * event-stream.c (post_command_hook):
9960         * event-stream.c (syms_of_event_stream):
9961         * event-stream.c (vars_of_event_stream):
9962         * event-stream.c (complex_vars_of_event_stream):
9963         * events.h (struct command_builder):
9964
9965         a) Tried to clean up a little bit the horribly written x-specific
9966         accelerator code that crept into this file.  I moved this code
9967         into menubar-x.c where it belongs. I also needed to move the
9968         command builder structure into the file events.h because it is
9969         accessed directly by this accelerator code.  What I didn't do, but
9970         which should be done at some point, is to properly abstract this
9971         code using device methods instead of the kludgy way that it
9972         currently hooks into the event code.
9973
9974         b) Added the lisp variables this-command-properties and
9975         last-command- properties, which should be used to synchronize two
9976         adjacent commands in preference to playing games with the variable
9977         this-command, which is typically what happens.
9978
9979         c) Added some slightly nasty code to hook into the lisp support
9980         for shifted- motion-key selection.  This is actually necessary for
9981         somewhat complicated reasons, which are described in
9982         simple.el. (NB: I think the proper thing would be to have the code
9983         that calls the pre and post command hooks also call out to generic
9984         lisp functions in simple.el, where all built-in stuff could be
9985         added.  I will think about this more.)
9986
9987         * event-unixoid.c (poll_fds_for_input):
9988         * lread.c (readchar):
9989         * redisplay-tty.c (tty_clear_frame):
9990         * redisplay-x.c (x_get_gc):
9991         * signal.c (interrupt_signal):
9992         And a whole bunch of other files: fixed up places that printed
9993         directly to stderr to instead call the function stderr_out so that
9994         the changes I made under Windows work correctly.
9995
9996         * filemode.c (mode_string):
9997         Warning fixes.
9998
9999         * frame-msw.c:
10000         * frame-msw.c (mswindows_size_frame_internal):
10001         Fixed the computation of frame size and position to keep the frame
10002         within the workspace area, rather than within the physical
10003         dimensions of the screen, so that the frame doesn't overlap window
10004         manager decorations, such as the start menu and toolbar, typically
10005         at the bottom of the screen.
10006
10007         * frame.c (vars_of_frame):
10008         Changed the default frame title format under MS Windows to consist
10009         of buffername-XEmacs, which is standard under MS Windows.  I think
10010         it might be a good idea to change this everywhere because I think
10011         it is superior to the current frame title format, but this is the
10012         kind of change that is likely to cause some people to get annoyed,
10013         so I'm not making it.
10014
10015         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10016
10017         * gui-msw.c (mswindows_handle_gui_wm_command):
10018         Fixed compile warnings.
10019
10020         * gui-x.c:
10021         * gui-x.c (strdup_and_add_accel):
10022         * gui-x.c (button_item_to_widget_value):
10023         * gui-x.h:
10024         Added code to automatically put an accelerator onto the beginning
10025         of menu items that don't have one as is now the standard, and is
10026         described more later.  Also fixed things so that the menu item
10027         name can be an evaluated expression, again a new standard.
10028
10029         * gui.c:
10030         * gui.c (gui_item_add_keyval_pair):
10031         * gui.c (make_gui_item_from_keywords_internal):
10032         * gui.c (gui_add_item_keywords_to_plist):
10033         * gui.c (gui_item_accelerator):
10034         * gui.c (gui_name_accelerator):
10035         * gui.c (gui_item_included_p):
10036         * gui.c (gui_item_display_flush_left):
10037         * gui.c (gui_item_display_flush_right):
10038         * gui.c (parse_gui_item_tree_item):
10039         * gui.c (parse_gui_item_tree_children):
10040         * gui.c (parse_gui_item_tree_list):
10041         Mule-ized.  Cleanup.  GCPRO addition.
10042
10043         * line-number.c (buffer_line_number):
10044         * lisp.h:
10045         * lisp.h (EMACS_INT_MAX):
10046         Added the manifest constant EMACS_INT_MIN corresponding to the
10047         existing constant EMACS_INT_MAX.  This is partially to fix compile
10048         warnings under Windows, and partly for cleanliness.
10049
10050         * menubar-msw.c:
10051         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10052         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10053         * menubar-msw.c (displayable_menu_item):
10054         * menubar-msw.c (populate_menu_add_item):
10055         * menubar-msw.c (populate_or_checksum_helper):
10056         * menubar-msw.c (populate_menu):
10057         * menubar-msw.c (update_frame_menubar_maybe):
10058         * menubar-msw.c (prune_menubar):
10059         * menubar-msw.c (msw_char_is_accelerator):
10060         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10061         * menubar-msw.c (mswindows_handle_wm_command):
10062         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10063         * menubar-msw.c (mswindows_handle_wm_initmenu):
10064         * menubar-msw.c (mswindows_update_frame_menubars):
10065         * menubar-msw.c (mswindows_free_frame_menubars):
10066         * menubar-msw.c (mswindows_popup_menu):
10067         Fixed a bug in handling accelerators where an extra character
10068         would be displayed in the menu item.  Also generalized the
10069         function displayable_menu_item because it is now used by the
10070         dialog box code as well.  And finally, added code in the functions
10071         that create the menubar to extract a list of accelerators for the
10072         top level menubar, which is used in the event code to determine
10073         whether a particular alt-key combination should be used to invoke
10074         a menu item, or should be passed through to access the standard
10075         XEmacs keymap binding for this key combination.
10076
10077         Much needed GCPROing.
10078
10079         * menubar-x.c:
10080         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10081         * menubar-x.c (menu_item_descriptor_to_widget_value):
10082         * menubar-x.c (restore_in_menu_callback):
10083         * menubar-x.c (x_popup_menu):
10084         * menubar-x.c (menu_move_up):
10085         * menubar-x.c (menu_move_down):
10086         * menubar-x.c (menu_move_left):
10087         * menubar-x.c (menu_move_right):
10088         * menubar-x.c (menu_select_item):
10089         * menubar-x.c (command_builder_operate_menu_accelerator):
10090         * menubar-x.c (menu_accelerator_junk_on_error):
10091         * menubar-x.c (command_builder_find_menu_accelerator):
10092         * menubar-x.c (Faccelerate_menu):
10093         * menubar.h:
10094         Moved a whole bunch of code here that was previously in
10095         event-stream.c as described above.  There is also code connected
10096         to the new standard of adding an accelerator to the beginning of
10097         menu items that don't have one as described above and below.
10098
10099         * menubar.c:
10100         * menubar.c (menu_parse_submenu_keywords):
10101         * menubar.c (Fmenu_find_real_submenu):
10102         * menubar.c (Fnormalize_menu_item_name):
10103         * menubar.c (syms_of_menubar):
10104         * menubar.c (vars_of_menubar):
10105         * menubar.c (complex_vars_of_menubar):
10106
10107         a) Cleaned up a bunch of documentation and improved it.
10108
10109         b) XEmacs now automatically adds an accelerator onto the beginning
10110         of any menu items that don't have one.  I did this because there
10111         will inevitably be some menu items on the main menubar that don't
10112         have accelerators on them because the package that adds that
10113         particular menu item hasn't yet been fixed up to have accelerators
10114         in them and it looked rather strange to have some items with and
10115         some items without accelerators, especially since even in items
10116         without accelerators, you can, at least under windows, still
10117         access the item through an accelerator corresponding to the first
10118         character in the item's name.  If people don't like this behavior,
10119         I can add a variable to turn it off optionally, but I'm not sure
10120         this is a good idea because we really do need to have accelerators
10121         on all of the menu items, and if a package doesn't like the
10122         accelerators being put on the first character, then it should put
10123         the accelerators where they belong.
10124
10125         c) I made a behavior change, which is that the descriptor that
10126         specifies the text of the menu item, which formerly was just a
10127         string, can now also be an evaluated expression.  This makes this
10128         descriptor parallel with all of the others, which could also be
10129         evaluated expressions.  This also obviates the need for the
10130         keyword :label, which was previously listed in the documentation
10131         as unimplemented, and which was for the same purpose.
10132
10133         d) GCPROing.
10134
10135         * ntproc.c:
10136         * ntproc.c (new_child):
10137         * ntproc.c (sys_spawnve):
10138         * ntproc.c (find_child_console):
10139         * ntproc.c (sys_kill):
10140         Fixed compile warnings.  By the way, this file should really go
10141         away entirely, and this will happen as soon as Kirill makes his
10142         final round of process cleanups, which affect the function
10143         call-process.
10144
10145         * process-nt.c:
10146         * process-nt.c (struct nt_process_data):
10147         * process-nt.c (find_process_from_pid):
10148         * process-nt.c (send_signal_the_nt_way):
10149         * process-nt.c (enable_child_signals):
10150         * process-nt.c (find_child_console):
10151         * process-nt.c (send_signal_the_95_way):
10152         * process-nt.c (nt_finalize_process_data):
10153         * process-nt.c (ensure_console_window_exists):
10154         * process-nt.c (nt_create_process):
10155         * process-nt.c (nt_kill_child_process):
10156         * process-nt.c (nt_kill_process_by_pid):
10157         * process-nt.c (nt_open_network_stream):
10158         * process-nt.c (vars_of_process_nt):
10159         Copied over code from Emacs 20.5 to correctly send signals to sub-
10160         processes under Windows 95.  Also added code to automatically
10161         create and hide console window when a sub-process is created under
10162         Windows 95, which obviates the need for the separate runemacs.exe
10163         executable, and finally implemented some variables that were
10164         implemented in Emacs 20.5, but previously not in XEmacs.  These
10165         include mswindows- start-process-share-console and
10166         mswindows-start-process-inherit-error-mode. (Both of these only
10167         apply to Windows 95.)
10168
10169         * regex.c (regex_compile): Fixed a compile warning.
10170
10171         * select-msw.c:
10172         * select-msw.c (mswindows_own_selection):
10173         * select-msw.c (mswindows_get_foreign_selection):
10174         * select-msw.c (mswindows_disown_selection):
10175         * select-msw.c (console_type_create_select_mswindows):
10176         * select-msw.c (syms_of_select_mswindows):
10177         Cleaned up the file and implemented the device method
10178         selection_exists_p, which had accidentally been left out.  Also
10179         removed four lisp functions that were remnants from before the
10180         time when the selection code was properly device abstracted.
10181         These functions are no longer needed because there are generic
10182         equivalents, and because they were added recently and don't exist
10183         in FSF Emacs, I don't think there's any problem with just deleting
10184         them.
10185
10186         * sysdep.c:
10187         * sysdep.c (sys_subshell):
10188         Fixed a compile warning, although in this case there's probably
10189         something wrong with this code, and it ought to be looked into
10190         more thoroughly by somebody who understands it.
10191
10192         * window.c:
10193         * window.c (Fwindow_text_area_height):
10194         * window.c (Fwindow_width):
10195         * window.c (Fwindow_full_width):
10196         * window.c (Fwindow_pixel_width):
10197         * window.c (debug_print_window):
10198         * window.c (syms_of_window):
10199         Added functions window-text-area-height and window-full-width,
10200         which are functions for returning various width and height
10201         characteristics of a window. (One of these functions is necessary
10202         for making the file dialog box work correctly, and the other one
10203         was added for completeness.)  Also added a table to the
10204         documentation for window-height which describes the entire scheme
10205         for accessing width and height characteristics of a window.
10206
10207 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10208
10209         * nt.c (fstat): Added a comment for another problem with
10210         non-encapsulated [f]stat(), reported by Adrian Aichner
10211         <aichner@ecf.teradyne.com>.
10212
10213 2000-03-11  Andy Piper  <andy@xemacs.org>
10214
10215         * window.c (make_dummy_parent): initialize subwindow instance
10216         cache.
10217         (Fset_window_configuration): zero extent_modiff.
10218
10219 2000-03-10  Andy Piper  <andy@xemacs.org>
10220
10221         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10222         more changes can be triggered.
10223         (Fredisplay_frame): ditto.
10224         (Fredraw_device): ditto.
10225         (Fredisplay_device): ditto.
10226         (redisplay_frame): make non-static.
10227         (redisplay_frame): call update_frame_gutter_geometry outside of
10228         display proper.
10229
10230         * gutter.h: declare update_frame_gutter_geometry.
10231
10232         * redisplay.h: declare redisplay_frame.
10233
10234         * gutter.c (update_frame_gutter_geometry): move geometry changes
10235         in update_frame_gutters here. Geometry changes can only occur
10236         outside of redisplay.
10237         (update_frame_gutters): remove geometry change code.
10238         (Fredisplay_gutter_area): make sure that we are in display when we
10239         update and that we have flushed any size changes.
10240
10241 2000-03-11  Andy Piper  <andy@xemacs.org>
10242
10243         * alloc.c (pdump_dump_data): remove i & count shadows.
10244
10245 2000-02-27  Mike Alexander  <mta@arbortext.com>
10246
10247         * sysdep.h: Declare pdump_read_file
10248
10249         * sysdep.c (pdump_read_file): New function
10250
10251         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10252         dump data
10253
10254 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10255
10256         * lrecord.h: add `lrecord_type_pgsetenv'.
10257
10258 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10259
10260         * symsinit.h: declare (vars|syms)_of* functions.
10261         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10262
10263 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10264
10265         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10266
10267         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10268         GCCs.
10269
10270         * emacs.c (main_1): Call postgres initialization code.
10271
10272         * postgresql.h: New file.  PostgreSQL RDBMS support.
10273         * postgresql.c: New file.
10274
10275 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10276
10277         * redisplay-output.c (redisplay_output_display_block): Disable
10278         redundant code.
10279
10280 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10281
10282         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10283         (Fcanna_henkan_next): Ditto.
10284         (Fcanna_bunsetu_henkou): Ditto.
10285         (Fcanna_henkan_kakutei): Ditto.
10286         (Fcanna_henkan_end): Ditto.
10287         (Fcanna_henkan_quit): Ditto.
10288         (Fcanna_henkan_next): Set retun value correctly.
10289         (c2mu): Use unsigned char instead of signed char.
10290
10291 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10292
10293         * emacs.c (main_1): Always call syms_of_gui.
10294         * inline.c: include gui.h
10295
10296 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10297
10298         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10299         converted to Lisp_Object.
10300         (Qtop_bottom): New variable.
10301         (syms_of_redisplay): Initialize it.
10302         * redisplay.h (Vvisible_bell): Ditto.
10303         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10304         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10305         only flash top and bottom.
10306
10307 2000-03-08  Andy Piper  <andy@xemacs.org>
10308
10309         * buffer.c (Frename_buffer): record new buffer name the right way.
10310
10311 2000-03-08  Andy Piper  <andy@xemacs.org>
10312
10313         * glyphs.c (update_subwindow): increase hash depth so that widget
10314         items get picked up properly.
10315
10316         * redisplay-output.c (compare_runes): increase hash depth so that
10317         widget items get picked up properly.
10318
10319 2000-03-08  Andy Piper  <andy@xemacs.org>
10320
10321         * gutter.c (output_gutter): add some debug.
10322
10323         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10324         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10325         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10326
10327         * redisplay-output.c (compare_runes): use display_hash to
10328         determine if glyphs really are not the same.
10329
10330         * glyphs.c (update_subwindow): check display_hash to see if
10331         anything really needs to be updated. If not then do
10332         nothing. Record the display_hash after updating.
10333         (image_instance_equal): compare the image_instance face also.
10334
10335 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10336
10337         * redisplay.h: Fix comment style.
10338
10339 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10340
10341         * consle-msw.h (struct mswindows_frame):
10342         Added new member paint_pending to indicate whether a WM_PAINT
10343         magic event has been queued for this frame.
10344
10345         * event-msw.c (mswindows_drain_windows_queue):
10346         Don't queue a WM_PAINT magic event if one is already queued.
10347         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10348
10349         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10350
10351 2000-03-07  Didier Verna  <didier@xemacs.org>
10352
10353         * dired.c: #include `regex.h' after `sysfile.h'.
10354
10355 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10356
10357         * sound.c (init_nas_sound): Fix compiler warning.
10358
10359         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10360         (FREE_STRUCT_P):
10361         (MARK_STRUCT_AS_FREE):
10362         (MARK_STRUCT_AS_NOT_FREE):
10363         Make `gcc -fstrict-aliasing' work properly.
10364
10365 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10366
10367         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10368         (mswindows_delete_device): Call CoUnnitialize().
10369
10370         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10371
10372 2000-02-25    <CraigL@DyCon.com>
10373
10374         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10375         <errno.h>.
10376
10377         * sysdep.c: This extern declaration for environ prevents MinGW
10378         from finding the variable in CRTDLL.DLL.
10379
10380         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10381         windows headers.
10382         (SHGFI_EXETYPE): ..
10383         (WM_MOUSEWHEEL): ..
10384         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10385         definitions.
10386         (MMRESULT): Removed, now defined in cygwin's windows headers.
10387         (TIMECAPS): ..
10388         (uid_t,gid_t,pid_t,ssize_t): ..
10389         (_timeb): Removed, MinGW defines both _timeb and timeb.
10390         (HAVE_H_ERRNO): Added.
10391         (HAVE_TZNAME): Added, configure is not detecting this.
10392
10393 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10394
10395         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10396         * syntax.c (syntax_match): Use it.
10397
10398         * cmds.c: Import auto-fill-chars from FSF Emacs.
10399         (Vauto_fill_chars): New variables.
10400         (internal_self_insert): Check Vauto_fill_chars.
10401         (vars_of_cmds):
10402         Declare auto-fill-chars as a Lisp variable and initialize it.
10403
10404 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10405
10406         * fileio.c (Fmake_symbolic_link):
10407         (Ffile_symlink_p):
10408         Run handlers even if local machine doesn't have symlinks.
10409
10410 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10411
10412         * event-msw.c (mswindows_drain_windows_queue):
10413         Don't generate paint magic events for non-XEmacs frames.
10414
10415 2000-03-05  Andy Piper  <andy@xemacs.org>
10416
10417         * redisplay.c (redisplay_frame): generate_displayable_area and
10418         friends assumes that we are not in GC, we therefore have to make
10419         sure that this doesn't happen.
10420
10421         * gutter.c (calculate_gutter_size): generate_displayable_area
10422         assumes that we are not in GC, we therefore have to make sure that
10423         this doesn't happen.
10424
10425 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10426
10427         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10428
10429 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10430
10431         * redisplay.c (regenerate_window): Make sure we set a sane value
10432         for end_pos even if we jump out of the loop.
10433         (regenerate_window): Answer Ben's question :-).
10434         (start_end_of_last_line): Add may_error argument.
10435         (start_of_last_line):
10436         (end_of_last_line): Pass may_error = 0.
10437         (end_of_last_line_may_error): New function.
10438         (pixel_to_glyph_translation): Use it, so we don't crash in
10439         event_to_glyph.
10440
10441 2000-03-04  Andy Piper  <andy@xemacs.org>
10442
10443         * window.h (struct window): add gutter_extent_modiff.
10444
10445         * window.c (allocate_window): zero out gutter_extent_modiff.
10446
10447         * redisplay.h: declare sync_display_line_structs.
10448
10449         * redisplay.c (add_glyph_rune): add a better comment.
10450
10451         * redisplay-output.c (sync_display_line_structs): made non-static.
10452         (compare_runes): remove unneccesary glyph cachel access.
10453
10454         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10455
10456         * gutter.c (output_gutter): don't output the gutter if extent
10457         changes only involve extents in buffers. use 4 sets of display
10458         lines.
10459         (gutter_extent_signal_changed_region_maybe): new function. Mark
10460         extents in gutters as changed.
10461         (update_frame_gutters): use 4 sets of display lines.
10462         (reset_gutter_display_lines): ditto.
10463         (free_frame_gutters): ditto.
10464         (redraw_exposed_gutter): force output of gutters.
10465
10466         * frame.h (struct frame): add 4 sets of gutter display lines.
10467
10468         * extents.c: (extent_changed_for_redisplay): signal changes to
10469         extents in strings in the gutter as well as extents in buffers.
10470
10471 2000-03-02  Andy Piper  <andy@xemacs.org>
10472
10473         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10474
10475         * frame.c (Fmake_frame): make sure the gutters get initialized
10476         after the frame is visible.
10477         (set_frame_selected_window): re-arrange compilation macros a
10478         little.
10479         (change_frame_size_1): mark gutters changed.
10480
10481         * device.c (Fset_device_class): mark gutters changed.
10482
10483 2000-03-01  Andy Piper  <andy@xemacs.org>
10484
10485         * window.c (window_top_frame_gutter_height): deleted.
10486         (window_bottom_frame_gutter_height): ditto.
10487         (window_left_frame_gutter_height): ditto.
10488         (window_right_frame_gutter_height): ditto.
10489         (window_top_gutter_height): don't use them.
10490         (window_bottom_gutter_height): ditto.
10491         (window_left_gutter_width): ditto.
10492         (window_right_gutter_width): ditto.
10493         (Fsplit_window): ditto.
10494         (Fwindow_pixel_edges): don't use border dimensions here.
10495
10496         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10497         (update_scrollbar_instance): ditto.
10498
10499         * redisplay.c (generate_modeline): don't take gutters into account.
10500         (generate_modeline): ditto.
10501         (redisplay_frame): small gutter display optimization.
10502
10503         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10504
10505         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10506         gutters into account.
10507
10508         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10509         for window position and type.
10510
10511         * gutter.c (get_gutter_coords): fix for frame gutters.
10512         (update_frame_gutters): update frame geometry if the gutters have
10513         changed.
10514         (init_frame_gutters): record current gutter geometries.
10515
10516         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10517         var.
10518         (mswindows_widget_instantiate): ditto.
10519
10520         * frame.h (struct frame): add current_gutter_bounds.
10521
10522         * frame.c (change_frame_size_1): position window and minibuffer
10523         appropriately taking into account the frame gutters.
10524
10525         * frame-x.c: (x_initialize_frame_size): take into account the
10526         frame gutters.
10527
10528 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10529
10530         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10531
10532 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10533
10534         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10535
10536 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10537
10538         * file-coding.c (reset_decoding_stream): Clear previous
10539         detection state when autodetect.
10540
10541 2000-02-29  Didier Verna  <didier@xemacs.org>
10542
10543         * extents.c (set_extent_glyph_1): don't require extents to be
10544         attached.
10545
10546 2000-02-27  Andy Piper  <andy@xemacs.org>
10547
10548         * gutter.c (Fset_default_gutter_position): don't default left and
10549         right gutter visibility to t.
10550         (Fset_default_gutter_position): run
10551         default-gutter-position-changed-hook.
10552         (syms_of_gutter): add default-gutter-position-changed-hook.
10553
10554 2000-02-26  Andy Piper  <andy@xemacs.org>
10555
10556         * specifier.c (Fmake_specifier): add gutter references.
10557
10558         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10559
10560         * lisp.h: declare Fvalid_plist_p.
10561
10562         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10563         as changed.
10564         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10565         well as its visibility so that it gets reconstructed.
10566         (construct_window_gutter_spec): new function. Construct a string
10567         to be displayed in the gutter from a plist of strings. Take care
10568         to only use elements that are declared as visible.
10569         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10570         WINDOW_GUTTER.
10571         (gutter_validate): allow plists of strings in the specifier.
10572         (gutter_specs_changed): construct the real_gutter from the gutter
10573         specs using construct_window_gutter_spec.
10574         (gutter_visible_validate): gutter-visible is a new specifier type.
10575         (Fgutter_visible_specifier_p): new function for the new specifier.
10576         (syms_of_gutter): declare gutter-visible and
10577         Fgutter_visible_specifier_p.
10578         (specifier_type_create_gutter): intitalize new gutter-visible
10579         specifier.
10580         (reinit_specifier_type_create_gutter): ditto.
10581         (specifier_vars_of_gutter): use new specifier type for gutter
10582         visibility.
10583         (init_frame_gutters): construct real_gutter correctly.
10584         (Fgutter_specifier_p): beef up documentation.
10585         (Fgutter_size_specifier_p): ditto.
10586
10587         * winslots.h: add real_gutter slots.
10588
10589 2000-02-25  Andy Piper  <andy@xemacs.org>
10590
10591         * device-msw.c: Be kind to older cygwin versions. From Raymond
10592         Toy <toy@rtp.ericsson.se>.
10593
10594         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10595         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10596
10597 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10598
10599         * elhash.c (MARK_OBJ): Practice macro hygiene.
10600
10601 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10602
10603         * miscplay.c: s/__inline__/inline/g;
10604         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10605         (get_device_compdc): INLINE ==> static inline
10606         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10607         find -name '*.h' | \
10608         xargs global-replace \
10609         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10610
10611 2000-02-25  Andy Piper  <andy@xemacs.org>
10612
10613         * window.c (window_top_frame_gutter_height): new function.
10614         (window_top_window_gutter_height): ditto.
10615         (window_top_gutter_height): use them.
10616         (window_bottom_frame_gutter_height): new function.
10617         (window_bottom_window_gutter_height): ditto.
10618         (window_bottom_gutter_height): use them.
10619         (window_left_window_gutter_width): new function.
10620         (window_left_frame_gutter_width): ditto.
10621         (window_left_gutter_width): use them.
10622         (window_right_window_gutter_width): new function.
10623         (window_right_frame_gutter_width): ditto.
10624         (window_right_gutter_width): use them.
10625         (window_pixel_height): new function. calulate window pixel height
10626         with frame gutter involvement.
10627         (Fsplit_window): calculate new sizes taking frame gutters into
10628         account.
10629         (window_char_height_to_pixel_height): don't include frame gutters.
10630         (window_char_height): use window_pixel_height.
10631         (window_pixheight): rename from window_pixel_height.
10632         (change_window_height): use it.
10633         (window_pixel_height_to_char_height): don't include frame gutters.
10634         (window_char_width_to_pixel_width): ditto.
10635
10636 2000-02-25  Andy Piper  <andy@xemacs.org>
10637
10638         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10639         if it is.
10640
10641 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10642
10643         * alloc.c (staticpro):
10644         (staticpro_nodump):
10645         (dumpstruct):
10646         (dumpopaque):
10647         (pdump_wire):
10648         (pdump_wire_list):
10649         (compact_string_chars):
10650         (pdump_dump_wired):
10651         Convert:  if (foo) abort();  ==>  assert (! foo);
10652
10653         * eldap.c (Fldap_search_basic):
10654         (Fldap_add):
10655         (Fldap_modify):
10656         (Fldap_delete):
10657         Fix compiler warnings, and possible crashes if (random) return
10658         value were to be used.
10659
10660 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10661
10662         * device-msw.c: Workaround ResetDC failure.
10663
10664         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10665         applying a devmode.
10666
10667         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10668         (mswindows_text_width): Do not start printer page.
10669
10670         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10671
10672         * glyphs-msw.c: Added image methods to msprinter console and
10673         msprinter-specific image instantiation.
10674
10675 2000-02-20  Mike Alexander  <mta@arbortext.com>
10676
10677         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10678         to avoid crashes when selection-sets-clipboard is on
10679         (mswindows_own_selection): ditto
10680
10681 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10682
10683         * glyphs-msw.c:
10684         * redisplay-msw.c (get_frame_dc):
10685         (get_frame_compdc):
10686         * console-msw.h:
10687         * device-msw.c (mswindows_init_device):
10688         (mswindows_delete_device):
10689         (msprinter_init_device):
10690         (msprinter_delete_device):
10691         * frame-msw.c (mswindows_init_frame_1):
10692         (mswindows_delete_frame):
10693         (msprinter_init_frame_3):
10694         (msprinter_delete_frame): Move compatible DC to device object from
10695         frame object, for both mswindows and msprinter. Only one at a time
10696         is needed, it is a real waste to have one per frame!
10697
10698 2000-02-23  Andy Piper  <andy@xemacs.org>
10699
10700         * glyphs.c: add dynamic width and height elements.
10701         (image_instance_equal): ditto.
10702
10703         * glyphs-widget.c (widget_query_geometry): calculate width and
10704         height dynamically if required.
10705         (initialize_widget_image_instance): initialize dynamic dimensions.
10706         (widget_instantiate): pick-up dynamic dimensions.
10707
10708         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10709         dynamic determination. Add appropriate macros.
10710
10711         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10712         dimensions safe.
10713         (WINDOW_GUTTER_SIZE): ditto.
10714         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10715
10716         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10717         inline.
10718         (get_frame_dc): ditto.
10719
10720         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10721         here.
10722
10723 2000-02-23  Martin Buchholz <martin@xemacs.org>
10724
10725         * XEmacs 21.2.31 is released.
10726
10727 2000-02-22  Ben Wing <ben@xemacs.org>
10728
10729         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10730
10731 2000-02-22  Andy Piper  <andy@xemacs.org>
10732
10733         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10734
10735 2000-02-21  Mike Sperber <mike@xemacs.org>
10736
10737         * .dbxrc:
10738         * .gdbinit:
10739         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10740         variables.
10741
10742 2000-02-21  Mike Sperber <mike@xemacs.org>
10743
10744         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10745
10746 2000-02-21  Martin Buchholz <martin@xemacs.org>
10747
10748         * XEmacs 21.2.30 is released.
10749
10750 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10751
10752         Performance hacking.
10753         * *.c (syms_of_*):
10754         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10755         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10756         * emacs.c (main_1):
10757         * lisp.h (DEFUN):
10758         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10759         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10760         * symeval.h (DEFVAR_SYMVAL_FWD):
10761         * symbols.c (guts_of_unbound_marker):
10762         Make all c_readonly objects also lisp_readonly and marked for life.
10763         * lrecord.h (struct lrecord_implementation):
10764         Document flags better.
10765         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10766         * lrecord.h (DECLARE_LRECORD):
10767         * lrecord.h (XSETRECORD):
10768         * lrecord.h (RECORDP):
10769         * lrecord.h (RECORD_TYPEP):
10770         * lrecord.h (RECORD_MARKER): New.
10771         * lrecord.h (error_check_*):
10772         * lrecord.h (CONCHECK_NONRECORD):
10773         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10774         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10775         * lrecord.h (set_lheader_implementation):
10776         * lrecord.h (enum lrecord_type): New.
10777         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10778         * alloc.c (disksave_object_finalization_1):
10779         * alloc.c (mark_object):
10780         * alloc.c (lrecord_type_index):
10781         * alloc.c (tick_lcrecord_stats):
10782         * alloc.c (Fgarbage_collect):
10783         * alloc.c (init_alloc_once_early):
10784         * alloc.c (pdump_load):
10785         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10786         * alloc.c (lrecord_type_index): Delete.
10787         Make lisp object type indexes be constant.
10788           Makes (byte-compile) 5% faster.
10789         Put all marker functions into their own array.
10790           Makes (garbage-collect) 5% faster.
10791         Optimize SYMBOL_VALUE_MAGIC_P.
10792           Makes (byte-compile) 2-3% faster.
10793         * config.h.in (gc_checking_assert): New.
10794         * alloc.c: Use gc_checking_assert().
10795         * .dbxrc: Make compatible with new object type implementation.
10796         * .gdbinit: Make compatible with new object type implementation.
10797         * alloc.c: Delete all symbols defined only for debugging, such as
10798         Lisp_Type_Vector and lrecord_charset.
10799
10800 2000-02-21  Andy Piper  <andy@xemacs.org>
10801
10802         * gui-msw.c (Fmswindows_shell_execute): fix file location
10803         problems.
10804
10805         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10806         unshowing so that set_window_buffer doesn't undo
10807         kill_buffer_hook's hard work.
10808
10809         * glyphs-widget.c (tab_control_query_geometry): don't count the
10810         first item when calculating geometry.
10811
10812         * glyphs.c (map_subwindow): remove redundant code.
10813         (update_frame_subwindows): be more circumspect about when to
10814         update subwindows.
10815
10816         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10817         when items haven't changed. Update faces if faces have changed as
10818         well as just the widget face.
10819         (x_tab_control_update): Update faces if faces have changed as well
10820         as just the widget face.
10821
10822 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10823
10824         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10825         registration.
10826         (build_syscolor_string): Use mswindows_color_to_string to try to
10827         get a named color.
10828         (mswindows_device_system_metrics): Reverse the foreground and
10829         background colors so that they match the documentation.
10830
10831         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10832         they match the default Windows palette.
10833         (mswindows_color_to_string): New function.
10834
10835 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10836
10837         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10838
10839 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10840
10841         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10842         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10843
10844         * symbols.c (init_symbols_once_early): Removed obsolete
10845         DATA_SEG_BITS related kludge.
10846         (defvar_magic): Ditto.
10847
10848         * malloc.c: Removed obsolete DATA_SEG_BITS
10849         * ralloc.c: Ditto.
10850         * mem-limits.h: Ditto.
10851
10852         * Makefile.in.in: Removed obsolete HAVE_SHM
10853         * emacs.c: Ditto.
10854
10855 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10856
10857         *  device-msw.c (mswindows_delete_device): Free DDE string
10858         handles.
10859
10860 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10861
10862         * keymap.c (get_keyelt):
10863         * unexnt.c (unexec):
10864         * vm-limit.c (memory_warnings):
10865         * ntheap.c (recreate_heap):
10866         * ntheap.h (UNINIT_PTR):
10867         * select-msw.c (Fmswindows_get_clipboard):
10868         (Fmswindows_set_clipboard):
10869         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10870         * objects-msw.c:
10871         * menubar-msw.c (displayable_menu_item):
10872         * glyphs-msw.c:
10873         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10874         * sysdep.c (sys_subshell):
10875         * process-nt.c (nt_create_process):
10876         * nt.c (normalize_filename):
10877         (dostounix_filename):
10878         (unixtodos_filename):
10879         * ntproc.c (win32_executable_type):
10880         * ntplay.c (play_sound_data_1):
10881         (play_sound_file):
10882         * editfns.c (get_home_directory):
10883         * event-msw.c (struct winsock_stream):
10884         (mswindows_dde_callback):
10885         * device-msw.c (msprinter_init_device):
10886         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10887
10888         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10889         mswindows_clear_toolbar were swapped!
10890
10891         * objects-msw.c:(colormap_t):
10892         (fontmap_t):
10893         * emacs.c (struct standard_args): Fixed const jumble.
10894
10895         * glyphs-widget.c (update_widget): Fixed comparison notation.
10896
10897         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10898
10899         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10900         __declspec(noreturn) syntax.
10901
10902 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10903
10904         * eldap.c (Fldap_open):
10905         (Fldap_search_basic):
10906         (Fldap_add):
10907         (Fldap_modify):
10908         Use new coding system conversion macros.
10909
10910 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10911
10912         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10913
10914 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10915
10916         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10917         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10918
10919         * eldap.c (Qadd, Qreplace): New constant symbols
10920         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10921         interruptions by XEmacs signals
10922         Remove unnecessary calls to slow_down_interrupts and
10923         speed_up_interrupts
10924         (Fldap_search_basic): Renamed from Fldap_search_internal
10925         Added new optional parameter VERBOSE that triggers the
10926         display of progress messages
10927         Remove unnecessary calls to slow_down_interrupts and
10928         speed_up_interrupts
10929         LDAP result code analysis rewritten
10930         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10931         (syms_of_eldap): Define the new symbols and functions
10932
10933
10934 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10935
10936         * realpath.c: Determine PATH_MAX maximally portably.
10937
10938         * insdel.c (bytecount_to_charcount): Optimize.
10939         The function used to be optimized for entirely ASCII sequences.
10940         Now it is optimized for successive characters from the same
10941         charset.  This also wins big for _mostly_ ASCII sequences.
10942
10943         * fileio.c (Ffile_truename): convert return from realpath() using
10944         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10945         - Rewrite GCPROing slightly.
10946
10947         * sysdep.c (sys_open): Do filename conversion, like all other
10948         sys_* functions.  Fixes bug:
10949         (let ((file-name-coding-system 'iso-8859-2))
10950            (write-region x y latin2-name))
10951         ==> writes filename using internal encoding.
10952
10953 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10954
10955         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10956         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10957         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10958         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10959         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10960         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10961         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10962         (CONST_IF_NOT_DEBUG): Delete.
10963         * alloc.c (this_one_is_unmarkable): Delete.
10964         (mark_object): Don't check for this_one_is_unmarkable. Use the
10965         c_readonly flag instead.
10966         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10967
10968 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10969
10970         * event-msw.c (mswindows_drain_windows_queue):
10971         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10972         away redundant repaint events.
10973
10974 2000-02-17  Andy Piper  <andy@xemacs.org>
10975
10976         * redisplay.h: declare mark_redisplay_structs.
10977
10978         * redisplay.c (redisplay_window):
10979         (redisplay_frame): don't check subwindows_state_changed.
10980         (mark_redisplay): mark gutters here.
10981
10982         * glyphs.c: (instantiate_image_instantiator): always layout if we
10983         haven't done so already.
10984         (allocate_image_instance): don't mark as dirty.
10985         (update_subwindow): bind inhibit_quit.
10986
10987         * gutter.c (mark_gutters): new function.
10988
10989         * glyphs-x.c (x_update_widget): Always resize to get round a
10990         widget bug.
10991
10992         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10993         breaking absolutely everything.
10994
10995         * gutter.h: declare mark_gutters.
10996
10997 2000-02-16  Martin Buchholz <martin@xemacs.org>
10998
10999         * XEmacs 21.2.29 is released.
11000
11001 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11002
11003         * fns.c (size_bit_vector): Fix computation of the size.
11004
11005 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11006
11007         * *.[ch]: Change CONST to const globally.
11008         find -name '*.[ch]' | \
11009         xargs global-replace \
11010         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11011         - Remove vestigial references to CONST_IS_LOSING
11012
11013 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11014
11015         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11016         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11017         events instead of dispatching them directly.
11018         (mswindows_handle_paint): New function to do repainting.
11019         (mswindows_wnd_proc):
11020         (emacs_mswindows_handle_magic_event): Call above function.
11021
11022 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11023
11024         * objects-msw.c (mswindows_create_font_variant): Return the new
11025         font handle.
11026         (initialize_font_instance): Get font metrics from the underlined
11027         variant of the font to cope with the case where the underlined
11028         font has a bigger descent.
11029
11030 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11031
11032         * gui.c (gui_item_accelerator): Return the first underlined
11033         character in item name.
11034
11035 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11036
11037         * lisp.h: Added Qprinter.
11038
11039         * general.c (syms_of_general): Initialized it.
11040
11041         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11042         (get_frame_dc):
11043         (get_frame_compdc): Made inline.
11044
11045         * console.h (struct console_methods): Added eject_page method.
11046
11047         * frame.h: Added FRAME_DISPLAY_P and friends.
11048         Aligned backslahes in many macros in more readable fashion.
11049         Added page_number to struct frame, and an accessor macro
11050         for it.
11051
11052         * defice.h: Added DEVICE_DISPLAY_P and friends.
11053
11054         * device.c (Fdevice_printer_p): Used these.
11055
11056         * frame.c (allocate_frame_core): Initialize page number.
11057         (Fprint_job_page_number):
11058         (Fprint_job_eject_page): Implemented.
11059
11060         * frame-msw.c (msprinter_eject_page): Added method.
11061         (msprinter_start_page): Added.
11062
11063         * window.c (Fwindow_truncated_p): Fixed docstring.
11064         (Fwindow_last_line_visible_height): Implemented.
11065
11066 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11067
11068         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11069
11070 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11071
11072         * syntax.c (scan_words): Always advance at least one character.
11073
11074 2000-02-13  Andy Piper  <andy@xemacs.org>
11075
11076         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11077         to make sure the glyph is in the cachels.
11078
11079         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11080         global image instance flag.
11081         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11082         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11083
11084         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11085         (Fset_image_instance_property): mark layout as changed.
11086         (invalidate_glyph_geometry_maybe): mark layout as changed.
11087         (glyph_width): use new NEEDS_LAYOUT macro.
11088         (glyph_ascent): ditto.
11089         (glyph_descent): ditto.
11090         (glyph_height): ditto.
11091         (image_instance_layout): mark layout as clean after laying out.
11092         (update_subwindow): don't mark layout as clean here.
11093
11094         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11095         should no longer be needed.
11096
11097         * glyphs-x.c (x_update_widget): sanitize asserts.
11098         (x_finalize_image_instance): sanitize assignment to widgets.
11099
11100         * glyphs-widget.c (widget_instantiate): don't need to clear the
11101         layout flag here.
11102
11103 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11104
11105         * sysdep.c (getcwd): Use standard prototype.
11106         * sysdep.h (getcwd): Use standard prototype.
11107
11108         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11109         (sequence, start, end).
11110         Remove redundant type checking.
11111         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11112         view of `caller-protects') to avoid a crash where the real fix was
11113         found elsewhere.
11114
11115 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11116
11117         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11118
11119         * s/sol2.h: Remove feature macro initialization.
11120
11121         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11122         (vector_hash): New.  Code from internal_hash.
11123         * lrecord.h:
11124         Fix up allocation subsystem comments.
11125
11126         * config.h.in: Add __EXTENSIONS__ for Solaris.
11127
11128         * systime.h (EMACS_GETTIMEOFDAY): New.
11129         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11130         Remove Solaris-specific code.
11131         Use void* for the (ignored) second arg for gettimeofday().
11132
11133         * elhash.c (hash_table_hash): Implement it, finally.
11134         * elhash.c:  Use hashcode_t.
11135
11136         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11137         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11138
11139         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11140         * fns.c (size_bit_vector):
11141         * alloc.c (size_vector):
11142         (make_vector_internal):
11143         (make_bit_vector_internal):
11144         (sweep_bit_vectors_1):
11145         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11146
11147 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11148
11149         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11150         Include strings.h to avoid warnings for bzero and strcasecmp.
11151
11152 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11153
11154         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11155         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11156
11157         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11158         sequence.
11159
11160 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11161
11162         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11163         use a value field instead.
11164         (symbol_value_forward_forward): Use value field.
11165         (DEFVAR_SYMVAL_FWD): Use value field.
11166         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11167         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11168         (DEFVAR_CONST_INT): Ditto.
11169         (DEFVAR_BOOL): Ditto.
11170         (DEFVAR_CONST_BOOL): Ditto.
11171         (DEFVAR_INT_MAGIC): Ditto.
11172         (DEFVAR_BOOL_MAGIC): Ditto.
11173
11174         * symbols.c (guts_of_unbound_marker): Use value field.
11175         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11176         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11177
11178         * lisp.h: Declare dumpopaque and noninteractive1.
11179
11180         * alloc.c (dumpopaque): Added.
11181         (pdump_dump_opaquevec): Added.
11182         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11183         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11184         noninteractive.
11185
11186 2000-02-10  Andy Piper  <andy@xemacs.org>
11187
11188         * glyphs.c (image_instance_layout): if the size changes, mark it
11189         as such.
11190
11191         * redisplay-output.c (redisplay_output_layout): Update the
11192         subwindow here.
11193         (redisplay_output_subwindow): ditto.
11194
11195         * glyphs.c (update_subwindow): make sure we reset flags for
11196         layouts as well as everything else.
11197
11198         * glyphs-widget.c (layout_layout): don't need to set the instances
11199         dimensions here.
11200
11201 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11202
11203         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11204         not HAVE_DLOPEN, which is a lower-level thing.
11205
11206         * .cvsignore: Ignore gmon.out
11207
11208 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11209
11210         * .cvsignore: Ignore portable dumper xemacs.dmp file
11211
11212 2000-02-09  Andy Piper  <andy@xemacs.org>
11213
11214         * redisplay-output.c (redisplay_output_layout): be more clever
11215         about when we output based on the changed flags.
11216
11217         * glyphs.h (struct image_instantiator_methods): add update_method.
11218         (struct Lisp_Image_Instance): add changed flags. Declare new
11219         macros for manipulating them.
11220
11221         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11222         (image_instance_parent_glyph): find an image_instance's parent
11223         glyph or image_instance.
11224         (image_instance_layout): mark the size as changed.
11225         (set_image_instance_dirty_p): new function. mark an image
11226         instance, plus all of its parents, as dirty.
11227         (Fset_image_instance_property): use it.
11228         (Fglyph_animated_timeout_handler): use it.
11229         (update_subwindow): call update_widget and device methods for
11230         update_subwindow. Mark all changed flags as clean.
11231         (Fresize_subwindow): mark size as changed.
11232
11233         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11234         failures.
11235         (x_update_subwindow): only resize subwindows here.
11236         (x_update_widget): new function. Update all changed properties of
11237         a widget.
11238         (x_resize_subwindow): deleted.
11239         (x_widget_set_property): deleted.
11240         (x_progress_gauge_set_property): deleted.
11241         (x_progress_gauge_update): new function. Implement recorded
11242         changes.
11243         (x_tab_control_update): ditto.
11244         (x_tab_control_set_property): deleted.
11245         (console_type_create_glyphs_x): declare new functions.
11246         (image_instantiator_format_create_glyphs_x): ditto.
11247
11248         * glyphs-widget.c (widget_set_property): mark text changed.
11249         (update_widget): new function. Update properties of a widget.
11250         (widget_instantiate): for layouts make sure we set their
11251         children's parent correctly.
11252         (tab_control_set_property): new function. Record changes that will
11253         take place under redisplay's control.
11254         (progress_gauge_set_property): ditto.
11255         (image_instantiator_progress_guage): declare new functions.
11256         (image_instantiator_tab_control): ditto.
11257
11258         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11259         now.
11260         (mswindows_update_widget): new function. Update all properties on
11261         a widget that have changed.
11262         (mswindows_button_update): new function. Update a button's set
11263         state.
11264         (mswindows_tab_control_update): new function. Update the items in
11265         a tab.
11266         (mswindows_tab_control_set_property): deleted.
11267         (mswindows_progress_gauge_update): new function. Update the
11268         progress gauge's progress.
11269         (mswindows_widget_set_property): deleted. This is all done
11270         asynchronously now.
11271         (mswindows_progress_gauge_set_property): ditto.
11272         (console_type_create_glyphs_mswindows): declare new methods.
11273         (image_instantiator_format_create_glyphs_mswindows): ditto.
11274
11275         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11276         (msprinter_set_frame_properties): ditto.
11277
11278         * console.h (struct console_methods): Add update_widget_method.
11279
11280 2000-02-09  Andy Piper  <andy@xemacs.org>
11281
11282         * gui-msw.c (Fmswindows_shell_execute): Make
11283         mswindows-shell-execute industrial strength.
11284
11285 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11286
11287         * lrecord.h: Make macro argument `props' match member function `plist'.
11288         * fns.c (Fget):
11289         * fns.c (Fput):
11290         * fns.c (Fremprop):
11291         * fns.c (Fobject_plist):
11292         * alloc.c:
11293         * symbols.c:
11294         Object property list frobbing cleanup.
11295         - Allow any lisp object (compared with `eq'), not just symbols, as
11296           keys in object plists.
11297         - Move symbol plist frobbing into symbols.c, where it belongs.
11298         - Move string plist frobbing into alloc.c, where it belongs.
11299         - Everything's an lrecord now, so no need to test for symbolp, etc.
11300         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11301
11302         * extents.c: Reorder code to remove declarations.
11303
11304         * frame.h (store_in_alist): Remove useless declaration.
11305
11306 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11307
11308         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11309         * config.h.in: Add HAVE_XCONVERTCASE.
11310
11311 2000-02-07  Andy Piper  <andy@xemacs.org>
11312
11313         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11314         it breaks many things.
11315
11316 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11317
11318         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11319         actually can start a common comment type.
11320         * src/syntax.h (SYNTAX_END_P): ditto for end.
11321
11322 2000-02-07  Martin Buchholz <martin@xemacs.org>
11323
11324         * XEmacs 21.2.28 is released.
11325
11326 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11327
11328         * event-Xt.c (x_keysym_to_character): New.
11329         (maybe_define_x_key_as_self_inserting_character): New.
11330         (x_has_keysym): New.
11331         Auto-define all keys on the keyboard as self-insert-key.
11332
11333 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11334
11335         * menubar.c (vars_of_menubar): A small code simplification.
11336
11337         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11338
11339         * ExternalShell.c:
11340         * ExternalClient.c:
11341         * EmacsShell-sub.c:
11342         * EmacsManager.c:
11343         * EmacsFrame.c:
11344         Use consistent style for specifying X resources.
11345
11346         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11347         This makes (dontusethis-set-symbol-value-handler) actually usable.
11348
11349         * lrecord.h (lrecord_decription_type):
11350         * alloc.c (pdump_register_sub):
11351         (pdump_dump_data):
11352         (pdump_reloc_one):
11353         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11354         Comply with XEmacs coding style.
11355         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11356         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11357
11358         * keymap.c (Faccessible_keymaps):
11359         Make (accessible-keymaps map "\C-h") do the Right Thing.
11360         Make (accessible-keymaps map []) do the Right Thing.
11361         Make (accessible-keymaps map "") do the Right Thing.
11362         (check_keymap_definition_loop): New function.
11363         (keymap_store_internal): Keep luser from shooting self in foot,
11364           via (define-key ctl-x-4-map "p" global-map).
11365         Remove fullness slot from struct Lisp_Keymap, since hash tables
11366         are now reliable.
11367         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11368
11369 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11370
11371         * redisplay.c (init_redisplay): Fix small memory leak.
11372         * elhash.h:
11373         * elhash.c (pdump_reorganize_hash_table):
11374         Rename from reorganize_hash_table. Change prototype.
11375         Reuse the original memory for hentries.  Save 100k.
11376         * alloc.c (PDUMP_READ): new macro.
11377         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11378         * alloc.c: No need to #ifndef before #undef.
11379
11380         * print.c: Allow debug_print() to print readably by modifying
11381         debug_print_readably.  Use consistent variable names.
11382
11383         * .dbxrc: Try to get things to work even if stopped in a function
11384         without source available by explicitly specifying source files.
11385 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11386
11387         * unexnt.c (_start): Removed bogus code which caused loading heap
11388         from differrent executable file.
11389         Removed bogus assignment to _fmode, which caused inconsistencies.
11390
11391 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11392
11393         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11394         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11395         Do not preliminary `#define signal sigset'.
11396
11397         * systime.h: Do not prototype environ on windows nt and cygwin,
11398         this conflicts with system header.
11399
11400         * syssignal.h: Use correct define for WINDOWSNT
11401
11402         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11403         with system header.
11404
11405         * sysdep.c (near start of file): Fixed commentary and rearranged
11406         ifdefs in readable order.
11407         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11408         (start_of_text):
11409         (end_of_text):
11410         (end_of_data): Do not compile in if using PDUMP.
11411
11412         * symsinit.h: Prototyped vars_of_nt().
11413
11414         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11415         (find_child_console): Use it.
11416         (sys_kill): Use it.
11417
11418         * ntheap.h: Do not extern os_subtype.
11419
11420         * ntheap.c (cache_system_info): Do not cache unneeded:
11421         nt_major_version, nt_minor_version and os_subtype.
11422         (recreate_heap): Do not compile in when PDUMPing.
11423
11424         * nt.c (geteuid and friends): Use the new varibale
11425         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11426         (init_user_info): Removed the above mentioned hackery.
11427         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11428         stat has been fixed in the C runtime.
11429         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11430
11431         * file-coding.c (struct file_coding_dump): Do not define
11432         ucs_to_mule_table in the struct if not MULE.
11433         (struct struct lrecord_description fcd_description_1): Do not dump
11434         the above.
11435
11436         * emacs.c (main_1): Call vars_of_nt().
11437         (right before Fdump_emacs_data): Don't need lastfile if using both
11438         portabe dumper and system malloc.
11439
11440         * alloc.c (Fmemory_limit): Conditionalized out.
11441         (pdump): Use OPEN_BINARY for the portable dump file.
11442         (pdump_load): Ditto.
11443
11444 2000-02-02  Mike Alexander  <mta@arbortext.com>
11445
11446         * nt.c (convert_time): Set tm_isdst before calling mktime and
11447         avoid calling it at all if the compiler supports 64 bit integers.
11448         Also initialize utc_base_ft before using it.
11449
11450 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11451
11452         * frame.c (change_frame_size_1): Take f->internal_border_width
11453         into consideration when calculating the width of the frame.
11454
11455 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11456
11457         * window.c (frame_min_height):
11458         (frame_size_valid_p):
11459         (frame_pixsize_valid_p): Added.
11460         (check_frame_size): Generalized.
11461
11462         * window.h: Prototyped the above.
11463
11464         * lisp.h:
11465         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11466         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11467         Deleted Vwin32_* and Vbinary_process_* unused variables.
11468
11469         * device-msw.c (msprinter_init_device): Do not get printer font
11470         list; Added DEVMODE functions.
11471
11472         * frame-msw.c: Added lots of printer code.
11473
11474         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11475         general.c.
11476
11477         * console-msw.h: Added more msprinter device private slots.
11478
11479 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11480
11481         * event-msw.c (key_needs_default_processing_p): Added.
11482         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11483
11484 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11485
11486         * glyphs.c (image_instance_layout): Mark image instance as clean
11487         after layout.
11488         (glyph_dirty_p): Removed redundant function.
11489         (invalidate_glyph_geometry_maybe): Added.
11490         (update_glyph_cachel_data): Call it.
11491
11492         * glyphs.h: Prototyped it.
11493
11494         * redisplay.c (add_glyph_rune): Call it.
11495         (redisplay_window): Reset glyphs cachels when frame faces have
11496         changed, thus forcing recomputation of built-in border glyphs.
11497
11498 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11499
11500         * Makefile.in.in: Make portable dumper and purify play well together.
11501         Add imperfect, but better than nothing, support for pdump.
11502         Remove xemacs.dmp when temacs is re-generated.
11503         Don't ignore errors when dumping xemacs.
11504
11505         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11506
11507 2000-01-28  Andy Piper  <andy@xemacs.org>
11508
11509         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11510         (setup_normal_frame): ditto.
11511         (setup_frame_without_minibuffer): ditto.
11512         (setup_minibuffer_frame): ditto.
11513         (delete_frame_internal): ditto.
11514         (Fmake_frame_invisible): ditto.
11515         (Ficonify_frame): ditto.
11516
11517         * window.h: change Fset_window_buffer signature.
11518
11519         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11520         (Fset_window_buffer): allow recording of buffer if the window is
11521         the selected window.
11522         (window_loop): Use new Fset_window signature.
11523
11524 2000-01-23  Daniel Pittman  <daniel@danann.net>
11525
11526         * config.h.in: Added template for `HAVE_ATHENA_3D'
11527
11528 2000-01-29  Andy Piper  <andy@xemacs.org>
11529
11530         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11531
11532         * gutter.c (output_gutter): Don't output if the window isn't live.
11533
11534 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11535
11536         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11537         of 01/12/00: Moved SetFocus back here where it belongs.
11538
11539 2000-01-23  Andy Piper  <andy@xemacs.org>
11540
11541         * s/cygwin32.h: declare printer things.
11542
11543 2000-01-26  Andy Piper  <andy@xemacs.org>
11544
11545         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11546         Alexander.
11547
11548 2000-01-24  Andy Piper  <andy@xemacs.org>
11549
11550         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11551         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11552
11553         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11554
11555         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11556
11557         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11558
11559         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11560         (mswindows_output_display_block): Avoid local shadows.
11561
11562         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11563         (mswindows_enqueue_mouse_button_event): ditto.
11564         (mswindows_handle_gui_wm_command): remove declaration.
11565
11566         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11567         warnings.
11568
11569         * console-msw.h: Avoid shadows.
11570         (mswindows_get_toolbar_button_text):
11571         (emacs_mswindows_create_stream_pair):
11572         (emacs_mswindows_delete_stream_pair):
11573         (mswindows_handle_toolbar_wm_command): declare.
11574
11575         * device-msw.c (build_syscolor_string): Avoid shadows.
11576
11577 2000-01-23  Andy Piper  <andy@xemacs.org>
11578
11579         * glyphs-widget.c (widget_instantiate): reverse the items for
11580         layouts so that children are in the expected order.
11581
11582 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11583
11584         * ralloc.c: safe_bcopy ==> memmove
11585         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11586         * s/msdos.h: Remove BCOPY macros.
11587         * insdel.c (gap_right): Remove BCOPY conditional code.
11588         * insdel.c (gap_left): Remove BCOPY conditional code.
11589         XEmacs demands a working ANSI C compiler - hence memmove.
11590
11591         * regex.c (regex_compile): Remove accidental use of trigraphs.
11592
11593 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11594
11595         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11596         event timestamp.
11597
11598 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11599
11600         * event-msw.c (mswindows_drain_windows_queue): Added the
11601         parameter.
11602         (mswindows_need_event): Commented the call to
11603         mswindows_drain_windows_queue().
11604         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11605         only.
11606
11607         * console-msw.h: Moved a few function prototypes here from
11608         event-msw.c.
11609
11610         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11611         parameter from unsigned short to unsigned long.
11612         (Fmswindows_shell_execute): Added return value.
11613
11614 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11615
11616         * sysdep.c (init_system_name):
11617           process-unix.c (unix_canonicalized_host_name):
11618         Don't call freeaddrinfo() if getaddrinfo() fails.
11619
11620         * process-unix.c (unix_open_unix_network_stream):
11621         Moved the code to get a port # into address loop.
11622
11623 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11624
11625         * buffer.c (reinit_vars_of_buffer):
11626         The right place to initialize conversion_in_dynarr and
11627         conversion_out_dynarr.
11628
11629         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11630
11631         * process-unix.c (unix_canonicalize_host_name): Muleize.
11632         (unix_open_network_stream): Muleize.
11633
11634         * buffer.h: Fix up prototypes for ralloc.c functions.
11635
11636 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11637         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11638         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11639                 instead of gethostbyname()
11640         * process-unix.c: In unix_canonicalize_host_name() and
11641                 unix_open_network_stream(), add code to use getaddrinfo()
11642                 instead of gethostbyname().
11643
11644 2000-01-27  Daniel Pittman <daniel@danann.net>
11645
11646         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11647         libs when built with flat Athena.
11648
11649 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11650
11651         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11652         Use coding standards for function prototypes.
11653
11654 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11655
11656         * dialog-msw.c (push_lisp_string_as_unicode):
11657         * doc.c (unparesseuxify_doc_string):
11658         * dired.c (Fuser_name_completion_1):
11659         * dired.c (Fuser_name_all_completions):
11660         * dired.c (free_user_cache):
11661         * dired.c (user_name_completion):
11662         * console-x.c (get_display_arg_connection):
11663         * minibuf.c (clear_echo_area_internal):
11664         * minibuf.c (echo_area_append):
11665         * eldap.c (Fldap_open):
11666         * eldap.c (Fldap_search_internal):
11667         * frame-x.c (x_set_frame_text_value):
11668         * frame-x.c (x_set_frame_properties):
11669         * frame-x.c (x_create_widgets):
11670         * redisplay-tty.c (term_get_fkeys_1):
11671         * objects-x.c (x_parse_nearest_color):
11672         * objects-x.c (x_valid_color_name_p):
11673         * objects-x.c (x_initialize_font_instance):
11674         * objects-x.c (x_list_fonts):
11675         * objects-x.c (x_find_charset_font):
11676         * tooltalk.c (Fadd_tooltalk_message_arg):
11677         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11678         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11679         * process-unix.c (unix_create_process):
11680         * ntproc.c (sys_spawnve):
11681         * sound.c (Fplay_sound_file):
11682         * sound.c (Fplay_sound):
11683         * buffer.c (init_initial_directory):
11684         * buffer.c (init_buffer):
11685         * editfns.c (init_editfns):
11686         * editfns.c (Ftemp_directory):
11687         * editfns.c (Fuser_full_name):
11688         * editfns.c (uncache_home_directory):
11689         * editfns.c (get_home_directory):
11690         * editfns.c (Fuser_home_directory):
11691         * editfns.c (Fformat_time_string):
11692         * editfns.c (Fcurrent_time_string):
11693         * gui-x.c (button_item_to_widget_value):
11694         * database.c (Fopen_database):
11695         * event-Xt.c (x_to_emacs_keysym):
11696         * event-Xt.c (x_event_to_emacs_event):
11697         * event-Xt.c (describe_event_window):
11698         * event-msw.c (mswindows_wnd_proc):
11699         * glyphs-eimage.c (jpeg_instantiate):
11700         * glyphs-eimage.c (gif_instantiate):
11701         * glyphs-eimage.c (png_instantiate):
11702         * glyphs-eimage.c (tiff_instantiate):
11703         * glyphs-x.c (xbm_instantiate_1):
11704         * glyphs-x.c (x_xbm_instantiate):
11705         * glyphs-x.c (x_xface_instantiate):
11706         * glyphs-x.c (autodetect_instantiate):
11707         * glyphs-x.c (cursor_font_instantiate):
11708         * glyphs-x.c (x_widget_instantiate):
11709         * glyphs-x.c (x_widget_set_property):
11710         * glyphs-x.c (x_widget_property):
11711         * glyphs-x.c (BUILD_GLYPH_INST):
11712         * print.c (write_string_to_stdio_stream):
11713         * print.c (output_string):
11714         * print.c (Falternate_debugging_output):
11715         * print.c (Fexternal_debugging_output):
11716         * glyphs-msw.c (extract_xpm_color_names):
11717         * glyphs-msw.c (mswindows_xpm_instantiate):
11718         * glyphs-msw.c (bmp_instantiate):
11719         * glyphs-msw.c (resource_name_to_resource):
11720         * glyphs-msw.c (mswindows_resource_instantiate):
11721         * glyphs-msw.c (xbm_instantiate_1):
11722         * glyphs-msw.c (mswindows_xbm_instantiate):
11723         * glyphs-msw.c (mswindows_xface_instantiate):
11724         * glyphs-msw.c (mswindows_widget_instantiate):
11725         * glyphs-msw.c (add_tree_item):
11726         * glyphs-msw.c (add_tab_item):
11727         * glyphs-msw.c (mswindows_combo_box_instantiate):
11728         * glyphs-msw.c (mswindows_widget_property):
11729         * glyphs-msw.c (mswindows_combo_box_property):
11730         * glyphs-msw.c (mswindows_widget_set_property):
11731         * console.c (stuff_buffered_input):
11732         * objects-msw.c (mswindows_initialize_color_instance):
11733         * objects-msw.c (mswindows_valid_color_name_p):
11734         * objects-msw.c (mswindows_list_fonts):
11735         * objects-msw.c (mswindows_font_instance_truename):
11736         * bytecode.c (optimize_compiled_function):
11737         * select-x.c (symbol_to_x_atom):
11738         * select-x.c (x_atom_to_symbol):
11739         * select-x.c (hack_motif_clipboard_selection):
11740         * select-x.c (selection_data_to_lisp_data):
11741         * select-x.c (lisp_data_to_selection_data):
11742         * select-x.c (Fx_get_cutbuffer_internal):
11743         * select-x.c (Fx_store_cutbuffer_internal):
11744         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11745         * buffer.h (TO_INTERNAL_FORMAT): New function.
11746         * emacs.c (make_arg_list_1):
11747         * emacs.c (make_argc_argv):
11748         * emacs.c (main_1):
11749         * emacs.c (Fdump_emacs):
11750         * emacs.c (split_string_by_emchar_1):
11751         * file-coding.h:
11752         * lisp.h:
11753         * lstream.h:
11754         * symsinit.h:
11755         * device-x.c (x_init_device):
11756         * device-x.c (Fx_valid_keysym_name_p):
11757         * device-x.c (Fx_get_font_path):
11758         * device-x.c (Fx_set_font_path):
11759         * glyphs.c (bitmap_to_lisp_data):
11760         * glyphs.c (pixmap_to_lisp_data):
11761         * alloc.c (make_ext_string): Use coding system arguments.  Update
11762         all callers.
11763         * alloc.c (build_string):
11764         * callproc.c (child_setup):
11765         * callproc.c (init_callproc):
11766         * fileio.c (lisp_strerror):
11767         * fileio.c (directory_file_name):
11768         * fileio.c (Fexpand_file_name):
11769         * fileio.c (Ffile_truename):
11770         * fileio.c (Fsysnetunam):
11771         * fileio.c (Fdo_auto_save):
11772         * sysdep.c (sys_readdir):
11773         * tests.c: New file.  Allow adding C tests.
11774         Replace GET_* macros with a more comprehensible and flexible
11775         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11776         Modify all calls.
11777         Any coding system can be used to do format conversion.
11778         Eliminate enum external_data_format.
11779         Eliminate convert_to_external_format.
11780         Eliminate convert_to_internal_format.
11781         Make sure file-name, keyboard, terminal, and ctext are always
11782         defined as coding systems or aliases.  Make
11783         file-name-coding-system, terminal-coding-system, and
11784         keyboard-coding-system magical variables that are equivalent to
11785         defining the corresponding coding system aliases.
11786
11787         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11788         * file-coding.c (Fcoding_system_alias_p): New function.
11789         * file-coding.c (Fcoding_system_aliasee): New function.
11790         * file-coding.c (append_suffix_to_symbol): New function.
11791         * file-coding.c (dangling_coding_system_alias_p): New function.
11792         * file-coding.c (Ffind_coding_system):
11793         * file-coding.c (Fcopy_coding_system):
11794         * file-coding.c (encode_coding_no_conversion):
11795         * file-coding.c (syms_of_file_coding):
11796         * file-coding.c (vars_of_file_coding):
11797         Rewrite coding system alias code.
11798         Allow nested aliases, like symbolic links.
11799         Allow redefinition of coding system aliases.
11800         Prevent existence of dangling coding system aliases.
11801
11802         * dired.c (Fuser_name_completion_1):
11803         * dired.c (Fuser_name_all_completions):
11804         A crash would happen if user did QUIT in the middle of building
11805         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11806
11807         * lisp.h:
11808         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11809
11810         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11811         an unsigned char *.  Update all callers.
11812
11813 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11814
11815         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11816
11817 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11818
11819         * elhash.c (hentry_description): Use more portable definition.
11820         (resize_hash_table): Initialize new hentries using
11821         xnew_array_and_zero, thereby simplifying the code.
11822
11823         * mule-charset.c (make_charset): Make sure entire object is
11824         initialized, to avoid Purify warnings.
11825
11826         * alloc.c (resize_string): Fix unlikely crash with big strings.
11827
11828 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11829
11830         * realpath.c (xrealpath):
11831         Don't call getwd().
11832
11833 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11834
11835         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11836
11837 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11838
11839         * unexelfsgi.c (unexec): Change the way we decide which segment
11840         should be extended.
11841
11842         Assumption that .bss section should be outside the PT_LOADable
11843         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11844         it's present) is inside the 'data' segment. This would fail the
11845         test which was used to find a segment to grow and cover new
11846         heap. Instead of this assumption, I created another one - on IRIX
11847         the segment to grow should start below .bss and it's address
11848         should extent above the end of .bss. Once this segment is
11849         identified, it's grown to accommodate the new heap and new
11850         zero-length .bss section is added at the end of .data2.
11851
11852 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11853
11854         * eval.c (Feval): Wrong number of arguments should use original
11855         function, not the indirect_function version of it.
11856
11857 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11858
11859         * glyphs-x.c (x_button_instantiate): Don't add image if
11860         it is not a pixmap.
11861         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11862         is relative.
11863
11864 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11865
11866         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11867         declaration.
11868         (DEFVAR_INT_MAGIC): Ditto.
11869         (DEFVAR_BOOL_MAGIC): Ditto.
11870         * glyphs.h: Reindent backslash.
11871
11872 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11873
11874         * glyphs-widget.c (layout_query_geometry):
11875         (layout_layout): Use correct types for gheight, gwidth.
11876
11877 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11878
11879         * EmacsManager.c (QueryGeometry): Purified.
11880
11881 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11882
11883         * alloc.c (make_float): Make sure entire object is initialized, to
11884         avoid Purify warnings.
11885         (pdump_register_sub): Remove useless assignment.
11886         (pdump): Use xmalloc, not malloc.
11887         (pdump_load): Use xmalloc, not malloc.
11888
11889 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11890
11891         * callproc.c:
11892         * dired-msw.c:
11893         * fileio.c:
11894         * process-nt.c:
11895         * redisplay-msw.c:
11896         * sysdep.c: Removed redundant #include <windows.h>
11897
11898 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11899
11900         * frame.c (delete_frame_internal): Do not delete device when its
11901         implementation so declares.
11902         (delete_frame_internal): Set device selected frame to nil when
11903         last frame goes away.
11904
11905         * device-msw.c (msprinter_device_system_metrics): Implemented.
11906         (mswindows_device_system_metrics): Added 'device-dpi property.
11907
11908         * device.c: (Fdevice_printer_p): Added.
11909         Added 'offset-workspace device metric.
11910
11911         * console.h (device_metrics): Declared DM_offset_workspace.
11912
11913 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11914
11915         * fileio.c (Ffile_truename): Remove pointless and confusing
11916         initialization of elen.
11917
11918         * glyphs-widget.c: Compiler warning fixes.
11919
11920 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11921
11922         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11923         instead of a Lisp_Object as argument to make it consistent with
11924         the other LIVE_P macros.
11925         (CHECK_LIVE_PROCESS): New macro.
11926
11927         * process.c: Declare Qprocess_live_p.
11928         (Fprocess_live_p): New function.
11929         (create_process): Use PROCESS_LIVE_P.
11930         (read_process_output): Ditto.
11931         (set_process_filter): Ditto.
11932         (Fdelete_process): Ditto.
11933         (kill_buffer_processes): Ditto
11934         (process_send_signal): Use CHECK_LIVE_PROCESS.
11935         (Fprocess_input_coding_system): Check whether process is still
11936         alive (fix PR#1061).
11937         (Fprocess_output_coding_system): Ditto.
11938         (Fprocess_coding_system): Ditto.
11939         (Fset_process_input_coding_system): Ditto.
11940         (Fset_process_output_coding_system): Ditto.
11941
11942 2000-01-23  Andy Piper  <andy@xemacs.org>
11943
11944         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11945         layout and widget.
11946
11947         * glyphs.c (mark_image_instance): take into account changed
11948         image_instance format.
11949         (image_instance_equal): ditto.
11950         (image_instance_hash): ditto.
11951
11952         * glyphs-widget.c (widget_instantiate): Incorporate layout
11953         instantiation here. Delay layout of the layout until later.
11954         (layout_instantiate): deleted.
11955         (layout_query_geometry): new function. get the geometry of a
11956         layout.
11957         (layout_layout): layout a layout dynamically.
11958         (image_instantiator_widget): New function - splitting up
11959         image_instantiator_format_create_glyphs_widget for netwinder
11960         compilation.
11961         (image_instantiator_buttons):
11962         (image_instantiator_edit_fields):
11963         (image_instantiator_combo_box):
11964         (image_instantiator_scrollbar):
11965         (image_instantiator_progress_guage):
11966         (image_instantiator_tree_view):
11967         (image_instantiator_tab_control):
11968         (image_instantiator_labels):
11969         (image_instantiator_layout): ditto.
11970         (image_instantiator_format_create_glyphs_widget): Call preceding
11971         functions.
11972
11973 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11974
11975         * process.c (Fset_process_coding_system):
11976         * device-x.c (Fx_keysym_hash_table):
11977         Docstring fixes.
11978
11979         * lstream.c (Lstream_write): Return documented value, not 0.
11980
11981         * fileio.c (directory_file_name):
11982         (Fsubstitute_in_file_name):
11983         (Fsubstitute_insert_file_contents_internal):
11984         (Fwrite_region_internal):
11985         * emacs.c:
11986         * sysdep.c:
11987         * getloadavg.c:
11988         * systty.h:
11989         Remove vestigial APOLLO-conditional code.
11990
11991 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11992
11993         * getpagesize.h: Add guard macros.
11994         * libsst.h: Add guard macros.
11995         * libst.h: Add guard macros.
11996         * line-number.h: Add guard macros.
11997         * ndir.h: Add guard macros.
11998         * sysfloat.h: Add guard macros.
11999         * sysfile.h: Add guard macros.
12000         * sysproc.h: Add guard macros.
12001         * syswait.h: Add guard macros.
12002         * xintrinsic.h: Add guard macros.
12003         * xintrinsicp.h: Add guard macros.
12004         * xmmanager.h: Add guard macros.
12005         * xmmanagerp.h: Add guard macros.
12006         * xmprimitive.h: Add guard macros.
12007         * xmu.h: Add guard macros.
12008         * gpmevent.h: Add copyright statement. Add guard macros.
12009         * miscplay.h: Add guard macros.
12010         * *.h: Use consistent C-standards-approved guard macro names.
12011
12012         * opaque.c (make_opaque): Switch parameter order.
12013         * opaque.h (make_opaque): Switch parameter order.
12014         Update all callers.
12015         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12016
12017         * config.h.in (type_checking_assert): Added.
12018         (bufpos_checking_assert): Added.
12019
12020 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12021
12022         * alloc.c: Harmless pdump changes.
12023         - Use countof().
12024         - spell alignment correctly.
12025         * sysdep.c: Use countof()
12026
12027 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12028
12029         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12030         initially_selected_for_input() console method, default to 0.
12031         (semi_canonicalize_console_connection): Try to delegate to
12032         canonicalize_console_connection if no such console method.
12033         (canonicalize_console_connection): Vice versa.
12034         (print_console): Do not print nil connection.
12035
12036         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12037         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12038         (XDEVIMPF_FRAMELESS_OK): Added.
12039         (CONSOLE_INHERITS_METHOD): Added.
12040
12041         * console-msw.c (mswindows_canonicalize_console_connection):
12042         Added.
12043         (mswindows_canonicalize_device_connection): Added.
12044
12045         * console-msw.h (struct msprinter_device): Added this struct and
12046         accessor macros.
12047         (mswindows_device): Made fontlist a lisp object.
12048
12049         * device.c (semi_canonicalize_device_connection):  Try to delegate
12050         to canonicalize_device_connection if no such console method.
12051         (canonicalize_device_connection): Vice versa.
12052         (print_device): Do not print nil connection.
12053
12054         * device-msw.c (mswindows_init_device): Call InitCommonControls
12055         when have widgets.
12056         (mswindows_delete_device): Removed fontlist deallocation.
12057         (mswindows_mark_device): Added.
12058
12059         * events.c (event_equal): Added abort() at unreached code.
12060         (event_hash): Ditto.
12061
12062         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12063         fallback tags of Windows devices.
12064
12065         * general.c (syms_of_general): Initialized Qmsprinter.
12066
12067         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12068         of fallback tags of Windows devices.
12069
12070         * lisp.h: Declared Qmsprinter.
12071
12072         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12073         of strings.
12074         (mswindows_list_fonts): Ditto.
12075         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12076         that it can be used by both mswindows and msprinter devices.
12077         (initialize_font_instance): Added.
12078         (mswindows_initialize_font_instance): Use it.
12079         (msprinter_initialize_font_instance): Added.
12080
12081         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12082         and implementation flags check.
12083         (redisplay_without_hooks): Changed the call to the above.
12084         (Fredraw_device): Ditto.
12085         (Fredisplay_device): Ditto.
12086
12087         * redisplay-msw.c (get_frame_dc): Implemented.
12088         (get_frame_compdc): Implemented.
12089         (many functions): Use the two functions above to get device
12090         contexts, ether for a window or a printer.
12091
12092 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12093
12094         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12095         initialization here.
12096         (init_symbols_once_early): Call it.
12097         * emacs.c (main_1): Call it.
12098         * symsinit.h: Declare it.
12099
12100 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12101
12102         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12103         Lisp_Object.
12104         (pdump_backtrace): Ditto.
12105         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12106         (pdump_get_entry): Abort if trying to register a null pointer.
12107         (pdump_dump_data): Cleanup types when relocating.
12108         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12109         (pdump_dump_rtables): Remove bad casts.
12110         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12111         Lisp_Object instead of a EMACS_INT for the hashtable
12112         reorganization.
12113
12114 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12115
12116         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12117
12118         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12119
12120         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12121
12122         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12123
12124 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12125
12126         * faces.h (FACE_STRIKETHRU_P): Added.
12127
12128         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12129         of font variants.
12130
12131         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12132         (mswindows_set_dc_font): New function, aware of font variants,
12133         separated from mswindows_update_dc.
12134
12135         * objects-msw.h (struct mswindows_font_instance_data): Added
12136         definition.
12137
12138         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12139         cached fonts and the data structure.
12140         (mswindows_initialize_font_instance): Added creation of font data
12141         structure.
12142         (mswindows_print_font_instance): Print at least something.
12143         (mswindows_create_font_variant): Implemented.
12144         (mswindows_get_hfont): Implemented.
12145
12146 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12147
12148         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12149         prototyping problem with msvc.
12150
12151         * emacs.c (main_1): added syms_of_gui_mswindows() call
12152
12153         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12154         syms_of_gui_mswindows() function
12155
12156         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12157
12158 2000-01-18  Martin Buchholz <martin@xemacs.org>
12159
12160         * XEmacs 21.2.27 is released.
12161
12162 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12163
12164         * glyphs-eimage.c (struct tiff_error_struct):
12165         (tiff_error_func):
12166         (tiff_warning_func):
12167         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12168
12169         * unexmips.c:
12170         * unexhp9k3.c:
12171         * unexfreebsd.c:
12172         * unexec.c: Remove vestigial Lucid C code.
12173         * unexalpha.c:
12174         * unexaix.c:
12175         * termcap.c:
12176         * libsst.c: Ansify.
12177         Remove declarations of errno and strerror().
12178
12179         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12180
12181         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12182
12183 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12184
12185         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12186         Optimize.
12187
12188 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12189
12190         * md5.c:
12191         * file-coding.c:
12192         * file-coding.h:
12193         Change enum eol_type to eol_type_t.
12194
12195 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12196
12197         * gui.c (get_gui_callback): Check cons before accessing car.
12198
12199 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12200
12201         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12202         (XSETSPECIFIER_TYPE): Ditto.
12203
12204 2000-01-17  Didier Verna  <didier@xemacs.org>
12205
12206         * redisplay.c (generate_fstring_runes): compute string size in
12207         characters, not bytes.
12208
12209 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12210
12211         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12212
12213 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12214
12215         * print.c (print_error_message): Call print_prepare().
12216
12217 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12218
12219         * .dbxrc: Renamed from dbxrc.
12220
12221         * events.c (event_to_character):
12222         Use `assert (foo)' instead of `if (!foo) abort()'
12223
12224         * .gdbinit (xtype): Add documentation.
12225         * .gdbinit (check-temacs): New function.
12226         * .gdbinit (check-xemacs): New function.
12227         * dbxrc (check-xemacs): New function.
12228         * dbxrc (check-xemacs): New function.
12229
12230 2000-01-14  Andy Piper  <andy@xemacs.org>
12231
12232         * glyphs-widget.c (widget_query_geometry): Make sure that we
12233         calculate default dimensions correctly.
12234
12235 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12236
12237         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12238
12239         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12240         pdump_wire'd variable.
12241
12242         * emacs.c: (main_1): Conditionalized calls to
12243         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12244
12245 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12246
12247         * window.c (Fset_window_configuration):
12248         * sysdep.c (_start):
12249         * input-method-motif.c (res):
12250         * event-Xt.c (Xt_process_to_emacs_event):
12251         Simple compiler warning fixes.
12252
12253         * bytecode.c (funcall_compiled_function): Use the original
12254         function symbol on the backtrace list in preference to the
12255         compiled_function object in error messages.
12256
12257 2000-01-13  Andy Piper  <andy@xemacs.org>
12258
12259         * glyphs-x.c (update_widget_face): Make sure we update the widget
12260         background as well as foreground.
12261
12262 2000-01-13  Andy Piper  <andy@xemacs.org>
12263
12264         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12265         fields to subwindow.
12266         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12267         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12268         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12269         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12270
12271         * glyphs-widget.c (check_valid_tab_orientation): new function.
12272         (initialize_widget_image_instance): zero orientation and
12273         justification.
12274         (widget_instantiate): pick up orientation.
12275         (tab_control_query_geometry): return appropriate values for
12276         vertical tabs.
12277
12278         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12279         appropriate creation flags for left, right and bottom tabs.
12280
12281         * s/cygwin32.h: add tab definitions.
12282
12283 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12284
12285         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12286         frame upon hiding a subwindow.
12287         (mswindows_button_instantiate): Changed the push button style to
12288         BS_PUSHBUTTON.
12289         (mswindows_button_instantiate): Removed button BS_NOTIFY
12290         style.
12291         (mswindows_button_instantiate): Removed redundant check for
12292         a disabled gui item.
12293         (mswindows_button_instantiate): Made use of WS_TABSTOP
12294         consistent: "operable" controls (edit, button, tree, scroll) have
12295         this style, "display-only" ones (static, progress gauge) do
12296         not. This style is currently ignored by XEmacs though. Also,
12297         removed the WS_EX_CONTROLPARENT style - it is not for children,
12298         it is for their parents!
12299         (mswindows_edit_field_instantiate): Ditto.
12300         (mswindows_progress_gauge_instantiate): Ditto.
12301         (mswindows_tree_view_instantiate): Ditto.
12302         (mswindows_tab_control_instantiate): Ditto.
12303         (mswindows_scrollbar_instantiate): Ditto.
12304         (mswindows_combo_box_instantiate): Ditto.
12305         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12306         style to the "clip" window.
12307         (mswindows_button_instantiate): Removed compilation warning by
12308         equally typing terms of the ?: operator.
12309
12310 2000-01-12  Didier Verna  <didier@xemacs.org>
12311
12312         * redisplay.c (generate_fstring_runes): new parameter holding the
12313         last modeline-format extent.
12314         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12315         extent, fill the glyph block with it.
12316         (generate_fstring_runes): handle these parameters.
12317         (generate_formatted_string_db): ditto.
12318
12319         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12320         glyphs'extents in the modeline.
12321
12322 1999-01-11  Mike Woolley  <mike@bulsara.com>
12323
12324         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12325         256Mb, as a workaround for the non-starting problem many people
12326         have experienced.
12327
12328 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12329
12330         * console-tty.c (Fset_console_tty_output_coding_system):
12331         Force redrawing tty frame.
12332
12333 2000-01-10  Didier Verna  <didier@xemacs.org>
12334
12335         * redisplay.c (generate_fstring_runes): fix size computation bug.
12336
12337 2000-01-09  William M. Perry <wmperry@aventail.com>
12338
12339         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12340
12341 2000-01-09  Andy Piper  <andy@xemacs.org>
12342
12343         * glyphs-msw.c: index -> i to avoid shadows.
12344         (xbm_create_bitmap_from_data): make static.
12345         (check_valid_string_or_int): deleted.
12346         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12347
12348         * glyphs-x.c (x_update_subwindow): remove unused args.
12349
12350         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12351         back pointer - this is done in allocate_image_instance.
12352         (query_string_font): return Qnil to make the compiler happy.
12353         (unmap_subwindow): set to ~0 to make the compiler happy.
12354         (glyph_query_geometry): comment out until used.
12355         (glyph_layout): ditto.
12356
12357 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12358
12359         * insdel.c (signal_after_change): Remove extraneous unbind_to().