3062924340d0fc3df8749389cacb9f78f6e1d243
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Qcode_offset): New variable.
4         (Fmake_charset): Use `XUINT' to get value of `min-code' and
5         `max-code'; accept new property `code-offset'.
6         (syms_of_mule_charset): Add new symbol `code-offset'.
7
8 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * mule-charset.c (range_charset_code_point): Fixed.
11
12 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * mule-charset.c (decode_builtin_char): Change semantics of
15         code-offset of coded-charset.
16         (charset_code_point): Likewise.
17         (range_charset_code_point): Likewise.
18         (complex_vars_of_mule_charset): Modify for the change.
19
20 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * mule-charset.c (Fencode_char): Reverse arguments.
23
24         * mule-charset.c (charset_code_point): Fixed.
25
26 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * mule-charset.c (Vcharset_mojikyo): Deleted.
29         (Vcharset_mojikyo_2022_1): Deleted.
30         (Vcharset_mojikyo_pj_{1..21}): Deleted.
31         (Qmin_code): New variable in UTF-2000.
32         (Qmax_code): Likewise.
33         (Qmother): Likewise.
34         (Qconversion): Likewise.
35         (Q94x60): Likewise.
36         (Qmojikyo): Deleted.
37         (Qmojikyo_2022_1): Deleted.
38         (Qmojikyo_pj_{1..22}): Deleted.
39         (mark_charset): Mark `cs->mother'.
40         (charset_description): Add description for `mother'.
41         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
42         new arguments `mother' and `conversion'; use
43         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
44         (charset_code_point): Moved from char-ucs.h; support `mother'
45         charset feature.
46         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
47         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
48         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
49         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
50         allow 2 as the value of `graphic' in UTF-2000; add new properties
51         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
52         require `final' in UTF-2000; modify for `make_charset'.
53         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
54         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
55         (Fcharset_property): Support `mother', `min-code' and `max-code'.
56         (Fencode_char): New function.
57         (syms_of_mule_charset): Add new builtin function `encode-char' in
58         UTF-2000; add new symbols `min-code', `max-code', `mother',
59         `conversion' and `94x60'; delete symbols `mojikyo',
60         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
61         (complex_vars_of_mule_charset): Modify for `make_charset' change;
62         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
63         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
64
65         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
66         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
67
68         * char-ucs.h (Vcharset_mojikyo): Deleted.
69         (Vcharset_mojikyo_2022_1): Deleted.
70         (LEADING_BYTE_MOJIKYO): Deleted.
71         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
72         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
73         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
74         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
75         add new member `mother'; add new member `conversion'.
76         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
77         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
78         (CHARSET_MOTHER): New macro.
79         (CHARSET_CONVERSION): New macro.
80         (CONVERSION_IDENTICAL): New macro.
81         (CONVERSION_94x60): New macro.
82         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
83         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
84         (XCHARSET_MOTHER): New macro.
85         (XCHARSET_CONVERSION): New macro.
86         (MIN_CHAR_MOJIKYO): Deleted.
87         (MAX_CHAR_MOJIKYO): Deleted.
88         (DECODE_MOJIKYO_2022): Deleted.
89         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
90         (charset_code_point): Changed to non-inline function.
91         (encode_char_1): Use `charset_code_point'.
92         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
93
94 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * lread.c (read_compiled_function): Fix prototype.
97         (read_vector): Likewise.
98
99 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * lrecord.h (struct lrecord_header): Delete `older'.
102         (set_lheader_implementation): Delete code for `older'.
103         (set_lheader_older_implementation): Deleted.
104         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
105         (OLDER_RECORD_P): Deleted.
106         (OLDER_RECORD_HEADER_P): Deleted.
107         (alloc_older_lcrecord): Deleted.
108         (alloc_older_lcrecord_type): Deleted.
109
110         * alloc.c (all_older_lcrecords): Deleted.
111         (alloc_older_lcrecord): Deleted.
112         (disksave_object_finalization_1): Delete code for older objects.
113         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
114         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
115
116 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * mule-charset.c (decoding_table_put_char): Use `make_vector'
119         instead of `make_older_vector'.
120         (put_char_ccs_code_point): Likewise.
121         (mark_charset): Mark `cs->decoding_table'.
122         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
123
124         * lisp.h (make_older_vector): Deleted.
125         (make_vector_newer): Deleted.
126
127         * config.h.in (HAVE_GGC): Deleted.
128
129         * alloc.c (make_older_vector): Deleted.
130         (make_vector_newer_1): Deleted.
131         (make_vector_newer): Deleted.
132
133 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
136         (Qideograph_daikanwa_2): New variable.
137         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
138         (complex_vars_of_mule_charset): Add new coded-charset
139         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
140         `LEADING_BYTE_DAIKANWA'.
141
142         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
143         (LEADING_BYTE_DAIKANWA_1): New macro.
144         (LEADING_BYTE_DAIKANWA_2): New macro.
145         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
146
147 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * mule-charset.c (complex_vars_of_mule_charset): Change
150         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
151         the second revised version.
152
153 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * mule-charset.c (Vcharset_ucs_smp): New variable.
156         (Vcharset_ucs_sip): New variable.
157         (Qucs_smp): New variable.
158         (Qucs_sip): New variable.
159         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
160         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
161         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
162         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
163         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
164         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
165
166         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
167         (LEADING_BYTE_UCS_SIP): New macro.
168         (MIN_CHAR_SMP): New macro.
169         (MAX_CHAR_SMP): New macro.
170         (MIN_CHAR_SIP): New macro.
171         (MAX_CHAR_SIP): New macro.
172
173 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
174
175         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
176         utf-2000.
177
178 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
181         value; don't store value into `encoding_table' of `Lisp_Charset'.
182         (mark_charset): `encoding_table' was deleted.
183         (charset_description): Likewise.
184         (make_charset): Likewise.
185         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
186         `put_char_ccs_code_point'.
187
188         * chartab.h (Fput_char_attribute): New EXFUN.
189
190         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
191         is unified with normal symbol space.
192         (Fget_char_attribute): Likewise.
193         (Fput_char_attribute): Likewise; behavior of
194         `put_char_ccs_code_point' is changed.
195
196         * char-ucs.h: Include "elhash.h".
197         (Vchar_attribute_hash_table): New external variable.
198         (struct Lisp_Charset): Delete `encoding_table'.
199         (CHARSET_ENCODING_TABLE): New implementation; refer
200         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
201         `Lisp_Charset'.
202
203 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
206         (cs) == 0.
207
208 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
209
210         * text-coding.c (char_encode_big5): Prefer charset-g1 than
211         `chinese-big5'.
212
213 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * chartab.c (uint8_byte_table_description): New constant.
216         (uint8-byte-table): Use `uint8_byte_table_description'.
217         (uint16_byte_table_description): New constant.
218         (uint16-byte-table): Use `uint16_byte_table_description'.
219
220 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
223         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
224
225 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
226
227         * mule-charset.c (Vcharset_ucs_ks): New variable.
228         (Qucs_ks): New variable.
229         (syms_of_mule_charset): Add new symbol `ucs-ks'.
230         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
231
232         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
233
234 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
235
236         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
237         (Fdecode_char): Likewise.
238
239         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
240         chartab.h.
241         (Fdefine_char): Modify for Fdecode_char.
242         (Ffind_char): Likewise.
243
244         * mule-charset.c (Fdecode_char): Add new optional argument
245         `defined-only'.
246         (Fdecode_builtin_char): Modify for `Fdecode_char'.
247
248 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
249
250         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
251         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
252         (allocate_coding_system): Initialize initial-charsets of
253         CODESYS_BIG5 in XEmacs UTF-2000.
254         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
255         CODESYS_BIG5 in XEmacs UTF-2000.
256         (decode_coding_big5): Use initial-charset-g0 and -g1 of
257         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
258
259         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
260         variables.
261         (Qideograph_hanziku_{1 .. 12}): Likewise.
262         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
263         .. 12}'.
264         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
265         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
266         `ideograph-hanziku-{1 .. 12}'.
267
268         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
269         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
270         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
271         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
272         (DECODE_DEFINED_CHAR): New inline function.
273         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
274
275 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
276
277         * mule-charset.c (Vcharset_china3_jef): Renamed from
278         `Vcharset_japanese_jef_china3'.
279         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
280         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
281         `{MIN|MAX}_CHAR_JEF_CHINA3'..
282         (syms_of_mule_charset): Rename `china3-jef' from
283         `japanese-jef-china3'.
284         (complex_vars_of_mule_charset): Likewise; rename
285         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
286
287         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
288         `LEADING_BYTE_JEF_CHINA3'.
289         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
290         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
291
292 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * mule-charset.c (encode_builtin_char_1): Comment out special code
295         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
296
297         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
298         (MAX_CHAR_MOJIKYO_0): Comment out.
299         (MIN_CHAR_CBETA): Changed to 0x00E20000.
300         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
301         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
302         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
303
304 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
307         (Qideograph_cbeta): New variable.
308         (encode_builtin_char_1): Comment out special code for
309         coded-charset `mojikyo' and `japanese-jef-china3'.
310         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
311         (complex_vars_of_mule_charset): Add new coded-charset
312         `ideograph-cbeta'.
313
314         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
315         (MIN_CHAR_CBETA): New macro.
316         (MAX_CHAR_CBETA): New macro.
317
318 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
321         (LEADING_BYTE_JEF_CHINA3): New macro.
322         (MIN_CHAR_JEF_CHINA3): New macro.
323         (MAX_CHAR_JEF_CHINA3): Likewise.
324         (DECODE_CHAR): Fixed.
325
326 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
329         (Qjapanese_jef_china3): New variable.
330         (encode_builtin_char_1): Support `japanese-jef-china3'.
331         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
332         (complex_vars_of_mule_charset): Add new coded-charset
333         `japanese-jef-china3'.
334
335 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
336
337         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
338         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
339         94^4, 96^3, 96^4, 128^n and 256^n set.
340         (put_char_table): Use `XCHARSET_CELL_RANGE'.
341         (map_char_table): Likewise.
342
343 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
346         UTF-2000.
347
348 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * chartab.h (get_char_id_table): New inline function.
351
352         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
353         function.
354
355 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * chartab.h (decode_char_table_range): New prototype in XEmacs
358         UTF-2000.
359         (put_char_id_table): New inline function in XEmacs UTF-2000.
360
361         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
362         function.
363         (decode_char_table_range): Delete static declaration in XEmacs
364         UTF-2000.
365
366 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
367
368         * chartab.c (put_char_id_table): Use `put_char_table'.
369
370 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
371
372         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
373         (map_over_uint16_byte_table): Likewise.
374         (map_over_byte_table): Likewise.
375         (map_char_table): Modify for `map_over_uint8_byte_table',
376         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
377         UTF-2000.
378
379 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
380
381         * chartab.c (struct map_char_table_for_charset_arg): New
382         structure.
383         (map_char_table_for_charset_fun): New function.
384         (map_char_table): Use `map_char_table' for encoding_table of
385         `range->charset'.
386
387 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
388
389         * chartab.c (map_char_table): Check a character is found in
390         range->charset instead of non default value is defined in
391         char-table when range is CHARTAB_RANGE_ROW.
392
393 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
394
395         * chartab.c (map_char_id_table): Deleted.
396         (Fmap_char_attribute): Use `map_char_table' instead of
397         `map_char_id_table'.
398
399 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
402         UTF-2000.
403         (update_syntax_table): Deleted in XEmacs UTF-2000.
404
405         * syntax.c (find_defun_start): Use `syntax_table' instead of
406         `mirror_syntax_table' in XEmacs UTF-2000.
407         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
408         UTF-2000.
409         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
410         XEmacs UTF-2000.
411         (Fmatching_paren): Likewise.
412         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
413         in XEmacs UTF-2000.
414         (find_start_of_comment): Likewise.
415         (find_end_of_comment): Likewise.
416         (Fforward_comment): Likewise.
417         (scan_lists): Likewise.
418         (char_quoted): Likewise.
419         (Fbackward_prefix_chars): Likewise.
420         (scan_sexps_forward): Likewise.
421         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
422         (update_syntax_table): Likewise.
423
424         * search.c (skip_chars): Use `syntax_table' instead of
425         `mirror_syntax_table' in XEmacs UTF-2000.
426         (wordify): Likewise.
427         (Freplace_match): Likewise.
428
429         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
430         `mirror_syntax_table' in XEmacs UTF-2000.
431         (WORDCHAR_P_UNSAFE): Likewise.
432         (re_match_2_internal): Likewise.
433
434         * font-lock.c (find_context): Use `buf->syntax_table' instead of
435         `buf->mirror_syntax_table' in XEmacs UTF-2000.
436
437         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
438         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
439
440         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
441         XEmacs UTF-2000.
442
443         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
444         UTF-2000.
445         (print_char_table): Print `default_value' in XEmacs UTF-2000.
446         (char_table_description): Delete `mirror_table' in XEmacs
447         UTF-2000.
448         (fill_char_table): Don't call `update_syntax_table' in XEmacs
449         UTF-2000.
450         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
451         (Fcopy_char_table): Likewise.
452         (put_char_table): Don't call `update_syntax_table' in XEmacs
453         UTF-2000.
454
455         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
456         `buf->mirror_syntax_table' in XEmacs UTF-2000.
457         (casify_region_internal): Likewise.
458
459         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
460
461         * buffer.c (common_init_complex_vars_of_buffer): Don't use
462         `mirror_syntax_table' in XEmacs UTF-2000.
463
464         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
465         `buf->mirror_syntax_table' in XEmacs UTF-2000.
466         (Fexpand_abbrev): Likewise.
467
468 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
471
472 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
473
474         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
475         (map_over_uint16_byte_table): Likewise.
476         (map_over_byte_table): Likewise.
477         (get_char_id_table): Refer `cit->default_value'.
478         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
479         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
480         of character-id ranges.
481         (mark_char_table): Mark `ct->default_value'.
482         (char_table_description): Add `default_value'.
483         (fill_char_table): Use `default_value'.
484         (decode_char_table_range): Decode `nil' as
485         `CHARTAB_RANGE_DEFAULT'.
486         (get_char_id_table): Refer `cit->default_value'.
487         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
488         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
489         temporary hack; check value of char-table is bound or not.
490         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
491
492         * chartab.h (struct Lisp_Char_Table): Add new member
493         `default_value' in XEmacs UTF-2000.
494         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
495         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
496         UTF-2000.
497
498 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * chartab.h (Lisp_Char_ID_Table): Deleted.
501
502         * chartab.c (char_table_description): Fix typo.
503         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
504         `Lisp_Char_ID_Table'.
505
506 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
509         `CHAR_ID_TABLE_P'.
510
511         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
512         `CHAR_ID_TABLE_P'.
513
514         * chartab.h (XCHAR_ID_TABLE): Deleted.
515         (XSETCHAR_ID_TABLE): Deleted.
516         (CHAR_ID_TABLE_P): Deleted.
517
518         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
519         `CHAR_ID_TABLE_P'.
520         (Fget_composite_char): Likewise.
521         (put_char_table): Likewise.
522         (add_char_attribute_alist_mapper): Fixed.
523         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
524         `CHAR_ID_TABLE_P'.
525         (Fget_char_attribute): Likewise.
526         (Fget_char_attribute): Likewise.
527         (Fmap_char_attribute): Likewise.
528
529         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
530         `CHAR_ID_TABLE_P'.
531         (encode_char_1): Likewise.
532
533 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
536         `XCHAR_ID_TABLE'.
537
538         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
539         instead of `XCHAR_ID_TABLE'.
540         (remove_char_ccs): Likewise.
541
542         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
543         `XCHAR_ID_TABLE'.
544         (Fget_composite_char): Likewise.
545         (Fchar_variants): Likewise.
546         (put_char_table): Likewise.
547         (add_char_attribute_alist_mapper): Likewise.
548         (Fchar_attribute_alist): Likewise.
549         (Fget_char_attribute): Likewise.
550         (Fput_char_attribute): Likewise.
551         (Fmap_char_attribute): Likewise.
552         (Fmap_char_attribute): Likewise.
553
554         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
555         `XCHAR_ID_TABLE'.
556         (encode_char_1): Likewise.
557
558 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
559
560         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
561         `Lisp_Char_ID_Table'.
562         (mark_char_id_table): Deleted.
563         (print_char_id_table): Likewise.
564         (char_id_table_equal): Likewise.
565         (char_id_table_hash): Likewise.
566         (char_id_table_description): Likewise.
567         (char_id_table): Likewise.
568         (make_char_id_table): Use `Fmake_char_table' and
569         `fill_char_table'.
570         (get_char_id_table): Use `Lisp_Char_Table' instead of
571         `Lisp_Char_ID_Table'.
572         (put_char_id_table): Likewise.
573         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
574         `XCHAR_ID_TABLE'.
575         (Fremove_char_attribute): Likewise.
576         (syms_of_chartab): Don't define type `char-id-table'.
577
578         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
579         (char_id_table): Likewise.
580         (GC_CHAR_ID_TABLE_P): Likewise.
581         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
582         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
583         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
584         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
585         (get_char_id_table): Use `Lisp_Char_Table' instead of
586         `Lisp_Char_ID_Table'.
587         (put_char_id_table_0): Likewise.
588         (put_char_id_table): Likewise.
589
590 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
591
592         * chartab.h: Lisp_Byte_Table related codes are moved from
593         chartab.h.
594
595         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
596
597 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
598
599         * chartab.h: Don't include "chartab.h".
600         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
601         (Lisp_Char_ID_Table): Likewise.
602         (char_id_table): Likewise.
603         (XCHAR_ID_TABLE): Likewise.
604         (XSETCHAR_ID_TABLE): Likewise.
605         (CHAR_ID_TABLE_P): Likewise.
606         (GC_CHAR_ID_TABLE_P): Likewise.
607         (get_char_id_table): Likewise.
608
609         * char-ucs.h: Include "chartab.h".
610         (struct Lisp_Char_ID_Table): Moved to chartab.h.
611         (Lisp_Char_ID_Table): Likewise.
612         (char_id_table): Likewise.
613         (XCHAR_ID_TABLE): Likewise.
614         (XSETCHAR_ID_TABLE): Likewise.
615         (CHAR_ID_TABLE_P): Likewise.
616         (GC_CHAR_ID_TABLE_P): Likewise.
617         (get_char_id_table): Likewise.
618
619 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
620
621         * chartab.c (copy_uint8_byte_table): New function.
622         (copy_uint16_byte_table): New function.
623         (copy_byte_table): New function.
624         (map_over_uint8_byte_table): Modify to avoid huge numbers of
625         characters to call.
626         (map_over_uint16_byte_table): Likewise.
627         (map_over_byte_table): Likewise.
628         (get_byte_table): Move prototype to chartab.h.
629         (put_byte_table): Likewise.
630         (put_char_id_table_0): Moved to chartab.h.
631         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
632         (char_table_entry_equal): Likewise.
633         (char_table_entry_hash): Likewise.
634         (char_table_entry_description): Likewise.
635         (char_table_entry): Likewise.
636         (make_char_table_entry): Likewise.
637         (copy_char_table_entry): Likewise.
638         (get_non_ascii_char_table_value): Likewise.
639         (map_over_charset_ascii): Likewise.
640         (map_over_charset_control_1): Likewise.
641         (map_over_charset_row): Likewise.
642         (map_over_other_charset): Likewise.
643         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
644         (print_char_table): Likewise.
645         (char_table_equal): Likewise.
646         (char_table_hash): Likewise.
647         (char_table_description): Likewise.
648         (fill_char_table): Likewise.
649         (Fcopy_char_table): Likewise.
650         (get_char_table): Likewise.
651         (Fget_range_char_table): Likewise.
652         (put_char_table): Likewise.
653         (map_char_table): Likewise.
654         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
655         UTF-2000.
656
657 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
660         `Vauto_fill_chars' in XEmacs UTF-2000.
661
662         * chartab.h (get_byte_table): New prototype [moved from
663         chartab.c].
664         (put_byte_table): Likewise [moved from chartab.c].
665         (put_char_id_table_0): New inline function [moved from chartab.c].
666         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
667         (Lisp_Char_Table_Entry): Likewise.
668         (char_table_entry): Likewise.
669         (XCHAR_TABLE_ENTRY): Likewise.
670         (XSETCHAR_TABLE_ENTRY): Likewise.
671         (CHAR_TABLE_ENTRYP): Likewise.
672         (CHECK_CHAR_TABLE_ENTRY): Likewise.
673         (NUM_ASCII_CHARS): Likewise.
674         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
675         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
676
677 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * chartab.c (get_char_id_table): Change interface.
680         (put_char_id_table_0): New function.
681         (put_char_id_table): Change interface; new implementation.
682         (Fget_composite_char): Modify for interface change of
683         `get_char_id_table'.
684         (Fchar_variants): Likewise.
685         (add_char_attribute_alist_mapper): Likewise.
686         (Fchar_attribute_alist): Likewise.
687         (Fget_char_attribute): Likewise.
688         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
689         as same as character as the first argument like `put-char-table';
690         modify for interface change of `put_char_id_table'.
691         (Fremove_char_attribute): Modify for interface change of
692         `put_char_id_table'.
693
694 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * text-coding.c: Sync up with XEmacs 21.2.41.
697         (COMPOSE_ADD_CHAR): Modify for interface change of
698         `get_char_id_table'.
699
700         * mule-charset.c (put_char_ccs_code_point): Modify for interface
701         change of `put_char_id_table'.
702         (remove_char_ccs): Likewise.
703
704         * chartab.h (put_char_id_table): Change interface.
705
706         * char-ucs.h (get_char_id_table): Change interface.
707         (charset_code_point): Modify for interface change of
708         `get_char_id_table'.
709         (encode_char_1): Likewise.
710
711 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
714         argument `ccs'.
715         (map_over_uint16_byte_table): Likewise.
716         (map_over_byte_table): Likewise.
717         (map_char_id_table): Add new argument `range' like
718         `map_char_table'.
719         (Fmap_char_attribute): Add new argument `range' like
720         `Fmap_char_table'.
721
722 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
723
724         * chartab.c (map_over_uint8_byte_table): Change interface of
725         mapping function to use struct chartab_range instead of Emchar.
726         (map_over_uint16_byte_table): Likewise.
727         (map_over_byte_table): Likewise.
728         (map_char_id_table): Likewise.
729         (struct slow_map_char_id_table_arg): Deleted.
730         (slow_map_char_id_table_fun): Deleted.
731         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
732         function `slow_map_char_table_fun' instead of struct
733         `slow_map_char_id_table_arg' and function
734         `slow_map_char_id_table_fun'.
735
736 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * mule-charset.c: Move char-it-table related codes to chartab.c.
739         (Vutf_2000_version): Moved to chartab.c.
740         (Fdefine_char): Likewise.
741         (Ffind_char): Likewise.
742         (syms_of_mule_charset): Move types `uint8-byte-table',
743         `uint16-byte-table', `byte-table' and `char-id-table' to
744         chartab.c; move functions `char_attribute_list,
745         `find_char_attribute_table, `char_attribute_alist,
746         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
747         `map_char_attribute, `define_char, `find_char, `char_variants and
748         `get_composite_char to chartab.c; move symbols `=>ucs',
749         `->decomposition', `compat', `isolated', `initial', `medial',
750         `final', `vertical', `noBreak', `fraction', `super', `sub',
751         `circle', `square', `wide', `narrow', `small' and `font' to
752         chartab.c.
753         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
754         setting codes for `Vcharacter_composition_table' and
755         `Vcharacter_variant_table' to chartab.c.
756         (complex_vars_of_mule_charset): Move setting code for
757         `Vchar_attribute_hash_table' to chartab.c.
758
759         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
760         (make_char_id_table): New prototype.
761         (put_char_id_table): Likewise.
762         (Fget_char_attribute): Likewise.
763
764         * chartab.c: Move char-id-table related code from mule-charset.c.
765         (Vutf_2000_version): Moved from mule-charset.c.
766
767         * char-ucs.h (Qucs): New external variable.
768         (put_char_ccs_code_point): New prototype.
769         (remove_char_ccs): Likewise.
770
771 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
772
773         * mule-charset.c (Vcharset_ucs_jis): New variable.
774         (Qucs_jis): Likewise.
775         (syms_of_mule_charset): Add new symbol `ucs-jis'.
776         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
777
778         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
779
780 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * mule-charset.c (map_over_uint8_byte_table): New function.
783         (map_over_uint16_byte_table): Likewise.
784         (map_over_byte_table): Likewise.
785         (map_char_id_table): Likewise.
786         (slow_map_char_id_table_fun): Likewise.
787         (Fmap_char_attribute): Likewise.
788         (syms_of_mule_charset): Add new function `map-char-attribute'.
789
790 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
793         (syms_of_mule_charset): Add new function `find-char'.
794
795 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
796
797         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
798         XEmacs UTF-2000.
799         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
800         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
801         XEmacs UTF-2000.
802         (complex_vars_of_mule_charset): Add new coded-charset
803         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
804         `ideograph-gt-pj-*'.
805
806         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
807
808 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
809
810         * mule-charset.c (encode_builtin_char_1): Purge codes about
811         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
812         {MIN|MAX}_CHAR_HEBREW.
813         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
814         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
815
816         * char-ucs.h (MIN_CHAR_GREEK): Purged.
817         (MAX_CHAR_GREEK): Purged.
818         (MIN_CHAR_CYRILLIC): Purged.
819         (MAX_CHAR_CYRILLIC): Purged.
820         (MIN_CHAR_HEBREW): Commented out.
821         (MAX_CHAR_HEBREW): Likewise.
822
823 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * mule-charset.c (Qto_ucs): New variable.
826         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
827         (Fdefine_char): Likewise.
828         (syms_of_mule_charset): Add new symbol `=>ucs'.
829
830 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
831
832         * mule-charset.c (Fdecode_char): Fixed.
833
834 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
837         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
838         "tcvn5712-1".
839
840 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
841
842         * mule-charset.c (Vcharset_ucs_big5): New variable.
843         (Qucs_big5): Likewise.
844         (syms_of_mule_charset): Add new symbol `ucs-big5'.
845         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
846
847         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
848
849 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
850
851         * mule-charset.c (decode_builtin_char): Check Big5 code range
852         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
853
854 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
855
856         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
857         (Qchinese_gb12345): Likewise.
858         (Fdecode_builtin_char): Fixed.
859         (syms_of_mule_charset): Add `chinese-gb12345'.
860         (complex_vars_of_mule_charset): Add coded-charset
861         `chinese-gb12345'.
862
863         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
864         (LEADING_BYTE_CHINESE_GB12345): New macro.
865
866 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
867
868         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
869         and `latin-viscii-upper' for `latin-viscii'.
870
871 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
872
873         * mule-charset.c (Fdecode_builtin_char): Comment out
874         regularization code for ISO-IR GR representation.
875
876 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
877
878         * mule-charset.c (decode_builtin_char): New function; renamed from
879         `make_builtin_char'; return -1 instead of signal.
880         (Fdecode_builtin_char): Use `decode_builtin_char'.
881
882         * char-ucs.h (decode_builtin_char): New prototype; renamed from
883         `make_builtin_char'.
884         (DECODE_CHAR): Use `decode_builtin_char' instead of
885         `make_builtin_char'; use mapping table of `chinese-big5' for
886         `chinese-big5-{1,2}'.
887
888 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * text-coding.c (char_encode_big5): New function.
891         (char_finish_big5): Likewise.
892         (reset_encoding_stream): Use `char_encode_big5' and
893         `char_finish_big5' for CODESYS_BIG5.
894         (mule_encode): Don't use `encode_coding_big5'.
895         (encode_coding_big5): Deleted.
896
897 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
898
899         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
900         0x81- in XEmacs UTF-2000.
901         (detect_coding_big5): Likewise.
902
903 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
904
905         * mule-charset.c (Fdefine_char): Don't use a CCS property to
906         generate character-id if the CCS property does not have
907         corresponding predefined character.
908         (make_builtin_char): Return -1 if corresponding predefined
909         character is not found.
910         (Fdecode_char): Return nil if corresponding character is not
911         found.
912         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
913         don't map to builtin ucs space.
914
915 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
916
917         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
918         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
919
920 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * mule-charset.c (Vcharset_ideograph_gt): New variable.
923         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
924         (Qideograph_gt): Likewise.
925         (Qideograph_gt_pj_{1..11}): Likewise.
926         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
927         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
928         `ideograph-gt-pj-11'.
929         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
930         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
931         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
932
933         * char-ucs.h (LEADING_BYTE_GT): New macro.
934         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
935         (MIN_CHAR_GT): Likewise.
936         (MAX_CHAR_GT): Likewise.
937
938 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
941         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
942
943         * doprnt.c (unsigned_int_converters): Add `c'.
944         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
945
946         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
947         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
948         `MIN_CHAR_MOJIKYO'.
949         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
950         (MAX_CHAR_MOJIKYO_0): New macro.
951         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
952
953 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
954
955         * mule-charset.c (Fdefine_char): Delete cemented out code.
956         (encode_builtin_char_1): Modify for new allocation of builtin
957         Mojikyo characters.
958
959         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
960
961 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * mule-charset.c (Vcharset_ucs_cns): New variable.
964         (Qucs_cns): New variable.
965         (syms_of_mule_charset): Add new symbol `ucs-cns'.
966         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
967
968 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
971
972 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
973
974         * search.c (search_buffer): Make `charset_base_code' as
975         character-id >> 6 to eliminate the corresponding last byte in
976         UTF-8 representation [I'm not sure it is right thing].
977         (boyer_moore): Likewise.
978
979 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
980
981         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
982         representation in MULE.
983
984 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
985
986         * text-coding.c (Fmake_coding_system): Use
987         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
988         `EXTERNAL_PROPERTY_LIST_LOOP'.
989
990 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * text-coding.c (decode_output_utf8_partial_char): New function.
993         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
994
995 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
996
997         * text-coding.c (decode_coding_utf8): Output original byte
998         sequence if it is broken; change order of conditions.
999
1000         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1001         of conditions.
1002
1003         * mb-multibyte.h (BYTE_ASCII_P):
1004         Use bit ops for char-signedness safety.
1005         (BYTE_C0_P): Use bit ops for char-signedness safety.
1006         (BYTE_C1_P): Use bit ops for char-signedness safety.
1007
1008         * character.h: (XCHAR_OR_CHAR_INT):
1009         Always use inline function.
1010         Remove redundant type checking assert() - XINT will abort quite
1011         nicely.
1012
1013 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1014
1015         * text-coding.c: (Fencode_shift_jis_char):
1016         (Fencode_big5_char):
1017         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1018         Replace 0 with '\0' when working with bytes.
1019         Replace initial "(" with "\(" in docstrings.
1020
1021         (Fmake_coding_system):
1022         When type is ccl and value is vector, register it with a proper
1023         symbol.  And checks whether the given ccl program is valid.
1024         (mule_decode): When calling ccl_driver, if src indicates
1025         NULL pointer, set an empty string instead.
1026         (mule_encode): Likewise.
1027
1028         (detect_eol_type):
1029         (detect_coding_sjis):
1030         (decode_coding_sjis):
1031         (detect_coding_big5):
1032         (decode_coding_big5):
1033         (detect_coding_ucs4):
1034         (decode_coding_ucs4):
1035         (detect_coding_utf8):
1036         (decode_coding_utf8):
1037         (detect_coding_iso2022):
1038         (decode_coding_iso2022):
1039         (decode_coding_no_conversion):
1040         (mule_decode):
1041         Make all detecting and decoding functions take an Extbyte * arg.
1042         (text_encode_generic):
1043         (encode_coding_big5):
1044         (encode_coding_no_conversion):
1045         (mule_encode):
1046         Make all encoding functions take a Bufbyte * arg.
1047         Use size_t instead of unsigned int for memory sizes.
1048         Only cast to unsigned char whenever dereferencing Extbyte *.
1049
1050         (struct lrecord_description fcd_description_1): Use countof.
1051         (complex_vars_of_file_coding):
1052         Use countof instead of sizeof.
1053         Use CHECK_NATNUM instead of CHECK_INT.
1054
1055 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1056
1057         * mule-charset.c (Fget_char_attribute): Add new optional argument
1058         `default-value'.
1059         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1060         (remove_char_ccs): Likewise.
1061
1062 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * text-coding.c (char_encode_shift_jis): New implementation in
1065         UTF-2000.
1066         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1067         ...)'.
1068
1069         * mule-charset.c (Vcharset_chinese_big5): New variable in
1070         UTF-2000.
1071         (Qchinese_big5): New variable in UTF-2000.
1072         (BIG5_SAME_ROW): New macro in UTF-2000.
1073         (make_builtin_char): Use builtin characters of
1074         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1075         characters of `Vcharset_chinese_big5'.
1076         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1077         (complex_vars_of_mule_charset): Add new coded-charset
1078         `chinese-big5' in UTF-2000.
1079
1080         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1081         (Vcharset_chinese_big5): New external variable declaration.
1082         (Vcharset_japanese_jisx0208_1990): Likewise.
1083
1084 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1085
1086         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1087         function.
1088         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1089
1090 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1091
1092         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1093         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1094         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1095         `mojikyo-pj-*'.
1096
1097 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1100
1101 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1102
1103         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1104         to 0.17.
1105
1106 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1107
1108         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1109         for `CHARSET_BY_ATTRIBUTES'.
1110         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1111         `CHARSET_BY_ATTRIBUTES'.
1112
1113         * text-coding.c (struct decoding_stream): Rename member `CH' to
1114         `CPOS'.
1115         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1116         (decode_coding_sjis): Likewise.
1117         (decode_coding_big5): Likewise.
1118         (decode_coding_ucs4): Likewise.
1119         (decode_coding_utf8): Likewise.
1120         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1121         `CHARSET_BY_ATTRIBUTES'.
1122         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1123         `str->counter'; decode 3, 4 bytes sets.
1124         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1125         sets.
1126         (decode_coding_no_conversion): Use `str->cpos' instead of
1127         `str->ch'.
1128
1129         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1130         (Qmojikyo_2022_1): New variable.
1131         (make_charset): Don't use `CHARSET_TYPE_*'.
1132         (range_charset_code_point): Support coded-charset
1133         `mojikyo-2022-1'.
1134         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1135         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1136         `CHARSET_BY_ATTRIBUTES'.
1137         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1138         `CHARSET_BY_ATTRIBUTES'.
1139         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1140         (complex_vars_of_mule_charset): Add new coded-charset
1141         `mojikyo-2022-1'.
1142
1143         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1144         interface; changed to inline function.
1145
1146         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1147         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1148         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1149         (CHARSET_TYPE_94): Deleted.
1150         (CHARSET_TYPE_94X94): Deleted.
1151         (CHARSET_TYPE_96): Deleted.
1152         (CHARSET_TYPE_96X96): Deleted.
1153         (CHARSET_TYPE_128): Deleted.
1154         (CHARSET_TYPE_128X128): Deleted.
1155         (CHARSET_TYPE_256): Deleted.
1156         (CHARSET_TYPE_256X256): Deleted.
1157         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1158         to inline function.
1159         (DECODE_MOJIKYO_2022): New inline function.
1160         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1161         `Vcharset_mojikyo_2022_1'.
1162
1163 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1164
1165         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1166         instead of `EQ'.
1167         (put_byte_table): Likewise.
1168         (char_id_table_equal): Use `get_byte_table' [new implementation].
1169
1170 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1171
1172         * mule-charset.c: Include <limits.h> in UTF-2000.
1173         (BT_UINT8_MIN): New macro in UTF-2000.
1174         (BT_UINT8_MAX): New macro in UTF-2000.
1175         (BT_UINT8_t): New macro in UTF-2000.
1176         (BT_UINT8_nil): New macro in UTF-2000.
1177         (BT_UINT8_unbound): New macro in UTF-2000.
1178         (INT_UINT8_P): New inline function in UTF-2000.
1179         (UINT8_VALUE_P): New inline function in UTF-2000.
1180         (UINT8_ENCODE): New inline function in UTF-2000.
1181         (UINT8_DECODE): New inline function in UTF-2000.
1182         (mark_uint8_byte_table): New function in UTF-2000.
1183         (print_uint8_byte_table): New function in UTF-2000.
1184         (uint8_byte_table_equal): New function in UTF-2000.
1185         (uint8_byte_table_hash): New function in UTF-2000.
1186         (make_uint8_byte_table): New function in UTF-2000.
1187         (uint8_byte_table_same_value_p): New function in UTF-2000.
1188         (BT_UINT16_MIN): New macro in UTF-2000.
1189         (BT_UINT16_MAX): New macro in UTF-2000.
1190         (BT_UINT16_t): New macro in UTF-2000.
1191         (BT_UINT16_nil): New macro in UTF-2000.
1192         (BT_UINT16_unbound): New macro in UTF-2000.
1193         (INT_UINT16_P): New inline function in UTF-2000.
1194         (UINT16_VALUE_P): New inline function in UTF-2000.
1195         (UINT16_ENCODE): New inline function in UTF-2000.
1196         (UINT16_DECODE): New inline function in UTF-2000.
1197         (UINT8_TO_UINT16): New inline function in UTF-2000.
1198         (mark_uint16_byte_table): New function in UTF-2000.
1199         (print_uint16_byte_table): New function in UTF-2000.
1200         (uint16_byte_table_equal): New function in UTF-2000.
1201         (uint16_byte_table_hash): New function in UTF-2000.
1202         (make_uint16_byte_table): New function in UTF-2000.
1203         (uint16_byte_table_same_value_p): New function in UTF-2000.
1204         (print_byte_table): New function in UTF-2000.
1205         (byte-table): Use `print_byte_table' as printer.
1206         (make_byte_table): Delete second argument `older'.
1207         (byte_table_same_value_p): New function in UTF-2000.
1208         (copy_byte_table): Deleted.
1209         (get_byte_table): New function in UTF-2000.
1210         (put_byte_table): New function in UTF-2000.
1211         (print_char_id_table): New function in UTF-2000.
1212         (char-id-table): Use `print_char_id_table' as printer.
1213         (make_char_id_table): Delete second argument `older'.
1214         (get_char_id_table): Use `get_byte_table [new implementation].
1215         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1216         implementation].
1217         (Ffind_char_attribute_table): New function in UTF-2000.
1218         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1219         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1220         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1221         (syms_of_mule_charset): Add new function
1222         `find-char-attribute-table' in UTF-2000.
1223
1224         * lrecord.h (enum lrecord_type): Add
1225         `lrecord_type_uint16_byte_table' and
1226         `lrecord_type_uint8_byte_table'.
1227
1228         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1229         (Lisp_Uint8_Byte_Table): New type.
1230         (XUINT8_BYTE_TABLE): New macro.
1231         (XSETUINT8_BYTE_TABLE): New macro.
1232         (UINT8_BYTE_TABLE_P): New macro.
1233         (GC_UINT8_BYTE_TABLE_P): New macro.
1234         (struct Lisp_Uint16_Byte_Table): New structure.
1235         (Lisp_Uint16_Byte_Table): New type.
1236         (XUINT16_BYTE_TABLE): New macro.
1237         (XSETUINT16_BYTE_TABLE): New macro.
1238         (UINT16_BYTE_TABLE_P): New macro.
1239         (GC_UINT16_BYTE_TABLE_P): New macro.
1240
1241 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1242
1243         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1244         (Vcharacter_ideographic_strokes_table): Deleted.
1245         (Vcharacter_total_strokes_table): Deleted.
1246         (Vcharacter_morohashi_daikanwa_table): Deleted.
1247         (Vcharacter_decomposition_table): Deleted.
1248         (Qname): Deleted because it is duplicated.
1249         (Qideographic_radical): Deleted.
1250         (Qideographic_strokes): Deleted.
1251         (Qtotal_strokes): Deleted.
1252         (Qmorohashi_daikanwa): Deleted.
1253         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1254         `ideographic-radical', `ideographic-strokes', `total-strokes',
1255         `morohashi-daikanwa' and `->decomposition'.
1256         (Fget_char_attribute): Likewise.
1257         (Fput_char_attribute): Likewise; use `make-vector' instead of
1258         `make_older_vector' for `->decomposition' value.
1259         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1260         `ideograph-daikanwa'.
1261         (syms_of_mule_charset): Delete builtin symbols `name',
1262         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1263         `morohashi-daikanwa'.
1264         (vars_of_mule_charset): Don't setup
1265         `Vcharacter_ideographic_radical_table',
1266         `Vcharacter_ideographic_strokes_table',
1267         `Vcharacter_total_strokes_table',
1268         `Vcharacter_morohashi_daikanwa_table' and
1269         `Vcharacter_decomposition_table'.
1270
1271 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1274         `make_older_vector', `make_vector_newer_1' and
1275         `make_vector_newer'.
1276
1277         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1278         `make_older_vector' and `make_vector_newer'.
1279
1280         * config.h.in (HAVE_GGC): New macro.
1281
1282 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * mule-charset.c (struct char_attribute_list_closure): New
1285         structure in UTF-2000.
1286         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1287         (Fchar_attribute_list): Likewise.
1288         (Fset_charset_mapping_table): Use `make_vector_newer'.
1289         (Fdecode_builtin_char): New function in UTF-2000.
1290         (syms_of_mule_charset): Add new function `char-attribute-list' and
1291         `decode-builtin-char' in UTF-2000.
1292
1293         * lisp.h (make_vector_newer): New prototype.
1294
1295         * alloc.c (make_vector_newer_1): New function.
1296         (make_vector_newer): New function.
1297
1298 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1299
1300         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1301         50100)'.
1302
1303 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1304
1305         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1306         (Vcharacter_attribute_table): Deleted.
1307         (Vcharacter_name_table): Deleted.
1308         (put_char_attribute): Deleted.
1309         (remove_char_attribute): Deleted.
1310         (struct char_attribute_alist_closure): New structure.
1311         (add_char_attribute_alist_mapper): New function.
1312         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1313         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1314         (Fget_char_attribute): Likewise.
1315         (Fput_char_attribute): Likewise.
1316         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1317         of `remove_char_attribute'.
1318         (Fdefine_char): Return character.
1319         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1320         and `Vcharacter_name_table'.
1321         (complex_vars_of_mule_charset): Likewise
1322         `Vchar_attribute_hash_table'.
1323
1324 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * character.h (CHARC_CHARSET): New macro.
1327         (CHARC_CHARSET_ID): New macro.
1328         (CHARC_CODE_POINT): New macro.
1329         (CHARC_COLUMNS): New macro.
1330         (CHARC_TO_CHAR): New inline function.
1331         (CHARC_EQ): New inline function.
1332         (CHARC_ASCII_EQ): New inline function.
1333         (CHARC_IS_SPACE): New inline function.
1334         (ASCII_TO_CHARC): New inline function.
1335
1336         * char-ucs.h (encode_char_2): Deleted.
1337         (ENCODE_CHAR): Use `encode_char_1' again.
1338         (breakup_char_1): Likewise.
1339         (CHAR_TO_CHARC): New inline function.
1340
1341         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1342
1343 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1344
1345         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1346         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1347         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1348         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1349         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1350         `CHARC_IS_SPACE'.
1351         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1352
1353         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1354         `CHARC_CODE_POINT'.
1355         (x_output_display_block): Use `CHARC_CHARSET' and
1356         `CHARC_ASCII_EQ'.
1357
1358         * redisplay-tty.c (tty_output_display_block): Use
1359         `CHARC_ASCII_EQ'.
1360         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1361
1362         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1363
1364         * insdel.c (find_charsets_in_charc_string): Use
1365         `CHARC_CHARSET_ID'.
1366         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1367         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1368         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1369         (convert_charc_string_into_malloced_string): Likewise.
1370
1371 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1372
1373         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1374         instead of <Emchar_dynarr *> for buf; use
1375         `convert_bufbyte_string_into_charc_dynarr' instead of
1376         `convert_bufbyte_string_into_emchar_dynarr'; use
1377         `find_charsets_in_charc_string' instead of
1378         `find_charsets_in_emchar_string'.
1379
1380         * redisplay.h:
1381         - Include "character.h".
1382         (struct rune): New member `cglyph'; delete member `chr'.
1383
1384         * redisplay.c (redisplay_text_width_charc_string): New function;
1385         delete `redisplay_text_width_emchar_string'.
1386         (rtw_charc_dynarr): New variable; renamed from
1387         `rtw_emchar_dynarr'.
1388         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1389         `rtw_emchar_dynarr'; use
1390         `convert_bufbyte_string_into_charc_dynarr' instead of
1391         `convert_bufbyte_string_into_emchar_dynarr'; use
1392         `redisplay_text_width_charc_string' instead of
1393         `redisplay_text_width_emchar_string'.
1394         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1395         instead of `rtw_emchar_dynarr'; use
1396         `convert_bufbyte_string_into_charc_dynarr' instead of
1397         `convert_bufbyte_string_into_emchar_dynarr'.
1398         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1399         `redisplay_text_width_charc_string' instead of
1400         `redisplay_text_width_emchar_string'.
1401         (create_text_block): Modify for <struct rune> change.
1402         (generate_formatted_string_db): Likewise.
1403         (create_string_text_block): Likewise.
1404         (pixel_to_glyph_translation): Likewise.
1405
1406         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1407         instead of <const Emchar *>.
1408         (x_text_width): Likewise.
1409         (x_output_display_block): Use <Charc_dynarr *> instead
1410         <Emchar_dynarr *>; modify for <structure rune> change.
1411         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1412         *>.
1413
1414         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1415         <const Emchar *>; use `charc_string_displayed_columns' instead of
1416         `emchar_string_displayed_columns'.
1417         (tty_output_display_block): Use <Charc_dynarr *> instead of
1418         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1419         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1420         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1421         `tty_output_emchar_dynarr_dynarr'.
1422         (tty_output_charc_dynarr): New function; delete
1423         `tty_output_charc_dynarr'.
1424
1425         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1426         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1427         <Emchar_dynarr *> for buf; use
1428         `convert_bufbyte_string_into_charc_dynarr' instead of
1429         `convert_bufbyte_string_into_emchar_dynarr'.
1430
1431         * frame.c (title_string_charc_dynarr): New variable; renamed from
1432         `title_string_emchar_dynarr'.
1433         (generate_title_string): Use `title_string_charc_dynarr' instead
1434         of `title_string_emchar_dynarr'; use
1435         `convert_charc_string_into_malloced_string' instead of
1436         `convert_emchar_string_into_malloced_string'.
1437         (init_frame): Use `title_string_charc_dynarr' instead of
1438         `title_string_emchar_dynarr'.
1439
1440         * console.h:
1441         - Include "character.h".
1442         (struct console_methods): Use <const Charc *> instead of <const
1443         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1444         <Emchar_dynarr *> in output_string_method.
1445
1446         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1447         <Emchar_dynarr *>.
1448
1449         * console-stream.c (stream_text_width): Use <const Charc *>
1450         instead of <const Emchar *>.
1451
1452         * character.h (Charc_dynarr): New type.
1453
1454         * char-ucs.h (structure Charc): New structure; define new type
1455         `Charc'.
1456
1457         * char-lb.h (DECODE_CHAR): New inline function.
1458         (encode_char_1): New inline function.
1459         (ENCODE_CHAR): New macro.
1460         (structure Charc): New structure; define new type `Charc'.
1461
1462         * char-1byte.h (Vcharset_control_1): New macro.
1463         (Vcharset_latin_iso8859_1): New macro.
1464         (DECODE_CHAR): New inline function.
1465         (encode_char_1): New inline function.
1466         (ENCODE_CHAR): New macro.
1467         (structure Charc): New structure; define new type `Charc'.
1468
1469         * insdel.c (find_charsets_in_charc_string): New function; delete
1470         `find_charsets_in_emchar_string'.
1471         (charc_string_displayed_columns): New function; delete
1472         `emchar_string_displayed_columns'.
1473         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1474         `convert_bufbyte_string_into_emchar_dynarr'.
1475         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1476         `convert_charc_string_into_bufbyte_dynarr'.
1477         (convert_charc_string_into_malloced_string): New function; delete
1478         `convert_charc_string_into_malloced_string'.
1479
1480         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1481         `find_charsets_in_emchar_string'.
1482         (charc_string_displayed_columns): New prototype; delete
1483         `emchar_string_displayed_columns'.
1484         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1485         `convert_charc_string_into_bufbyte_dynarr'.
1486         (convert_charc_string_into_malloced_string): New prototype; delete
1487         `convert_charc_string_into_malloced_string'.
1488
1489 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1490
1491         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1492
1493 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1496
1497         * char-ucs.h: Use <short> for <Charset_ID>.
1498
1499         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1500         <Charset_ID>.
1501
1502 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1503
1504         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1505         to 0.16.
1506
1507 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1510         variable.
1511         (Qmorohashi_daikanwa): New variable.
1512         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1513         for `morohashi-daikanwa' attribute.
1514         (Fget_char_attribute): Likewise.
1515         (Fput_char_attribute): Likewise.
1516         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1517         has the same value of `ideograph-daikanwa'.
1518         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1519         (vars_of_mule_charset): Setup
1520         `Vcharacter_morohashi_daikanwa_table'.
1521
1522 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1523
1524         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1525         attributes.
1526         (add_charset_to_list_mapper): Add `key' instead of
1527         `XCHARSET_NAME (value)' to return aliases.
1528
1529 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1530
1531         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1532         variable.
1533         (Vcharacter_ideographic_strokes_table): New variable.
1534         (Qideographic_radical): New variable.
1535         (Qideographic_strokes): New variable.
1536         (Fchar_attribute_alist): Use
1537         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1538         attribute; use `Vcharacter_ideographic_strokes_table' for
1539         `ideographic-strokes' attribute.
1540         (Fget_char_attribute): Likewise.
1541         (Fput_char_attribute): Likewise.
1542         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1543         `ideographic-strokes'.
1544         (vars_of_mule_charset): Setup
1545         `Vcharacter_ideographic_radical_table' and
1546         `Vcharacter_ideographic_strokes_table'.
1547
1548 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1549
1550         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1551         (Qtotal_strokes): New variable.
1552         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1553         `total-strokes' attribute.
1554         (Fget_char_attribute): Likewise.
1555         (Fput_char_attribute): Likewise.
1556         (syms_of_mule_charset): Add new symbol `total-strokes'.
1557         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1558
1559 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1560
1561         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1562         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1563         are found.
1564         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1565         `->decomposition' attribute.
1566         (Fput_char_attribute): Likewise.
1567         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1568
1569 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * mule-charset.c (decoding_table_check_elements): New function.
1572         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1573
1574 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * mule-charset.c (Fset_charset_mapping_table): Use
1577         `put_char_ccs_code_point'.
1578
1579 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1580
1581         * mule-charset.c (decoding_table_put_char): New inline function.
1582         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1583
1584 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1585
1586         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1587         (XCHARSET_BYTE_SIZE): New macro.
1588         (decoding_table_remove_char): New inline function.
1589         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1590         `decoding_table_remove_char'.
1591         (remove_char_ccs): Use `decoding_table_remove_char'.
1592         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1593
1594 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1595
1596         * mule-charset.c (Vcharacter_name_table): New variable.
1597         (Qname): New variable.
1598         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1599         attribute.
1600         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1601         `Vcharacter_name_table' for `name' attribute.
1602         (Fremove_char_attribute): Use function `remove_char_ccs'.
1603         (put_char_ccs_code_point): New function.
1604         (remove_char_ccs): New function.
1605         (syms_of_mule_charset): Add new symbol `name'.
1606         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1607
1608 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1609
1610         * mule-charset.c (make_byte_table): Add new argument `older'.
1611         (make_char_id_table): Likewise.
1612         (copy_char_id_table): Comment out because it is not used.
1613         (put_char_id_table): Modify for `make_byte_table'.
1614         (Fput_char_attribute): Make encoding_table as older object;
1615         inherit older bit of `Vcharacter_composition_table'.
1616         (mark_charset): Don't mark `cs->encoding_table'.
1617         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1618         normal object; make `Vcharacter_composition_table' as an older
1619         object; delete staticpro for `Vcharacter_composition_table'; make
1620         `Vcharacter_variant_table' as a normal object.
1621
1622         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1623         (mark_object): Don't check older object in UTF-2000.
1624
1625         * lrecord.h (struct lrecord_header): Add new member `older' in
1626         UTF-2000.
1627         (set_lheader_implementation): Setup `SLI_header->older' in
1628         UTF-2000.
1629         (set_lheader_older_implementation): New macro in UTF-2000.
1630         (OLDER_RECORD_P): New macro in UTF-2000.
1631         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1632         (alloc_older_lcrecord): New prototype in UTF-2000.
1633         (alloc_older_lcrecord_type): New macro in UTF-2000.
1634
1635 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1636
1637         * mule-charset.c (byte_table_description): Use
1638         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1639         (char_id_table_description): Delete bogus `, 1'.
1640         (Fget_char_attribute): Refer encoding_table of each coded-charset
1641         to get value of coded-charset attribute of a character.
1642         (Fput_char_attribute): Use `make_older_vector' instead of
1643         `make_vector'; use encoding_table of each coded-charset to store
1644         value of coded-charset attribute of a character.
1645         (Fremove_char_attribute): Use encoding_table of each coded-charset
1646         to store value of coded-charset attribute of a character.
1647         (mark_charset): Mark `cs->encoding_table'; don't mark
1648         `cs->decoding_table'.
1649         (charset_description): Add description of new member
1650         `encoding_table'.
1651         (make_charset): Initialize `encoding_table'.
1652
1653         * char-ucs.h (struct Lisp_Charset): Add new member
1654         `encoding_table'.
1655         (CHARSET_ENCODING_TABLE): New macro.
1656         (XCHARSET_ENCODING_TABLE): New macro.
1657         (charset_code_point): New implementation.
1658         (encode_char_1): Likewise.
1659
1660         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1661         (disksave_object_finalization_1): Call finalizers of
1662         `all_older_lcrecords' in UTF-2000.
1663         (make_older_vector): New function in UTF-2000.
1664         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1665         UTF-2000.
1666
1667         * lisp.h (make_older_vector): New prototype in UTF-2000.
1668
1669 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1670
1671         * lrecord.h (enum lrecord_type): Rename
1672         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1673
1674         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1675         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1676         `get_char_code_table'.
1677
1678         * mule-charset.c (mark_char_id_table): Renamed from
1679         `mark_char_code_table'.
1680         (char_id_table_equal): Renamed from `char_code_table_equal'.
1681         (char_id_table_hash): Renamed from `char_code_table_hash'.
1682         (make_char_id_table): Renamed from `make_char_code_table'.
1683         (copy_char_id_table): Renamed from `copy_char_code_table'.
1684         (get_char_id_table): Renamed from `get_char_code_table'.
1685         (put_char_id_table): Renamed from `put_char_code_table'.
1686         (to_char_id): Renamed from `to_char_code'.
1687
1688         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1689         `Lisp_Char_Code_Table'.
1690         (char_id_table): Renamed from `char_code_table'.
1691         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1692         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1693         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1694         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1695         (get_char_id_table): Renamed from `get_char_code_table'.
1696
1697 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1698
1699         * lrecord.h (enum lrecord_type): Rename
1700         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1701
1702         * mule-charset.c (mark_byte_table): Renamed from
1703         `mark_char_byte_table'.
1704         (byte_table_equal): Renamed from `char_byte_table_equal'.
1705         (byte_table_hash): Renamed from `byte_table_hash'.
1706         (make_byte_table): Renamed from `make_byte_table'.
1707         (copy_byte_table): Renamed from `copy_char_byte_table'.
1708
1709         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1710         `Lisp_Char_Byte_Table'.
1711         (byte_table): Renamed from `char_byte_table'.
1712         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1713         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1714         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1715         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1716
1717 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1718
1719         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1720         (dfc_convert_to_internal_format): Likewise.
1721         
1722         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1723         * text-coding.c (Fcoding_system_alias_p): New function.
1724         * text-coding.c (Fcoding_system_aliasee): New function.
1725         * text-coding.c (append_suffix_to_symbol): New function.
1726         * text-coding.c (dangling_coding_system_alias_p): New function.
1727         * text-coding.c (Ffind_coding_system):
1728         * text-coding.c (Fcopy_coding_system):
1729         * text-coding.c (encode_coding_no_conversion):
1730         * text-coding.c (syms_of_file_coding):
1731         * text-coding.c (vars_of_file_coding):
1732         Rewrite coding system alias code.
1733         Allow nested aliases, like symbolic links.
1734         Allow redefinition of coding system aliases.
1735         Prevent existence of dangling coding system aliases.
1736         Eliminate convert_to_external_format.
1737         Eliminate convert_to_internal_format.
1738         
1739         * text-coding.c: Change enum eol_type to eol_type_t.
1740
1741 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1742
1743         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1744         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1745
1746         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1747         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1748
1749 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1750
1751         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1752         `ideograph-daikanwa'.
1753
1754         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1755         (Vcharset_ucs_bmp): Likewise.
1756         (Vcharset_mojikyo): Add new extern variable definition.
1757         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1758         (Vcharset_latin_iso8859_3): Likewise.
1759         (Vcharset_latin_iso8859_4): Likewise.
1760         (Vcharset_latin_iso8859_9): Likewise.
1761         (Vcharset_latin_viscii_lower): Likewise.
1762         (Vcharset_latin_viscii_upper): Likewise.
1763         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1764         `mojikyo' code-point is used to decode.
1765         (encode_char_2): New function [to convert `mojikyo' code-point to
1766         Mojikyo font encoding].
1767         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1768         (breakup_char_1): Likewise.
1769         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1770
1771 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1772
1773         * text-coding.c (Fmake_coding_system): Add document about
1774         `disable-composition' property.
1775
1776 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1777
1778         * text-coding.c (Qdisable_composition): New variable; delete
1779         `Qcomposite'.
1780         (Fmake_coding_system): Add new property `disable-composite';
1781         delete property `composite'.
1782         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1783         instead of `!CODING_SYSTEM_COMPOSITE'.
1784         (syms_of_file_coding): Add new symbol `disable-composition';
1785         delete symbol `composite'.
1786
1787         * file-coding.h (struct Lisp_Coding_System): Add
1788         `disable_composition'; delete `enable_composition'.
1789         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1790         `CODING_SYSTEM_COMPOSITE'.
1791         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1792         `XCODING_SYSTEM_COMPOSITE'.
1793
1794 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1795
1796         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1797         to 0.15.
1798
1799 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1800
1801         * text-coding.c (Qcomposite): New variable.
1802         (Fmake_coding_system): Add new property `composite'.
1803         (struct decoding_stream): Add `combined_char_count',
1804         `combined_chars' and `combining_table' in UTF-2000.
1805         (COMPOSE_FLUSH_CHARS): New macro.
1806         (COMPOSE_ADD_CHAR): New macro.
1807         (reset_decoding_stream): Reset `str->combined_char_count' and
1808         `str->combining_table' in UTF-2000.
1809         (decode_coding_iso2022): Modify for character-decomposition.
1810         (syms_of_file_coding): Add new symbol `composite'.
1811
1812 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1813
1814         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1815         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1816         of `Vcharacter_composition_table' if `->decomposition' property
1817         has only 1 element.
1818         (Qlatin_tcvn5712): New variable.
1819         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1820         (complex_vars_of_mule_charset): Add new coded-charset
1821         `latin-tcvn5712'.
1822
1823         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1824
1825 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1826
1827         * file-coding.h (struct Lisp_Coding_System): Add
1828         `enable_composition'.
1829         (CODING_SYSTEM_COMPOSITE): New macro.
1830         (XCODING_SYSTEM_COMPOSITE): New macro.
1831
1832 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1833
1834         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1835
1836 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1837
1838         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1839         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1840
1841 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1842
1843         * mule-charset.c (Vcharset_mojikyo): New variable.
1844         (Fdefine_char): Don't use coded-charset which does not have
1845         non-builtin character range to allocate character-id.
1846         (Qmojikyo): New variable.
1847         (syms_of_mule_charset): Add new symbol `mojikyo'.
1848         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1849
1850         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1851         (LEADING_BYTE_MOJIKYO): New macro.
1852         (MIN_CHAR_MOJIKYO): New macro.
1853         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1854         (MAX_CHAR_MOJIKYO): New macro.
1855
1856 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1857
1858         * mule-charset.c (remove_char_attribute): Fixed.
1859
1860 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1861
1862         * mule-charset.c (remove_char_attribute): New function.
1863         (Fremove_char_attribute): New function.
1864         (encode_builtin_char_1): Comment out builtin-support for
1865         greek-iso8859-7 and cyrillic-iso8859-5.
1866         (Fdecode_char): Check `code' is an integer.
1867         (syms_of_mule_charset): Add `remove-char-attribute'.
1868         (MIN_CHAR_GREEK): Deleted.
1869         (MAX_CHAR_GREEK): Likewise.
1870         (MIN_CHAR_CYRILLIC): Likewise.
1871         (MAX_CHAR_CYRILLIC): Likewise.
1872         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1873         MAX_CHAR_GREEK for `greek-iso8859-7'.
1874
1875         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1876         (MAX_CHAR_GREEK): Likewise.
1877         (MIN_CHAR_CYRILLIC): Likewise.
1878         (MAX_CHAR_CYRILLIC): Likewise.
1879
1880 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1881
1882         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1883         format is used without `ucs' property.
1884         (Fdecode_char): Fix problem with GR representation.
1885         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1886         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1887
1888 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1889
1890         * mule-charset.c (make_builtin_char): New function.
1891         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1892         (Fset_charset_mapping_table): Modify for new representation of
1893         code-point.
1894         (Fdecode_char): New function.
1895         (syms_of_mule_charset): Add new builtin function `decode-char' in
1896         UTF-2000.
1897
1898         * char-ucs.h (make_builtin_char): New prototype.
1899         (DECODE_CHAR): New inline function.
1900         (MAKE_CHAR): Use `DECODE_CHAR'.
1901
1902 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1903
1904         * text-coding.c (parse_charset_conversion_specs): Use
1905         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1906         `XCHARSET_TYPE'.
1907         (iso2022_designate): Likewise.
1908
1909         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1910         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1911
1912         * mule-charset.c (Vcharset_ucs): New variable.
1913         (print_charset): Change design; use `CHARSET_CHARS' and
1914         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1915         (make_charset): Change signature to specify `chars' and
1916         `dimension' instead of `type'.
1917         (range_charset_code_point): Modify for 256^n-set.
1918         (encode_builtin_char_1): Encode as `ucs' in default.
1919         (Fmake_charset): Modify for `make_charset'.
1920         (Fmake_reverse_direction_charset): Likewise.
1921         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1922         UTF-2000.
1923         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1924         for `make_charset'.
1925
1926         * char-ucs.h (Vcharset_ucs): New variable.
1927         (LEADING_BYTE_UCS): New macro.
1928         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1929         and `chars' to `unsigned short' from `unsigned int'.
1930         (CHARSET_TYPE): Deleted.
1931         (XCHARSET_TYPE): Deleted.
1932
1933 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1934
1935         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1936
1937         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1938         (ENCODE_CHAR): New macro.
1939
1940 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1941
1942         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1943         to 0.14 (Kawachi-Katakami).
1944
1945 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1946
1947         * text-coding.c (char_encode_shift_jis): Modify for
1948         `charset_code_point'.
1949         (char_encode_iso2022): Likewise.
1950
1951         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1952         (integer) instead of list of <Lisp_Object>s (integers) as the
1953         format of code-point of a coded-charset.
1954         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1955         (encode_builtin_char_1): New function; delete
1956         `split_builtin_char'.
1957         (charset_code_point): Return <int> instead of <Lisp_Object>.
1958         (Fsplit_char): Don't use `SPLIT_CHAR'.
1959
1960         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1961         prototype for `split_builtin_char'.
1962         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1963         (charset_code_point): Likewise.
1964         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1965         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1966
1967 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1968
1969         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1970         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1971
1972 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1973
1974         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1975
1976         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1977         (MAX_CHAR_OBS_94x94): Deleted.
1978
1979 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1980
1981         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1982
1983         * char-ucs.h (MAX_CHAR_BMP): New macro.
1984
1985 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1986
1987         * text-coding.c: Sync with r21-2-24.
1988
1989 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1990
1991         * file-coding.c: Modify for UTF-2000.
1992
1993 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1994
1995         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1996         to 0.13 (Takaida).
1997
1998 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1999
2000         * mule-charset.c (split_builtin_char): Delete builtin support for
2001         `katakana-jisx0201'.
2002         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2003         BMP area in builtin representation.
2004
2005         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2006         `Vcharset_katakana_jisx0201'.
2007
2008 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2009
2010         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2011         (Qisolated): New variable.
2012         (Qinitial): New variable.
2013         (Qmedial): New variable.
2014         (Qfinal): New variable.
2015         (Qvertical): New variable.
2016         (Qsmall): New variable.
2017         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2018         `Qvertical' and `Qsmall'.
2019         (Qmojikyo_pj_[1 .. 21]): New variable.
2020         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2021         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2022         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2023         .. 21]'.
2024
2025 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2026
2027         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2028         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2029         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2030
2031 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2032
2033         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2034         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2035         BMP.
2036         (Qjapanese_jisx0208_1990): New variable.
2037         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2038         (complex_vars_of_mule_charset): Add new coded-charset
2039         `japanese-jisx0208-1990'.
2040
2041         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2042         (MIN_CHAR_JIS_X0208_1990): New macro.
2043         (MAX_CHAR_JIS_X0208_1990): New macro.
2044
2045 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2046
2047         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2048         coded-charset is not found.
2049
2050 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2051
2052         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2053         (Fdefine_char): Use `Fmake_char'.
2054
2055 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2056
2057         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2058         (Vcharset_hiragana_jisx0208): Deleted.
2059         (Vcharset_katakana_jisx0208): Deleted.
2060         (Qideograph_daikanwa): New variable.
2061         (Qhiragana_jisx0208): Deleted.
2062         (Qkatakana_jisx0208): Deleted.
2063         (split_builtin_char): Split `ideograph-daikanwa'.
2064         (Fsplit_char): New implementation for UTF-2000.
2065         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2066         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2067         (complex_vars_of_mule_charset): Add new coded-charset
2068         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2069         `katakana-jisx0208'.
2070
2071         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2072         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2073         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2074         (MIN_CHAR_DAIKANWA): New macro.
2075         (MAX_CHAR_DAIKANWA): New macro.
2076
2077 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2078
2079         * data.c (Fstring_to_number): Don't recognize floating point if
2080         base is not 10.
2081
2082 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2083
2084         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2085
2086 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2087
2088         * mule-charset.c (Qsquare): New variable.
2089         (to_char_code): Add `Qsquare'.
2090         (syms_of_mule_charset): Add new symbol `square'.
2091
2092 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2093
2094         * mule-charset.c (Qcircle): New variable.
2095         (to_char_code): Add `Qcircle'.
2096         (syms_of_mule_charset): Add new symbol `circle'.
2097
2098 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2099
2100         * mule-charset.c (Qfont): New variable.
2101         (to_char_code): Add `Qfont'.
2102         (syms_of_mule_charset): Add new symbol `font'.
2103
2104 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2105
2106         * mule-charset.c (Qsub): New variable.
2107         (to_char_code): Add `Qsub'.
2108         (syms_of_mule_charset): Add new symbol `sub'.
2109
2110 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2111
2112         * mule-charset.c (Fput_char_attribute): Convert each element of
2113         VALUE to GL position if ATTRIBUTE is a GR-set,
2114
2115 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2116
2117         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2118         coded-charset is a GR-set.
2119
2120 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2121
2122         * mule-charset.c (Fput_char_attribute): Check each element of
2123         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2124
2125 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2126
2127         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2128         UTF-2000.
2129         (Qethiopic_ucs): New variable in UTF-2000.
2130         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2131         (complex_vars_of_mule_charset): Add new coded-charset
2132         `ethiopic-ucs' in UTF-2000.
2133
2134         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2135         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2136         9)'.
2137         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2138         10)'.
2139         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2140
2141 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2142
2143         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2144         `ascii'.
2145
2146 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2147
2148         * mule-charset.c (Vcharacter_variant_table): New variable.
2149         (Q_ucs): New variable.
2150         (Fchar_variants): New function.
2151         (Fput_char_attribute): Register `->ucs' value to
2152         `Vcharacter_variant_table'.
2153         (syms_of_mule_charset): Add new function `char-variants' and new
2154         symbol `->ucs'.
2155         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2156
2157 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2158
2159         * mule-charset.c (get_char_code_table): Allow negative character
2160         code.
2161         (put_char_code_table): Likewise.
2162         (Vcharacter_composition_table): New variable.
2163         (Q_decomposition): New variable.
2164         (Qwide): New variable.
2165         (Qnarrow): New variable.
2166         (Qcompat): New variable.
2167         (QnoBreak): New variable.
2168         (Qsuper): New variable.
2169         (Qfraction): New variable.
2170         (to_char_code): New function.
2171         (Fget_composite_char): New function.
2172         (Fput_char_attribute): Register `->decomposition' value to
2173         `Vcharacter_composition_table'.
2174         (syms_of_mule_charset): Add new function `get-composite-char', new
2175         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2176         `super' and `fraction'.
2177         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2178
2179 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2180
2181         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2182         character; copy the return value.
2183
2184 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2185
2186         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2187
2188         * mule-charset.c (range_charset_code_point): Must use make_int.
2189         (split_builtin_char): New function.
2190
2191 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2192
2193         * mule-charset.c (char_byte_table): Change name from
2194         "char-code-table" to "char-byte-table".
2195         (mark_char_code_table): New function.
2196         (char_code_table_equal): New function.
2197         (char_code_table_hash): New function.
2198         (char_code_table_description): New constant.
2199         (char_code_table): New type.
2200         (make_char_code_table): New function.
2201         (copy_char_code_table): New function.
2202         (get_char_code_table): Modify for `char_code_table' type.
2203         (put_char_code_table): Likewise.
2204         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2205         (Kashiwara).
2206
2207         * char-ucs.h (char_code_table): New type.
2208         (XCHAR_CODE_TABLE): New macro.
2209         (XSETCHAR_CODE_TABLE): New macro.
2210         (CHAR_CODE_TABLE_P): New macro.
2211         (GC_CHAR_CODE_TABLE_P): New macro.
2212         (struct Lisp_Char_Code_Table): New structure.
2213
2214 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2215
2216         * mule-charset.c (Fmake_charset): Setup byte_offset for
2217         {94|96}^n-set.
2218
2219 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2220
2221         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2222         character.
2223
2224 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2225
2226         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2227         is found.
2228
2229 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2230
2231         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2232         charset, it is regarded as a charset.
2233         (put_char_attribute): New function in UTF-2000.
2234         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2235         charset, mapping-table of the charset is modified.
2236         (Fdefine_char): New function in UTF-2000.
2237         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2238         `Fput_char_attribute'.
2239         (syms_of_mule_charset): Add new function `define-char' and new
2240         symbol `ucs' in UTF-2000.
2241         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2242
2243 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2244
2245         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2246         non-UTF-2000 configuration.
2247
2248 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2249
2250         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2251         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2252
2253         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2254         deleted.
2255         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2256         (Fset_charset_mapping_table): Likewise.
2257
2258         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2259         (CHARSET_ENCODING_TABLE): Delete.
2260         (XCHARSET_ENCODING_TABLE): Delete.
2261         (charset_code_point): New interface.
2262
2263 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2264
2265         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2266         instead of `charset_get_byte1' and `charset_get_byte2'.
2267
2268         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2269         (charset_get_byte2): Deleted.
2270
2271 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2272
2273         * char-ucs.h (SPLIT_CHAR): New inline function.
2274         (breakup_char_1): Use `SPLIT_CHAR'.
2275
2276         * mule-charset.c (range_charset_code_point): New function.
2277         (charset_code_point): New function.
2278
2279         * char-ucs.h (range_charset_code_point): New interface.
2280         (breakup_char_1): Use `range_charset_code_point'.
2281
2282 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2283
2284         * mule-charset.c (Fmake_charset): Delete unused local variable
2285         `code_offset'.
2286
2287         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2288         (breakup_char_1): Find a charset and code-point in
2289         `Vcharacter_attribute_table'.
2290
2291 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2292
2293         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2294         to 0.10 (Yao).
2295
2296 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2297
2298         * mule-charset.c (Vcharacter_attribute_table): New variable.
2299         (Fchar_attribute_alist): New function.
2300         (Fget_char_attribute): New function.
2301         (Fput_char_attribute): New function.
2302         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2303         too.
2304         (syms_of_mule_charset): Add new function `char-attribute-alist',
2305         `get-char-attribute' and `put-char-attribute'.
2306         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2307
2308 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2309
2310         * mule-charset.c (Fmake_charset): Just use
2311         `get_unallocated_leading_byte'.
2312
2313         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2314         sets; don't use final-byte based number for private sets.
2315
2316 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2317
2318         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2319         integer.
2320
2321 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2322
2323         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2324         to 0.9.
2325
2326 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2327
2328         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2329         of `CHAR_LEADING_BYTE' in UTF-2000.
2330
2331         * insdel.c (find_charsets_in_bufbyte_string): Use
2332         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2333         (find_charsets_in_emchar_string): Likewise.
2334
2335         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2336         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2337
2338         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2339         (CHAR_CHARSET_ID): New macro.
2340
2341 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2342
2343         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2344         charset-id - MIN_LEADING_BYTE.
2345         (put_char_table): Likewise.
2346
2347 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2348
2349         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2350         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2351         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2352         (CHARSET_ID_OFFSET): New macro.
2353         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2354         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2355         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2356         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2357         4).
2358         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2359         5).
2360         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2361         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2362         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2363         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2364         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2365
2366 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2367
2368         * mule-charset.c (next_allocated_leading_byte): New variable in
2369         UTF-2000.
2370         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2371         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2372         (get_unallocated_leading_byte): Simply use
2373         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2374         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2375         UTF-2000.
2376
2377         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2378         (MAX_LEADING_BYTE_PRIVATE): New macro.
2379         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2380         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2381
2382 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2383
2384         * mule-charset.c (Fmake_charset): Allocate final-byte based
2385         charset-id for 94-set, 96-set and 94x94-set.
2386
2387 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2388
2389         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2390         ambiguous `else'.
2391         (Fmake_charset): Likewise.
2392         (complex_vars_of_mule_charset): Modify the font registry of
2393         `ucs-bmp' not to match `Ethiopic-Unicode'.
2394
2395 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2396
2397         * mule-charset.c (complex_vars_of_mule_charset): Add font
2398         registory of `ucs-bmp'.
2399
2400 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2401
2402         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2403         coded-charsets in `default-coded-charset-priority-list' when
2404         breaking up a character.
2405
2406         * mule-charset.c (Vcharset_latin_viscii): New variable.
2407         (Qlatin_viscii): New variable.
2408         (make_charset): Don't use `decoding_table'.
2409         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2410         byte_offset.
2411         (Fset_charset_mapping_table): New implementation.
2412         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2413         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2414         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2415         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2416         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2417         charset `latin_viscii'.
2418
2419         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2420         (CHARSET_TYPE_94X94): Change to 1 from 2.
2421         (CHARSET_TYPE_96): Change to 2 from 1.
2422         (CHARSET_TYPE_128): New macro.
2423         (CHARSET_TYPE_128X128): Change to 5 from 4.
2424         (CHARSET_TYPE_256): New macro.
2425         (CHARSET_TYPE_256X256): Change to 7 from 5.
2426         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2427
2428 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2429
2430         * text-coding.c (char_encode_shift_jis): Refer
2431         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2432         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2433
2434         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2435         (char_byte_table_equal): New function in UTF-2000.
2436         (char_byte_table_hash): New function in UTF-2000.
2437         (char_byte_table_description): New constant in UTF-2000.
2438         (char_byte_table): New type in UTF-2000.
2439         (make_char_byte_table): New function in UTF-2000.
2440         (copy_char_byte_table): New function in UTF-2000.
2441         (make_char_code_table): New macro in UTF-2000.
2442         (get_char_code_table): New function in UTF-2000.
2443         (put_char_code_table): New function in UTF-2000.
2444         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2445         (charset_description): Add setting in UTF-2000.
2446         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2447         `CHARSET_TO_BYTE1_TABLE(cs)'.
2448         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2449         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2450         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2451         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2452         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2453         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2454         `CHARSET_TO_BYTE2_TABLE(cs)'.
2455
2456         * char-ucs.h (char_byte_table): New type.
2457         (XCHAR_BYTE_TABLE): New macro.
2458         (XSETCHAR_BYTE_TABLE): New macro.
2459         (CHAR_BYTE_TABLE_P): New macro.
2460         (GC_CHAR_BYTE_TABLE_P): New macro.
2461         (struct Lisp_Char_Byte_Table): New structure.
2462         (get_char_code_table): New interface.
2463         (Emchar_to_byte_table): Deleted.
2464         (get_byte_from_character_table): Deleted.
2465         (struct Lisp_Charset): Add `encoding_table'; delete
2466         `to_byte1_table' and `to_byte2_table'.
2467         (CHARSET_ENCODING_TABLE): New macro.
2468         (CHARSET_TO_BYTE1_TABLE): Deleted.
2469         (CHARSET_TO_BYTE2_TABLE): Deleted.
2470         (XCHARSET_ENCODING_TABLE): New macro.
2471         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2472         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2473
2474 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2475
2476         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2477         `vietnamese-viscii-*'.
2478
2479 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2480
2481         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2482         (Qvietnamese_viscii_upper): New variable.
2483         (Fdefine_charset_alias): New function.
2484         (syms_of_mule_charset): Add new function `define-charset-alias'.
2485         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2486         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2487         `latin-viscii-*'.
2488
2489 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2490
2491         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2492         (MAX_CHAR_OBS_94x94): New macro.
2493         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2494         for 94x94 sets.
2495
2496         * mule-charset.c (put_byte_from_character_table): Change unit size
2497         from 128 to 256.
2498         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2499         not defined.
2500         (Fmake_reverse_direction_charset): Modify dummy argument of
2501         `make_charset' for non-UTF-2000 environment.
2502
2503 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2504
2505         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2506
2507         * mule-charset.c (destroy_byte_from_character_table): New macro.
2508         (latin_jisx0201_to_ucs): Deleted.
2509         (latin_iso8859_2_to_ucs): Deleted.
2510         (latin_iso8859_3_to_ucs): Deleted.
2511         (latin_iso8859_4_to_ucs): Deleted.
2512         (latin_iso8859_9_to_ucs): Deleted.
2513         (latin_viscii_lower_to_ucs): Deleted.
2514         (latin_viscii_upper_to_ucs): Deleted.
2515         (mark_charset): Mark `cs->decoding_table'.
2516         (Fcharset_mapping_table): Fix DOC-string.
2517         (Fset_charset_mapping_table): New function.
2518         (syms_of_mule_charset): Add nwe function
2519         `set-charset-mapping-table'.
2520         (complex_vars_of_mule_charset): Don't setup and use
2521         `latin_*_to_ucs'.
2522
2523 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2524
2525         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2526         charset.
2527
2528 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2529
2530         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2531         (Vcharset_katakana_jisx0208): New variable.
2532         (Qhiragana_jisx0208): New variable.
2533         (Qkatakana_jisx0208): New variable.
2534         (make_charset): Add new argument `byte_offset'.
2535         (charset_get_byte1): Modify for new coded-charset definition; use
2536         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2537         `XCHARSET_BYTE_OFFSET'.
2538         (Fmake_charset): Modify for `make_charset'.
2539         (Fmake_reverse_direction_charset): Likewise.
2540         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2541         `katakana-jisx0208'.
2542         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2543         `.'  in font registry of charset `katakana-jisx0201',
2544         `latin-jisx0201', `vietnamese-viscii-lower' and
2545         `vietnamese-viscii-upper'; modify DOC-string of charset
2546         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2547         registry of charset `japanese-jisx0208' not to use font for JIS
2548         X0208:1990; add new charset `hiragana-jisx0208' and
2549         `katakana-jisx0208'.
2550
2551         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2552         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2553         (struct Lisp_Charset): Add `byte_offset'.
2554         (CHARSET_BYTE_OFFSET): New macro.
2555         (XCHARSET_UCS_MIN): New macro.
2556         (XCHARSET_UCS_MAX): New macro.
2557         (XCHARSET_CODE_OFFSET): New macro.
2558         (XCHARSET_BYTE_OFFSET): New macro.
2559         (MIN_CHAR_HIRAGANA): New macro.
2560         (MAX_CHAR_HIRAGANA): New macro.
2561         (MIN_CHAR_KATAKANA): New macro.
2562         (MAX_CHAR_KATAKANA): New macro.
2563         (MAKE_CHAR): Modify for new coded-charset definition; use
2564         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2565         `XCHARSET_BYTE_OFFSET'.
2566
2567 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2568
2569         * mule-charset.c (CHAR96): Deleted.
2570         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2571         <Lisp_Object>.
2572         (latin_iso8859_2_to_ucs): Likewise.
2573         (latin_iso8859_3_to_ucs): Likewise.
2574         (latin_iso8859_4_to_ucs): Likewise.
2575         (latin_iso8859_9_to_ucs): Likewise.
2576         (latin_viscii_lower_to_ucs): Likewise.
2577         (latin_viscii_upper_to_ucs): Likewise.
2578         (latin_tcvn5712_to_ucs): Commented out.
2579         (make_charset): Change type of argument `decoding_table' from
2580         <Emchar*> to <Lisp_Object> [vector of characters].
2581         (Fmake_charset): Modify for `make_charset'.
2582         (Fmake_reverse_direction_charset): Likewise.
2583         (Fcharset_mapping_table): New function in UTF-2000.
2584         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2585         UTF-2000.
2586         (complex_vars_of_mule_charset): Modify for type change of
2587         `*_to_ucs'; modify for `make_charset'.
2588
2589         * char-ucs.h (struct Lisp_Charset): Change type of
2590         `decoding_table' from <Emchar*> to <Lisp_Object>.
2591         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2592
2593 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2594
2595         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2596         error with non-UTF-2000-Mule.
2597
2598 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2599
2600         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2601         in lisp again].
2602         (Vcharset_chinese_cns11643_4): Likewise.
2603         (Vcharset_chinese_cns11643_5): Likewise.
2604         (Vcharset_chinese_cns11643_6): Likewise.
2605         (Vcharset_chinese_cns11643_7): Likewise.
2606         (Qchinese_cns11643_3): Likewise.
2607         (Qchinese_cns11643_4): Likewise.
2608         (Qchinese_cns11643_5): Likewise.
2609         (Qchinese_cns11643_6): Likewise.
2610         (Qchinese_cns11643_7): Likewise.
2611         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2612         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2613         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2614         (complex_vars_of_mule_charset): Likewise.
2615
2616 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2617
2618         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2619         96-set.
2620         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2621         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2622
2623 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2624
2625         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2626         0xFF60.
2627         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2628         (breakup_char_1): Likewise.
2629
2630         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2631         one of them includes the specified character.
2632
2633 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2634
2635         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2636
2637 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2638
2639         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2640
2641 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2642
2643         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2644         definition for non-UTF-2000 Mule.
2645         (latin_iso8859_3_to_ucs): Likewise.
2646         (latin_iso8859_4_to_ucs): Likewise.
2647         (latin_iso8859_9_to_ucs): Likewise.
2648         (latin_jisx0201_to_ucs): Likewise.
2649         (MIN_CHAR_THAI): Likewise.
2650         (MAX_CHAR_THAI): Likewise.
2651         (MIN_CHAR_GREEK): Likewise.
2652         (MAX_CHAR_GREEK): Likewise.
2653         (MIN_CHAR_HEBREW): Likewise.
2654         (MAX_CHAR_HEBREW): Likewise.
2655         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2656         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2657         (MIN_CHAR_CYRILLIC): Likewise.
2658         (MAX_CHAR_CYRILLIC): Likewise.
2659
2660 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2661
2662         * char-ucs.h (breakup_char_1): Use
2663         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2664         thai-tis620 and katakana-jisx0201 area.
2665
2666 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2667
2668         * char-ucs.h (breakup_char_1): Use
2669         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2670         area.
2671
2672         * text-coding.c (reset_encoding_stream): Fixed.
2673         (char_encode_ucs4): Delete `& 255'.
2674
2675         * char-ucs.h (breakup_char_1): Use
2676         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2677
2678 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2679
2680         * file-coding.c (Fmake_coding_system): Don't set up
2681         `codesys->fixed.size'.
2682         (encode_coding_no_conversion): Don't refer
2683         `str->codesys->fixed.size'.
2684
2685 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2686
2687         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2688         (latin_a_char_to_byte1): Deleted.
2689         (latin_a_char_to_byte2): Deleted.
2690
2691 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2692
2693         * mule-charset.c (make_charset): Add new argument `ucs_min',
2694         `ucs_max' and `code_offset'.
2695         (charset_get_byte1): New implementation [delete specific charset
2696         depended implementations].
2697         (Fmake_charset): Modify for `make_charset'.
2698         (Fmake_reverse_direction_charset): Likewise.
2699         (complex_vars_of_mule_charset): Likewise.
2700
2701         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2702         `code_offset'.
2703         (CHARSET_UCS_MIN): New macro.
2704         (CHARSET_UCS_MAX): New macro.
2705         (CHARSET_CODE_OFFSET): New macro.
2706         (MAKE_CHAR): Delete charset depended definitions [except
2707         katakana-jisx0201].
2708
2709 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2710
2711         * char-ucs.h (breakup_char_1): Use
2712         `Vdefault_coded_charset_priority_list' for C0-Controls,
2713         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2714
2715 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2716
2717         * char-ucs.h (charset_get_byte1): New function.
2718         (XCHARSET_GET_BYTE1): Deleted.
2719         (charset_get_byte2): New function.
2720         (XCHARSET_GET_BYTE2): Deleted.
2721         (Vdefault_coded_charset_priority_list): New external variable.
2722         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2723         `Vdefault_preferred_coded_charset_list'.
2724
2725         * mule-charset.c (charset_get_byte1): New function.
2726         (charset_get_byte2): New function.
2727         (Vdefault_coded_charset_priority_list): New variable.
2728         (vars_of_mule_charset): Add new variable
2729         `default-coded-charset-priority-list'.
2730
2731 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2732
2733         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2734         (XCHARSET_GET_BYTE2): New inline function.
2735         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2736         `XCHARSET_GET_BYTE2'.
2737
2738 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2739
2740         * mule-charset.c (make_charset): Initialize
2741         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2742         NULL if table is not defined.
2743
2744 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2745
2746         * text-coding.c (char_encode_shift_jis): Use
2747         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2748         `ucs_to_latin_jisx0201'.
2749
2750         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2751         (ucs_to_latin_iso8859_2): Deleted.
2752         (ucs_to_latin_iso8859_3): Deleted.
2753         (ucs_to_latin_iso8859_4): Deleted.
2754         (ucs_to_latin_iso8859_9): Deleted.
2755         (ucs_to_latin_viscii_lower): Deleted.
2756         (ucs_to_latin_viscii_upper): Deleted.
2757         (ucs_to_latin_tcvn5712): Deleted.
2758         (make_charset): Add new argument `decoding_table'; set up
2759         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2760         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2761         `decoding_table' is defined in UTF-2000.
2762         (Fmake_charset): Modify for `make_charset'.
2763         (Fmake_reverse_direction_charset): Likewise.
2764         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2765         and `GENERATE_96_SET'.
2766
2767         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2768         (ucs_to_latin_jisx0201): Deleted.
2769         (latin_iso8859_2_to_ucs): Deleted.
2770         (ucs_to_latin_iso8859_2): Deleted.
2771         (latin_iso8859_3_to_ucs): Deleted.
2772         (ucs_to_latin_iso8859_3): Deleted.
2773         (latin_iso8859_4_to_ucs): Deleted.
2774         (ucs_to_latin_iso8859_4): Deleted.
2775         (latin_iso8859_9_to_ucs): Deleted.
2776         (ucs_to_latin_iso8859_9): Deleted.
2777         (latin_viscii_lower_to_ucs): Deleted.
2778         (ucs_to_latin_viscii_lower): Deleted.
2779         (latin_viscii_upper_to_ucs): Deleted.
2780         (ucs_to_latin_viscii_upper): Deleted.
2781         (struct Lisp_Charset): Renamed `encoding_table' to
2782         `to_byte1_table'; add `to_byte2_table'.
2783         (CHARSET_DECODING_TABLE): New macro.
2784         (CHARSET_TO_BYTE1_TABLE): New macro.
2785         (CHARSET_TO_BYTE2_TABLE): New macro.
2786         (XCHARSET_DECODING_TABLE): New macro.
2787         (XCHARSET_TO_BYTE1_TABLE): New macro.
2788         (XCHARSET_TO_BYTE2_TABLE): New macro.
2789         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2790         tables.
2791         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2792         don't use `ucs_to_*' tables.
2793
2794 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2795
2796         * text-coding.c (Fmake_coding_system): Don't set up
2797         `codesys->fixed.size'.
2798         (encode_coding_no_conversion): Use `if' instead of `switch'.
2799
2800         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2801
2802 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2803
2804         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2805         (Fmake_charset): Modify for `make_charset'.
2806         (Fmake_reverse_direction_charset): Likewise.
2807         (complex_vars_of_mule_charset): Likewise.
2808
2809 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2810
2811         * text-coding.c (char_encode_shift_jis): Use table
2812         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2813
2814 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2815
2816         * text-coding.c (text_encode_generic): Use `if' instead of
2817         `switch'.
2818         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2819         decode JIS-Latin.
2820
2821 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2822
2823         * text-coding.c (encode_coding_sjis): Deleted.
2824         (char_encode_shift_jis): New function.
2825         (char_finish_shift_jis): New function.
2826         (reset_encoding_stream): Set up `encode_char' and `finish' for
2827         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2828         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2829         (char_encode_utf8): Treat `eol_type'.
2830
2831 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2832
2833         * file-coding.c (decode_coding_iso2022): Use
2834         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2835
2836 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2837
2838         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2839         to 0.7 (Hirano).
2840
2841 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2842
2843         * char-lb.h (CHAR_COLUMNS): New macro.
2844
2845 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2846
2847         * text-coding.c (char_encode_ucs4): New function.
2848         (char_finish_ucs4): New function.
2849         (encode_coding_ucs4): Deleted.
2850         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2851         (text_encode_generic): Delete local variable `charset' and `half'.
2852         (ucs_to_mule_table): Deleted.
2853         (mule_to_ucs_table): Deleted.
2854         (Fset_ucs_char): Deleted.
2855         (ucs_to_char): Deleted.
2856         (Fucs_char): Deleted.
2857         (Fset_char_ucs): Deleted.
2858         (Fchar_ucs): Deleted.
2859         (decode_ucs4): Deleted.
2860         (mule_char_to_ucs4): Deleted.
2861         (encode_ucs4): Deleted.
2862         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2863         (decode_coding_utf8): Likewise.
2864         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2865         (char_encode_iso2022): Fixed.
2866         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2867         `Fset_char_ucs' and `Fchar_ucs'.
2868         (complex_vars_of_file_coding): Don't initialize
2869         `ucs_to_mule_table'.
2870
2871         * objects-tty.c (tty_initialize_font_instance): Don't use
2872         `XCHARSET_COLUMNS'.
2873
2874         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2875         UTF-2000.
2876
2877         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2878         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2879
2880         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2881         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2882         (emchar_string_displayed_columns): Likewise.
2883
2884         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2885         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2886         (string_column_at_point): Likewise.
2887         (Fmove_to_column): Likewise.
2888
2889         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2890         `encoding_table' and `decoding_table'.
2891         (CHARSET_REP_BYTES): Deleted.
2892         (XCHARSET_REP_BYTES): Deleted.
2893         (XCHARSET_COLUMNS): Deleted.
2894         (CHAR_COLUMNS): New macro.
2895         (lookup_composite_char): Deleted unconditionally.
2896         (composite_char_string): Likewise.
2897
2898 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2899
2900         * char-ucs.h (Emchar_to_byte_table): New type.
2901         (get_byte_from_character_table): New function interface.
2902         (Vcharset_latin_jisx0201): New variable.
2903         (latin_jisx0201_to_ucs): New variable.
2904         (ucs_to_latin_jisx0201): New variable.
2905         (Vcharset_latin_iso8859_2): New variable.
2906         (latin_iso8859_2_to_ucs): New variable.
2907         (ucs_to_latin_iso8859_2): New variable.
2908         (Vcharset_latin_iso8859_3): New variable.
2909         (latin_iso8859_3_to_ucs): New variable.
2910         (ucs_to_latin_iso8859_3): New variable.
2911         (Vcharset_latin_iso8859_4): New variable.
2912         (latin_iso8859_4_to_ucs): New variable.
2913         (ucs_to_latin_iso8859_4): New variable.
2914         (Vcharset_latin_iso8859_9): New variable.
2915         (latin_iso8859_9_to_ucs): New variable.
2916         (ucs_to_latin_iso8859_9): New variable.
2917         (Vcharset_latin_viscii_lower): New variable.
2918         (latin_viscii_lower_to_ucs): New variable.
2919         (ucs_to_latin_viscii_lower): New variable.
2920         (Vcharset_latin_viscii_upper): New variable.
2921         (latin_viscii_upper_to_ucs): New variable.
2922         (ucs_to_latin_viscii_upper): New variable.
2923         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2924         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2925         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2926         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2927         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2928         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2929         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2930         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2931         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2932         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2933
2934         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2935         (Vcharset_latin_viscii_upper): New variable.
2936         (make_byte_from_character_table): New function.
2937         (put_byte_from_character_table): New function.
2938         (get_byte_from_character_table): New function.
2939         (CHAR96): New macro.
2940         (ucs_to_latin_jisx0201): New variable.
2941         (latin_jisx0201_to_ucs): New variable.
2942         (ucs_to_latin_iso8859_2): New variable.
2943         (latin_iso8859_2_to_ucs): New variable.
2944         (ucs_to_latin_iso8859_3): New variable.
2945         (latin_iso8859_3_to_ucs): New variable.
2946         (ucs_to_latin_iso8859_4): New variable.
2947         (latin_iso8859_4_to_ucs): New variable.
2948         (ucs_to_latin_iso8859_9): New variable.
2949         (latin_iso8859_9_to_ucs): New variable.
2950         (ucs_to_latin_viscii_lower): New variable.
2951         (latin_viscii_lower_to_ucs): New variable.
2952         (ucs_to_latin_viscii_upper): New variable.
2953         (latin_viscii_upper_to_ucs): New variable.
2954         (ucs_to_latin_tcvn5712): New variable.
2955         (latin_tcvn5712_to_ucs): New variable.
2956         (Qlatin_viscii_lower): New variable.
2957         (Qlatin_viscii_upper): New variable.
2958         (syms_of_mule_charset): Set up new symbol
2959         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2960         (complex_vars_of_mule_charset): Set up new charset
2961         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2962         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2963         `ucs_to_<CHARSET>' tables.
2964
2965 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2966
2967         * text-coding.c: New file.
2968
2969 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2970
2971         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2972
2973         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2974         (MAKE_CHAR): Modify for `ucs-bmp'.
2975         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2976         non-MULE characters of BMP.
2977
2978 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2979
2980         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2981         to 0.6.
2982
2983 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2984
2985         * lstream.h:
2986         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2987         - Include character.h for `CHAR_ASCII_P'.
2988
2989         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2990
2991         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2992         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2993
2994         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2995         (BYTE_C0_P): Likewise.
2996         (BYTE_C1_P): Likewise.
2997         (Lstream_get_emchar_1): Likewise.
2998         (Lstream_fput_emchar): Likewise.
2999         (Lstream_funget_emchar): Likewise.
3000         (copy_internal_to_external): Likewise.
3001         (copy_external_to_internal): Likewise.
3002
3003         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3004         (BYTE_C0_P): Likewise.
3005         (BYTE_C1_P): Likewise.
3006         (Lstream_get_emchar_1): Likewise.
3007         (Lstream_fput_emchar): Likewise.
3008         (Lstream_funget_emchar): Likewise.
3009         (copy_internal_to_external): Likewise.
3010         (copy_external_to_internal): Likewise.
3011
3012         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3013         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3014
3015         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3016         (BYTE_ASCII_P): Moved to mb-1byte.h.
3017
3018 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3019
3020         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3021
3022         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3023         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3024         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3025         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3026         (VALIDATE_CHARPTR_FORWARD): Likewise.
3027         (simple_charptr_emchar): Moved to mb-multibyte.h.
3028         (simple_set_charptr_emchar): Likewise.
3029         (simple_charptr_copy_char): Likewise.
3030         (non_ascii_charptr_emchar): Likewise.
3031         (non_ascii_set_charptr_emchar): Likewise.
3032         (non_ascii_charptr_copy_char): Likewise.
3033         (charptr_emchar): Moved to mb-*byte.h.
3034         (set_charptr_emchar): Likewise.
3035         (charptr_copy_char): Likewise.
3036
3037         * mb-1byte.h, mb-multibyte.h: New files.
3038
3039 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3040
3041         * mb-utf-8.h (MULTIBYTE): New macro.
3042         (MAX_EMCHAR_LEN): Moved from buffer.h.
3043         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3044
3045         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3046
3047         * mb-lb.h, multibyte.h: New files.
3048
3049         * char-1byte.h (Charset_ID): Moved from buffer.h.
3050         (MIN_LEADING_BYTE): Likewise.
3051         (LEADING_BYTE_ASCII): Likewise.
3052         (NUM_LEADING_BYTES): Likewise.
3053         (CHARSETP): Likewise.
3054         (CHARSET_BY_LEADING_BYTE): Likewise.
3055         (XCHARSET_LEADING_BYTE): Likewise.
3056         (XCHARSET_GRAPHIC): Likewise.
3057         (XCHARSET_COLUMNS): Likewise.
3058         (XCHARSET_DIMENSION): Likewise.
3059         (CHAR_CHARSET): Likewise.
3060         (CHAR_LEADING_BYTE): Likewise.
3061         (BREAKUP_CHAR): Likewise.
3062         (Vcharset_ascii): Likewise.
3063
3064         * buffer.h: Include multibyte.h unconditionally.
3065         (VALID_CHARPTR_P): Moved to multibyte.h.
3066         (ASSERT_VALID_CHARPTR): Likewise.
3067         (REAL_INC_CHARPTR): Likewise.
3068         (REAL_INC_CHARBYTIND): Likewise.
3069         (REAL_DEC_CHARPTR): Likewise.
3070         (INC_CHARPTR): Likewise.
3071         (INC_CHARBYTIND): Likewise.
3072         (DEC_CHARPTR): Likewise.
3073         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3074         (VALIDATE_CHARPTR_FORWARD): Likewise.
3075         (charptr_n_addr): Likewise.
3076         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3077         (simple_charptr_emchar): Moved to multibyte.h.
3078         (simple_set_charptr_emchar): Likewise.
3079         (simple_charptr_copy_char): Likewise.
3080         (non_ascii_charptr_emchar): Likewise.
3081         (non_ascii_set_charptr_emchar): Likewise.
3082         (non_ascii_charptr_copy_char): Likewise.
3083         (charptr_emchar): Likewise.
3084         (set_charptr_emchar): Likewise.
3085         (charptr_copy_char): Likewise.
3086         (charptr_emchar_n): Likewise.
3087         (Charset_ID): Moved to char-1byte.h.
3088         (Vcharset_ascii): Likewise.
3089         (CHAR_CHARSET): Likewise.
3090         (CHAR_LEADING_BYTE): Likewise.
3091         (LEADING_BYTE_ASCII): Likewise.
3092         (NUM_LEADING_BYTES): Likewise.
3093         (MIN_LEADING_BYTE): Likewise.
3094         (CHARSETP): Likewise.
3095         (CHARSET_BY_LEADING_BYTE): Likewise.
3096         (XCHARSET_LEADING_BYTE): Likewise.
3097         (XCHARSET_GRAPHIC): Likewise.
3098         (XCHARSET_COLUMNS): Likewise.
3099         (XCHARSET_DIMENSION): Likewise.
3100         (BREAKUP_CHAR): Likewise.
3101
3102 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3103
3104         * character.h: Add document about interface for characters.
3105
3106         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3107         (MAKE_CHAR): Delete comment about
3108         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3109         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3110         (BREAKUP_CHAR): Modify name of arguments.
3111         (CHAR_CHARSET): Modify name of argument.
3112
3113         * buffer.h: Delete document about Emchar accessors.
3114
3115 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3116
3117         * character.h (CHAR_INTP): Moved from buffer.h
3118         (CHAR_OR_CHAR_INTP): Likewise.
3119         (XCHAR_OR_CHAR_INT): Likewise.
3120         (CHECK_CHAR_COERCE_INT): Likewise.
3121
3122         * buffer.h (CHAR_INTP): Moved to character.h
3123         (CHAR_OR_CHAR_INTP): Likewise.
3124         (XCHAR_OR_CHAR_INT): Likewise.
3125         (CHECK_CHAR_COERCE_INT): Likewise.
3126
3127 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3128
3129         * character.h:
3130         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3131         - Include char-1byte.h, char-lb.h or char-ucs.h.
3132
3133         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3134
3135         * buffer.h: Include character unconditionally.
3136         (valid_char_p): Moved to char-*.h.
3137         (non_ascii_valid_char_p): Moved to char-lb.h.
3138
3139         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3140
3141 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3142
3143         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3144         in UTF-2000 because it is not ported yet and not to use
3145         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3146         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3147         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3148
3149         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3150         (CHAR_ASCII_P): Moved from character.h.
3151
3152         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3153         (CHAR_ASCII_P): Likewise.
3154         (CHAR_FIELD1_MASK): Deleted.
3155         (CHAR_FIELD2_MASK): Deleted.
3156         (CHAR_FIELD3_MASK): Deleted.
3157         (MAX_CHAR_BASIC_LATIN): New macro.
3158         (CHAR_FIELD1): Deleted.
3159         (CHAR_FIELD2_INTERNAL): Deleted.
3160         (CHAR_FIELD3_INTERNAL): Deleted.
3161         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3162         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3163         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3164         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3165         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3166         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3167         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3168         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3169         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3170         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3171         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3172         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3173         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3174         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3175         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3176         (MIN_CHAR_COMPOSITION): Deleted.
3177         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3178         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3179
3180 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3181
3182         * buffer.h: Include mb-utf-8.h in UTF-2000.
3183
3184         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3185
3186         * mb-utf-8.h: New file.
3187
3188 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3189
3190         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3191         instead of `int'.
3192
3193         * mule-charset.h, buffer.h (Charset_ID): New type.
3194
3195 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3196
3197         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3198         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3199         instead of `MULE_CHAR_PRIVATE_OFFSET',
3200         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3201         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3202         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3203
3204         * character.h (Vcharset_japanese_jisx0212): New variable
3205         definition.
3206
3207 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3208
3209         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3210         (charset_by_attributes): Delete array about direction.
3211         (latin_a_char_to_charset): New variable in UTF-2000.
3212         (latin_a_char_to_byte1): New variable in UTF-2000.
3213         (latin_a_char_to_byte2): New variable in UTF-2000.
3214         (Qucs_bmp): New variable.
3215         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3216         `Bufbyte'.
3217         (next_allocated_2_byte_leading_byte): Likewise.
3218         (non_ascii_set_charptr_emchar): Likewise.
3219         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3220         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3221         `charset_by_attributes'.
3222         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3223         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3224         and `CHARSET_BY_LEADING_BYTE'.
3225         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3226         `utf-2000-version' to `vars_of_mule_charset'.
3227         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3228         define `leading-code-private-11' in UTF-2000; move setting of
3229         `utf-2000-version' from `syms_of_mule_charset'.
3230         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3231         UTF-2000.
3232
3233         * character.h (Charset_ID): New type.
3234         (LEADING_BYTE_UCS_BMP): New macro.
3235         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3236         (CHARSET_ID_OFFSET_94): New macro.
3237         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3238         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3239         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3240         final-byte.
3241         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3242         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3243         (CHARSET_ID_OFFSET_96): New macro.
3244         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3245         CHARSET_ID_OFFSET_96 and final-byte.
3246         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3247         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3248         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3249         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3250         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3251         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3252         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3253         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3254         (LEADING_BYTE_THAI_TIS620): Likewise.
3255         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3256         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3257         (CHARSET_ID_OFFSET_94x94): New macro.
3258         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3259         CHARSET_ID_OFFSET_94x94 and final-byte.
3260         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3261         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3262         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3263         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3264         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3265         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3266         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3267         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3268         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3269         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3270         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3271         (CHARSET_TYPE_128X128): New macro.
3272         (CHARSET_TYPE_256X256): New macro.
3273         (XCHARSET_PRIVATE_P): Delete unconditionally.
3274         (charset_by_attributes): Delete array about direction.
3275         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3276         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3277         (MIN_CHAR_94): New macro.
3278         (MAX_CHAR_94): New macro.
3279         (MIN_CHAR_96): New macro.
3280         (MAX_CHAR_96): New macro.
3281         (MIN_CHAR_94x94): New macro.
3282         (MAX_CHAR_94x94): New macro.
3283         (MIN_CHAR_96x96): New macro.
3284         (MAX_CHAR_96x96): New macro.
3285         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3286         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3287         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3288         - 32)'.
3289         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3290         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3291         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3292         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3293         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3294         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3295         `XCHARSET_LEADING_BYTE' to make code-point.
3296         (latin_a_char_to_charset): New variable.
3297         (latin_a_char_to_byte1): New variable.
3298         (latin_a_char_to_byte2): New variable.
3299         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3300         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3301         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3302
3303         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3304         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3305         (find_charsets_in_emchar_string): Likewise.
3306         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3307
3308         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3309         `int'.
3310         (decode_coding_iso2022): Likewise.
3311
3312         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3313         of `unsigned char'.
3314
3315         * redisplay.c (redisplay_text_width_emchar_string): Use
3316         `Charset_ID' instead of `unsigned char'.
3317         (redisplay_frame_text_width_string): Likewise.
3318
3319         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3320         `unsigned char'.
3321
3322         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3323         instead of `unsigned char'.
3324         (face_cachel_charset_font_metric_info): Likewise.
3325
3326         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3327         (get_non_ascii_char_table_value): Likewise.
3328         (get_char_table): Likewise.
3329         (put_char_table): Likewise.
3330         (map_over_other_charset): Likewise.
3331         (map_char_table): Likewise.
3332
3333         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3334         instead of `unsigned char'.
3335
3336 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3337
3338         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3339         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3340
3341         * mule-charset.c (leading_code_private_11): Don't define in
3342         UTF-2000.
3343
3344         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3345         in UTF-2000 because it is not ported yet and not to use
3346         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3347
3348 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3349
3350         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3351
3352 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3353
3354         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3355         in UTF-2000.
3356
3357         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3358         of unsigned char to store leading-byte.
3359
3360         * chartab.c (get_non_ascii_char_table_value): Don't use
3361         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3362
3363         * file-coding.c (encode_coding_big5): Delete bogus implementation
3364         in UTF2000.
3365
3366         * character.h (LEADING_BYTE_*): Delete definition for
3367         non-UTF-2000.
3368         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3369         (LEADING_BYTE_PREFIX_P): Deleted.
3370         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3371         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3372         (BUFBYTE_LEADING_BYTE_P): Deleted.
3373         (CHARSET_PRIVATE_P): Deleted unconditionally.
3374         (rep_bytes_by_first_byte): Deleted unconditionally.
3375         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3376         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3377         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3378         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3379         (CHAR_FIELD2): Deleted.
3380         (CHAR_FIELD3): Deleted.
3381         (MAKE_CHAR): Delete definition for non-UTF-2000.
3382         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3383         (breakup_char_1): New implementation.
3384         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3385         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3386
3387 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3388
3389         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3390         condition.
3391
3392 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3393
3394         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3395         (CHARSET_PRIVATE_P): Likewise.
3396         (XCHARSET_PRIVATE_P): Likewise.
3397         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3398
3399         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3400         UTF2000.
3401         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3402
3403 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3404
3405         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3406         (NUM_LEADING_BYTES): Changed from 128 to 256.
3407         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3408         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3409         UTF2000.
3410         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3411
3412         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3413         UTF2000.
3414         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3415         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3416         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3417         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3418         (Qchinese_cns11643_3): New variable in UTF2000.
3419         (Qchinese_cns11643_4): New variable in UTF2000.
3420         (Qchinese_cns11643_5): New variable in UTF2000.
3421         (Qchinese_cns11643_6): New variable in UTF2000.
3422         (Qchinese_cns11643_7): New variable in UTF2000.
3423         (syms_of_mule_charset): Define `chinese-cns11643-3',
3424         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3425         and `chinese-cns11643-7' in UTF2000.
3426         (vars_of_mule_charset): Initialize
3427         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3428         + 1 in UTF2000.
3429         (complex_vars_of_mule_charset): Setup charset
3430         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3431         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3432
3433 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3434
3435         * mule-charset.c: Move setting for `leading-code-private-11' from
3436         `syms_of_mule_charset' to `vars_of_mule_charset'.
3437
3438 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3439
3440         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3441         and `NUM_LEADING_BYTES' in assert.
3442
3443 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3444
3445         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3446         instead of 128.
3447         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3448         `NUM_LEADING_BYTES' instead of 128.
3449
3450 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3451
3452         * mule-charset.h (charset_by_leading_byte): Use
3453         `NUM_LEADING_BYTES' instead of 128.
3454         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3455
3456         * mule-charset.c (charset_by_leading_byte): Use
3457         `NUM_LEADING_BYTES' instead of 128.
3458         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3459
3460         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3461         128.
3462
3463 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3464
3465         * mule-charset.c (syms_of_mule_charset): Update to
3466         0.4 (Shin-Imamiya).
3467
3468 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3469
3470         * file-coding.c (encode_coding_sjis): New implementation for
3471         UTF2000.  (decode_coding_sjis): Ditto.
3472
3473 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3474
3475         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3476         Don't define in UTF2000.
3477
3478         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3479         defined.
3480
3481         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3482         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3483         MULE.
3484
3485 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3486
3487         * config.h.in (CHAR_IS_UCS4): New macro.
3488
3489         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3490         conventional MULE representation.
3491         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3492
3493         * mule-charset.h: Reverted to original.
3494
3495         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3496         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3497         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3498
3499         * character.h: New file.
3500
3501         * file-coding.c (Fmake_coding_system): Set 1 to
3502         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3503         defined.
3504         (encode_coding_no_conversion): New implementation for UTF2000.
3505
3506         * file-coding.h (struct Lisp_Coding_System): Add new member
3507         `fixed.size'.
3508
3509 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3510
3511         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3512         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3513         (encode_coding_iso2022): New implementation for UTF2000.
3514
3515 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3516
3517         * mule-canna.c (c2mu): New implementation for UTF2000.
3518         (m2c): Likewise.
3519
3520 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3521
3522         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3523
3524 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3525
3526         * file-coding.c (reset_encoding_stream): Set 0 to
3527         `str->iso2022.current_char_boundary' in UTF2000.
3528         (encode_utf8): Don't define in UTF2000.
3529         (encode_coding_utf8): New implementation for UTF-8 representation
3530         of UTF2000.
3531         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3532
3533 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3534
3535         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3536
3537         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3538         UTF2000.
3539         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3540
3541         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3542
3543         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3544         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3545         as UTF-8 in UTF2000.
3546         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3547         (non_ascii_valid_char_p): Don't define in UTF2000.
3548         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3549         (Lstream_get_emchar_1): Likewise.
3550         (utf-2000-version): New variable in UTF2000.
3551
3552         * lread.c (read_escape): Add new reader `u'.
3553
3554         * insdel.c (three_to_one_table): Don't define in UTF2000.
3555         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3556         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3557         UTF2000.
3558         (bytind_to_bufpos_func): Likewise.
3559         (buffer_mule_signal_inserted_region): Likewise.
3560         (vars_of_insdel): Don't initialize `three_to_one_table'.
3561         (init_buffer_text): Use `buf->text->mule_size' instead of
3562         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3563         UTF2000.
3564
3565         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3566         UTF-8 representation in UTF2000.
3567         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3568         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3569         (decode_coding_iso2022): Don't define local variable `lb' in
3570         UTF2000; don't use LEADING_BYTE in UTF2000; use
3571         `DECODE_ADD_UCS_CHAR' in UTF2000.
3572         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3573
3574         * config.h.in (UTF2000): New macro.
3575
3576         * buffer.h (struct buffer_text): Add new member `mule_size' and
3577         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3578         (valid_char_p): Return always 1 in UTF2000.
3579         (MAX_EMCHAR_LEN): 6 in UTF2000.
3580         (three_to_one_table): Don't define in UTF2000.
3581         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3582         UTF2000.
3583         (real_bytind_to_bufpos): Likewise.
3584
3585         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3586
3587 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3588
3589         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3590         representation change.
3591         (Vutf_2000_version): New variable.
3592         (leading_code_private_11): New variable.
3593         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3594         `leading-code-private-11'.
3595
3596         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3597         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3598         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3599         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3600         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3601         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3602         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3603         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3604         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3605         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3606         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3607         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3608         (MIN_CHAR_GREEK): New macro.
3609         (MAX_CHAR_GREEK): New macro.
3610         (MIN_CHAR_CYRILLIC): New macro.
3611         (MAX_CHAR_CYRILLIC): New macro.
3612         (MIN_CHAR_HEBREW): New macro.
3613         (MAX_CHAR_HEBREW): New macro.
3614         (MIN_CHAR_THAI): New macro.
3615         (MAX_CHAR_THAI): New macro.
3616         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3617         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3618         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3619         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3620         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3621         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3622         (CHAR_FIELD2): New inline function.
3623         (CHAR_FIELD3): New inline function.
3624         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3625         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3626         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3627         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3628         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3629         (MIN_CHAR_COMPOSITION): Likewise.
3630         (CHAR_LEADING_BYTE): Modified for character representation change.
3631         (MAKE_CHAR): Likewise.
3632
3633         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3634         (Vcharset_greek_iso8859_7): Likewise.
3635         (Vcharset_cyrillic_iso8859_5): Likewise.
3636         (Vcharset_hebrew_iso8859_8): Likewise.
3637         (Vcharset_thai_tis620): Likewise.
3638         (Vcharset_katakana_jisx0201): Likewise.
3639
3640 2001-01-26  Martin Buchholz <martin@xemacs.org>
3641
3642         * XEmacs 21.2.43 "Terspichore" is released.
3643
3644 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3645
3646         Type fiddling for window_config.saved_windows_count
3647         * window.c (struct window_config): 
3648         Make saved_windows_count member unsigned.
3649         * window.c (sizeof_window_config_for_n_windows): 
3650         Make parameter unsigned.
3651         * window.c (mark_window_config):
3652         * window.c (window_config_equal):
3653         * window.c (free_window_configuration):
3654         * window.c (Fset_window_configuration):
3655         * window.c (count_windows):
3656         * window.c (Fcurrent_window_configuration):
3657         * window.c (reinit_vars_of_window):
3658         Update all callers and users.
3659
3660 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3661
3662         Alignment correctness for flexible arrays.
3663         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3664         Make alignment-correct. Add interesting comments.
3665         * alloc.c (size_vector):
3666         * alloc.c (make_vector_internal):
3667         * alloc.c (make_bit_vector_internal):
3668         * alloc.c (sweep_bit_vectors_1):
3669         * fns.c (size_bit_vector):
3670         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3671         * window.c (sizeof_window_config_for_n_windows): 
3672         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3673
3674 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3675
3676         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3677
3678 2001-01-23  Andy Piper  <andy@xemacs.org>
3679
3680         * select.c (Fown_selection_internal): pass owned_p
3681
3682         * select-msw.c (mswindows_own_selection): New Signature.
3683
3684         * console.h (struct console_methods): add owned_p to
3685         _own_selection.
3686
3687         * select-x.c (x_own_selection): pass owned_p
3688         (hack_motif_clipboard_selection): use owned_p
3689         (vars_of_select_x): new variable -
3690         x_selection_strict_motif_ownership.
3691
3692 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3693
3694         * specifier.h (specifier_data_offset): Remove pointless parens.
3695         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3696
3697 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3698
3699         Make Lisp_Object sizeof methods be alignment-correct.
3700         pdump must restore objects to the same alignment as the C compiler
3701         assumes.  It really matters on SGIs.
3702         * lstream.c (aligned_sizeof_lstream): New.
3703         (sizeof_lstream): Use aligned_sizeof_lstream.
3704         (Lstream_new): Likewise.
3705         * opaque.c (aligned_sizeof_opaque): New.
3706         (sizeof_opaque): Use aligned_sizeof_opaque.
3707         (make_opaque): Likewise.
3708         * specifier.c (aligned_sizeof_specifier): New.
3709         (sizeof_specifier): Use aligned_sizeof_specifier.
3710         (make_specifier_internal): Likewise.
3711
3712 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3713
3714         * lstream.h (struct lstream): Use max_align_t for trailing data.
3715         * specifier.h (struct Lisp_Specifier): Likewise.
3716
3717 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3718
3719         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3720         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3721         (CCL_SUSPEND): Likewise.
3722         (CCL_INVALID_CMD): Likewise.
3723         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3724         (ccl_driver): Likewise.
3725         (CCL_WRITE_CHAR): Macro hygiene.
3726         (CCL_WRITE_STRING): Macro hygiene.
3727
3728 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3729
3730         Port "portable" dumper to SunOS 4 and HP-UX.
3731         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3732         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3733         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3734
3735 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3736
3737         * lisp.h (ALIGNOF): A better definition for C++.
3738
3739 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3740
3741         Macro hygiene.
3742         Fix printf warnings: int format, long int arg.
3743         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3744         (PUSH_FAILURE_POINT): Use correct printf formats.
3745         (POP_FAILURE_POINT): Use correct printf formats.  
3746         Use do {...} while (0)
3747
3748 2001-01-20  Martin Buchholz <martin@xemacs.org>
3749
3750         * XEmacs 21.2.42 "Poseidon" is released.
3751
3752 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3753
3754         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3755
3756 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3757
3758         De-kludgify FIXED_TYPE free list frobbing.
3759         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3760         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3761         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3762         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3763         * alloc.c (LRECORD_FREE_P): New.
3764         * alloc.c (MARK_LRECORD_AS_FREE): New.
3765         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3766         * alloc.c (STRUCT_FREE_P): Deleted.
3767         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3768         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3769         * alloc.c (STRING_CHARS_FREE_P): New.
3770         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3771         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3772         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3773         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3774         * alloc.c (resize_string): Use new definitions.
3775         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3776         * alloc.c (verify_string_chars_integrity): Use new definitions.
3777         * alloc.c (compact_string_chars): Use new definitions.
3778         * alloc.c: Update monster comments.
3779         * lrecord.h (lrecord_type): Add some new lrecord types for
3780         alloc.c's use.
3781
3782 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3783
3784         Improve alignment hackery.
3785         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3786         (max_align_t): Moved from opaque.h - general purpose.
3787         (ALIGN_PTR): Use size_t, not long.
3788         * opaque.h (max_align_t): Move to lisp.h.
3789
3790 2001-01-18  Norbert Koch  <nk@LF.net>
3791
3792         * gui.h: Fix and add prototypes to fix build problems.
3793
3794 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3795
3796         temacs is going away, so `dump-temacs' is now a bad name.
3797         * .dbxrc (dump-temacs): Rename to `dmp'.
3798         * .gdbinit (dump-temacs): Rename to `dmp'.
3799
3800 2001-01-17  Andy Piper  <andy@xemacs.org>
3801
3802         * glyphs.c (print_image_instance): comment to make martin happy.
3803
3804         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3805         change.
3806
3807         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3808         activation.
3809         (mswindows_tab_control_redisplay): warning suppression.
3810
3811         * glyphs-widget.c (widget_update): re-write to cope with updated
3812         items.
3813         (widget_instantiate): use new gui_item functions.
3814         (tab_control_update): deleted.
3815         (progress_gauge_update): deleted.
3816         (image_instantiator_progress_guage): take out update reference.
3817         (image_instantiator_tree_view): ditto.
3818         (image_instantiator_tab_control): ditto.
3819
3820         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3821         Right the new way.
3822         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3823         return whether anything was changed.
3824         (update_gui_item_keywords): as it sounds.
3825
3826         * gui.h: declare widget_gui_parse_item_keywords.
3827
3828         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3829         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3830
3831 2001-01-17  Martin Buchholz <martin@xemacs.org>
3832
3833         * XEmacs 21.2.41 "Polyhymnia" is released.
3834
3835 2001-01-16  Didier Verna  <didier@xemacs.org>
3836
3837         * glyphs.c (image_instantiate): don't use fallbacks when
3838         instantiating a face's background pixmap by inheritance.
3839
3840 2001-01-14  Mike Sperber <mike@xemacs.org>
3841
3842         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3843         Conditionalize accordingly.
3844
3845 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3846
3847         * dumper.c (pdump_file_get): Fix a compiler warning.
3848
3849 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3850
3851         Make Purify happy when pdumping.
3852         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3853         iniitalizing all bits of new lisp object memory.
3854         * symbols.c (Fmake_local_variable): Likewise.
3855         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3856         * symbols.c (Fdefvaralias): Likewise.
3857         * mule-charset.c (vars_of_mule_charset): Likewise.
3858
3859 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3860         Add the `-nd' flag when running pre-dump operations under the debugger.
3861         * .dbxrc (run-temacs): Add `-nd'.
3862         * .dbxrc (update-elc): Likewise.
3863         * .dbxrc (dump-temacs): Likewise.
3864         * .gdbinit (run-temacs): Likewise.
3865         * .gdbinit (check-temacs): Likewise.
3866         * .gdbinit (update-elc): Likewise.
3867         * .gdbinit (dump-temacs): Likewise.
3868
3869 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3870
3871         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3872         export OBJECT_MODE=64
3873         configure --pdump --use-union-type=no
3874         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3875         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3876
3877         * miscplay.c (sndcnv8U_2mono):
3878         Avoid two uses of `++' in the same expression.
3879         Suppresses a GCC warning.
3880
3881 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3882
3883         Make sure future compilers don't miscompile alloc.c.
3884         * alloc.c:
3885         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3886         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3887
3888 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3889
3890         * dumper.c: A little post-pdump-rename comment fixup.
3891
3892 2001-01-09  Jerry James  <james@eecs.ku.edu>
3893
3894         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3895
3896 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3897
3898         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3899         script:
3900         #!/bin/sh
3901         replace_symbol () {
3902           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3903         }
3904
3905         replace_symbol pdump_wire_lists pdump_weak_object_chains
3906         replace_symbol pdump_wire_list dump_add_weak_object_chain
3907
3908         replace_symbol pdump_wires pdump_root_objects
3909         replace_symbol pdump_wire dump_add_root_object
3910
3911         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3912         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3913
3914         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3915         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3916         replace_symbol dumpstructinfo pdump_root_struct_ptr
3917         replace_symbol dumpstruct dump_add_root_struct_ptr
3918
3919         replace_symbol dumpopaque dump_add_opaque
3920         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3921         replace_symbol dumpopaqueinfos pdump_opaques
3922         replace_symbol dumpopaqueinfo pdump_opaque
3923
3924         replace_symbol nb_structdump nb_root_struct_ptrs
3925         replace_symbol nb_opaquedump nb_opaques
3926
3927         replace_symbol align_table pdump_align_table
3928         replace_symbol dump_header pdump_header
3929
3930         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3931         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3932
3933
3934 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3935
3936         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3937         optimizing bytecount_to_charcount().
3938
3939 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3940
3941         * config.h.in:
3942         (HAVE_DLFCN_H): Removed.
3943         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3944
3945 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3946
3947         Portable dumper maintainability improvements.
3948         * alloc.c (staticpro):
3949         * alloc.c (staticpro_nodump):
3950         * alloc.c (garbage_collect_1):
3951         * alloc.c (reinit_alloc_once_early):
3952         * alloc.c (init_alloc_once_early):
3953         * alloc.c: Move dumper functions to alloc.c.
3954         * dumper.c (pdump_backtrace):
3955         * dumper.c (pdump_dump_structs):
3956         * dumper.c (pdump_dump_opaques):
3957         * dumper.c (pdump_dump_rtables):
3958         * dumper.c (pdump_dump_wired):
3959         * dumper.c (pdump):
3960         * dumper.c (pdump_load_check):
3961         * dumper.c (pdump_load_finish):
3962         * dumper.c (pdump_file_unmap):
3963         * dumper.c (pdump_file_get):
3964         * dumper.c (pdump_resource_free):
3965         * dumper.c (pdump_resource_get):
3966         * dumper.c (pdump_file_free):
3967         * dumper.c (pdump_file_try):
3968         * dumper.c (pdump_load):
3969         Remove fixed size limits on staticpro(), staticpro_nodump(),
3970         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3971         Remove custom code for dumping lrecord_implementations_table - use
3972         dumpopaque instead.
3973         Remove (most of the) custom code for dumping staticpros - dump it
3974         like any other dynarr.
3975
3976         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3977         * dumper.c: Moved functions from alloc.c.
3978         * alloc.c (dumpstruct): Moved to dumper.c.
3979         * alloc.c (dumpopaque): Likewise.
3980         * alloc.c (pdump_wire): Likewise.
3981         * alloc.c (pdump_wire_list): Likewise.
3982
3983         * lisp.h (Dynarr_sizeof): New.
3984         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3985         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3986         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3987
3988         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3989         * lisp.h (dumpopaque): ditto.
3990         * lisp.h (pdump_wire): ditto.
3991         * lisp.h (pdump_wire_list): ditto.
3992
3993 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3994
3995         * make-src-depend (PrintPatternDeps):
3996         Use `sort' to make output independent of perl version.
3997
3998 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3999
4000         Port to Netbsd 1.5.
4001         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4002         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4003
4004 2001-01-03  Didier Verna  <didier@xemacs.org>
4005
4006         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4007         that `focus_frame' is alive before thinking of calling
4008         `redisplay_redraw_cursor' on it.
4009
4010 2001-01-08  Martin Buchholz <martin@xemacs.org>
4011
4012         * XEmacs 21.2.40 is released.
4013
4014 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4015
4016         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4017
4018 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4019
4020         * alloc.c (dbg_valmask): Make const.
4021         * alloc.c (dbg_typemask): Make const.
4022         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4023         * alloc.c (dbg_valbits): Make const.
4024         * alloc.c (dbg_gctypebits): Make const.
4025
4026 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4027
4028         * redisplay-x.c (x_bevel_area):
4029         redisplay.h (struct rune):
4030         Typo fixes in comments.
4031
4032 2001-01-05  Andy Piper  <andy@xemacs.org>
4033
4034         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4035         adjustment.
4036
4037         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4038
4039 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4040
4041         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4042
4043         * mule-ccl.c (stack_idx_of_map_multiple):
4044         Non const global data must not be initialized!
4045         Found by MIYASHITA Hisashi.
4046
4047 2001-01-02  Andy Piper  <andy@xemacs.org>
4048
4049         * frame.c (change_frame_size): make sure frame size is always
4050         marked as changed.
4051
4052         * glyphs.c (image_instance_layout): minor code reuse.
4053
4054         * window.c (Fcurrent_window_configuration): revert previous
4055         change.
4056
4057 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4058
4059         * glyphs.h:
4060         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4061
4062 2000-12-31  Andy Piper  <andy@xemacs.org>
4063
4064         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4065         when widget gets unmapped.
4066
4067         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4068         function. Make sure widgets losing focus don't just drop it.
4069         (handle_focus_event_1): record the widget with focus.
4070
4071 2000-12-31  Andy Piper  <andy@xemacs.org>
4072
4073         * window.c (allocate_window): use
4074         make_image_instance_cache_hash_table.
4075         (make_dummy_parent): ditto.
4076         (Fset_window_configuration): ditto.
4077
4078         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4079
4080         * glyphs.c (process_image_string_instantiator): use
4081         INSTANTIATOR_TYPE.
4082         (get_image_instantiator_governing_domain): ditto.
4083         (normalize_image_instantiator): ditto.
4084         (instantiate_image_instantiator): ditto.
4085         (make_image_instance_1): ditto.
4086         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4087         (instantiator_eq_equal): new function for use with instance hash
4088         tables.
4089         (instantiator_eq_hash): ditto.
4090         (make_image_instance_cache_hash_table): create a suitable hash
4091         table for storing image instances.
4092
4093         * elhash.h (hash_table_weakness): new internal weakness type
4094         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4095         declare new functions.
4096
4097         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4098         another weakness type for glyphs.
4099         (make_standard_lisp_hash_table): new function split out from
4100         make_general_lisp_hash_table.
4101         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4102         (hash_table_instantiate): ditto.
4103         (Fmake_hash_table): ditto.
4104
4105 2000-12-31  Martin Buchholz <martin@xemacs.org>
4106
4107         * XEmacs 21.2.39 is released.
4108
4109 2000-12-29  Andy Piper  <andy@xemacs.org>
4110
4111         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4112
4113         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4114         the frame has changed so that we pick up geometry changes such as
4115         menubar visibility.
4116
4117 2000-12-28  Andy Piper  <andy@xemacs.org>
4118
4119         * lastfile.c (my_ebss): make a char array so we can pad the
4120         bss. Fixes cygwin unexec.
4121
4122         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4123
4124 2000-12-26  Andy Piper  <andy@xemacs.org>
4125
4126         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4127         comments and try and be more precise about a non-/SIGIO world.
4128         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4129         SIGIO.
4130
4131         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4132         we don't normalize to zero width or height.
4133
4134 2000-12-24  Andy Piper  <andy@xemacs.org>
4135
4136         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4137
4138 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4139
4140         * s/sco5.h: SCO 5 has pty support.
4141
4142 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4143
4144         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4145         input-method-xlib.c contains whole contents of input-method-xfs.c,
4146         so we can use input-method-xlib.c's code for USE_XFONTSET
4147         using #ifdefs.
4148         * input-method-xfs.c: removed.
4149
4150 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4151
4152         * file-coding.h (enum coding_category_type): reorder enumerators to
4153         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4154         (now one greater than largest real coding_category_type enumerator).
4155         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4156         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4157         Fcoding_category_list, Fset_coding_priority_list,
4158         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4159         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4160
4161 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4162
4163         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4164         * redisplay-output.c (redisplay_output_window): Clear top of window
4165         when face is changed.
4166         * redisplay-x.c (x_redraw_exposed_window): Call
4167         redisplay_clear_top_of_window.
4168         * redisplay.h: Publish redisplay_clear_top_of_window.
4169
4170 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4171
4172         * buffer.c (Fkill_buffer): Map over all devices.
4173         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4174         (list_windows): New function.
4175         (list_all_windows): Ditto.
4176         (Freplace_buffer_in_windows): Use them.
4177
4178 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4179
4180         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4181         (Fopen_database): Use `db_create' instead of `db_open'.
4182         (syms_of_database): Initialize Qqueue.
4183
4184 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4185
4186         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4187         buffer_local_face_property.
4188         * buffer.h (struct buffer): New member buffer_local_face_property.
4189         * window.c (Fset_window_buffer):  Mark window's face as changed
4190         when buffer has buffer local face.
4191         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4192         * objects.c (color_after_change): Set buffer_local_face_property
4193         when locale of face specifier is buffer.
4194         * objects.c (font_after_change): Ditto.
4195         * objects.c (face_boolean_after_change): Ditto.
4196         * glyphs.c (image_after_change): Ditto.
4197
4198 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4199
4200         * nt.c (mswindows_fstat): Report file permissions, volume serial
4201         number, etc. Code adapted from FSF Emacs 20.7.
4202
4203 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4204
4205         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4206         of stat when we don't have symbolic links, to make sure
4207         mswindows_stat is called on mswindows.
4208
4209 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4210
4211         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4212
4213 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4214
4215         * doprnt.c (emacs_doprnt_1): More printing fixes.
4216         Make printing of numbers compatible with libc and FSF Emacs.
4217         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4218         Use the system printf to do most of the hard work of formatting,
4219         instead of doprnt_1().
4220         Calculate memory to allocate for format string.
4221         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4222         (doprnt_1): Cleaner code and documentation.
4223
4224 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4225
4226         * Makefile.in.in: Use the loop variable to install headers.
4227
4228 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4229
4230         * window.c (Fsplit_window): Don't invalidate face cache.
4231
4232 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4233
4234         * minibuf.c (Fall_completions): Undo the previous change
4235         which removed checking elements start with space.
4236
4237 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4238
4239         * mule-canna.c: Didier suppression.
4240
4241 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4242
4243         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4244         (warning suppression).  Add English comment translations.
4245
4246 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4247
4248         * unexelfsgi.c (unexec): Better test for mmap failure.
4249
4250 2000-12-05  Martin Buchholz <martin@xemacs.org>
4251
4252         * XEmacs 21.2.38 is released.
4253
4254 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4255
4256         * redisplay.c (bar-cursor): Make a user variable.
4257
4258         * symsinit.h: Add init_postgresql_from_environment.
4259
4260 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4261
4262         * regex.c: Convert to clean C.
4263
4264 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4265
4266         * realpath.c:
4267         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4268         initialization.
4269         (sys_readlink): renamed to system_readlink to avoid conflict with
4270         the other sys_readlink.
4271
4272 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4273
4274         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4275
4276 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4277
4278         * postgresql.c (init_postgresql_from_environment): new function.
4279         (vars_of_postgresql): Move code initializing Lisp variables out and
4280         into init_postgresql_from_environment.
4281         emacs.c (main_1): Call init_postgresql_from_environment if and only
4282         if running a dumped XEmacs.
4283
4284 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4285
4286         * buffer.c: Make find-file-compare-truenames default to true on
4287         windows.
4288
4289         * realpath.c (win32_abs_start):
4290         (cygwin_readlink):
4291         (win32_readlink): New functions.
4292         (xrealpath): Return really real filenames on windows.
4293
4294         * fileio.c (Ffile_truename): Make file-truename work on windows.
4295
4296 2000-11-29  Didier Verna  <didier@xemacs.org>
4297
4298         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4299         * faces.c (update_face_cachel_data): use it.
4300         * faces.c (add_face_cachel): use it. Complete background pixmap
4301         frobbing in face cache if `update_face_cachel_data' has not done so.
4302
4303 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4304
4305         * search.c (string_match_1): Don't set last_thing_searched
4306         when search failed.
4307
4308 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4309
4310         * buffer.c: Include casetab.h
4311         (common_init_complex_vars_of_buffer): Use new case-table object.
4312         * buffer.h: Include casetab.h
4313         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4314         (DOWNCASE_TABLE_OF): Ditto.
4315         * bufslots.h: Remove char-tables and add case-table.
4316         * casetab.c: Include casetab.h
4317         (CASE_TABLE_P): Removed.
4318         (mark_case_table): New function.
4319         (allocate_case_table): New function.
4320         (Fcase_table_p): Use new case-table.
4321         (case_table_char): New function.
4322         (Fget_case_table): Ditto.
4323         (Fput_case_table): Ditto.
4324         (Fput_case_table_pair): Ditto.
4325         (Fcopy_case_table): Ditto.
4326         (Fcurrent_case_table): Return case-table.
4327         (Fstandard_case_table): Return case-table.
4328         (Fset_case_table): Fix doc-string.
4329         (set_case_table): Use case-table
4330         (syms_of_casetab): DEFSUBR new functions.
4331         (complex_vars_of_casetab): Set up standard case-table.
4332         * casetab.h: New file.
4333         * editfns.c: Include casetab.h
4334         (Fcompare_buffer_substrings): Use case-table.
4335         * inline.c: Include casetab.h
4336         * lisp.h: Remove bogus extern.
4337         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4338         * search.c: Include casetab.h
4339         (TRANSLATE_ASCII): Removed.
4340         (TRANSLATE): Unconditionally translate character.
4341         (looking_at_1): Use case-table.
4342         (string_match_1): Ditto.
4343         (fast_string_match): Ditto.
4344         (search_command): Ditto.
4345         (search_buffer): Separate boyer_moore.  Check whether
4346         boyer_moore is possible.
4347         (simple_search): New function.
4348         (boyer_moore): Separated from search_buffer. Translate char.
4349
4350 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4351
4352         * regex.c (RE_TR_ASCII): Removed.
4353         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4354         (PATFETCH): Call PATFETCH_RAW.
4355         (PATFETCH_RAW): Fetch Emchar.
4356         (PATUNFETCH): Decrement charptr.
4357         (GET_BUFFER_SPACE): Rename b to buf_end.
4358         (BUF_PUSH): Ditto.
4359         (BUF_PUSH_2): Ditto.
4360         (BUF_PUSH_3): Ditto.
4361         (EXTEND_BUFFER): Ditto.
4362         (SET_LIST_BIT): Ditto.
4363         (regex_compile): Ditto.  Translate non ASCII char.
4364         (compile_range): Ditto.
4365         (re_search_2): Ditto.
4366         (re_match_2_internal): Compare Emchar.
4367         (bcmp_translate): Ditto.
4368
4369 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4370
4371         * lisp.h (basic char/int typedefs):  comment improvement.
4372
4373 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4374
4375         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4376         unstomp inhibit_site_lisp.  Improve comments.
4377
4378 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4379
4380         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4381
4382 2000-11-28  Andy Piper  <andy@xemacs.org>
4383
4384         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4385         clipped display for windows in the gutter also.
4386         (redisplay_display_boxes_in_window_p): change semantics of return
4387         codes to be more intuitive.
4388
4389         * gutter.h: declare display_boxes_in_gutter_p.
4390
4391         * gutter.c (display_boxes_in_gutter_p): new function for
4392         redisplay.
4393
4394 2000-11-22  Andy Piper  <andy@xemacs.org>
4395
4396         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4397         autodetect domain.
4398
4399 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4400
4401         * callproc.c (Fold_call_process_internal):
4402         * gpm.c (Freceive_gpm_event):
4403         (tty_get_foreign_selection): Might be just warning supression.
4404         * fileio.c (Fwrite_region_internal):
4405         (Fset_visited_file_modtime):
4406         * keymap.c (event_matches_key_specifier_p):
4407         Initialize GCPROed variable.
4408
4409         * menubar-x.c (command_builder_find_menu_accelerator):
4410         Initialize before use.
4411
4412 2000-11-23  Andy Piper  <andy@xemacs.org>
4413
4414         * unexcw.c (unexec): make the resulting executable executable.
4415
4416 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4417
4418         * doc.c (get_doc_string):
4419         Use size_t, not int, for result of XSTRING_LENGTH.
4420
4421         * cmds.c (Fdelete_char):
4422         * cmds.c (Fpoint_at_eol):
4423         * cmds.c (Fself_insert_command):
4424         Use EMACS_INT, not int, for result of XINT.
4425         Someday, someone will want to insert more than 2**31 identical characters.
4426
4427         * cmds.c (Fdelete_char):
4428         * cmds.c (Fdelete_backward_char):
4429         * syntax.c (Fforward_word):
4430         * syntax.c (Fforward_comment):
4431         Make COUNT argument optional, for consistency with forward-char et al.
4432
4433 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4434
4435         * lisp.h:
4436         * print.c (long_to_string):
4437         Return a useful value: the pointer at end of data written.
4438
4439         * doprnt.c:
4440         Use `static const char * const' for constant strings.
4441         (union printf_arg): Delete `i', `ui' members.
4442         (get_doprnt_args):
4443         (emacs_doprnt_1):
4444         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4445         Do all printf-ing via the `l' specifier.
4446         Use EMACS_INT instead of int.
4447         Optimize.
4448
4449 2000-11-20  Didier Verna  <didier@xemacs.org>
4450
4451         * faces.c (update_face_cachel_data): don't frob the background
4452         pixmap when the window is being created. The face is needed but
4453         does not exist yet.
4454
4455 2000-11-20  Andy Piper  <andy@xemacs.org>
4456
4457         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4458         messing with a debug environment.
4459
4460 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4461
4462         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4463
4464 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4465
4466         * casetab.c (Fcase_table_p): Fix compile error and crash.
4467
4468 2000-11-18  Philip Aston  <philipa@mail.com>
4469
4470         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4471
4472 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4473
4474         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4475         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4476
4477 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4478
4479         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4480         * unexelf.c: Use HAVE_ELF_H.
4481         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4482         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4483         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4484         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4485         for testing.
4486         So this is an unexelfsgi.c from a different line of development.
4487
4488 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4489
4490         * regex.c (RE_TR_ASCII): New function.
4491         (RE_TRANSLATE): Call it.
4492
4493 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4494
4495         * buffer.h (TRT_TABLE_OF): Remove assert.
4496         (IN_TRT_TABLE_DOMAIN): Removed.
4497
4498 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4499
4500         * free-hook.c (log_gcpro):
4501         (show_gcprohist): Add support for GCPRO5.
4502
4503 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4504
4505         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4506
4507 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4508
4509         * symeval.h: Declare flush_all_buffer_local_cache.
4510
4511         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4512         (flush_buffer_local_cache): Added.
4513         (flush_all_buffer_local_cache): Added.
4514
4515         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4516
4517         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4518         (pdump_dump_data): Ditto.
4519         (pdump_reloc_one): Ditto.
4520         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4521         before dumping.
4522
4523
4524 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4525
4526         * buffer.c: Remove if 0'ed entry.
4527         * buffer.h: Rewrite TRT to use char-table.
4528         * bufslots.h: Remove mirror tables.
4529         * casetab.c: Remove mirror tables.
4530         (CASE_TABLE_P): New macro.
4531         (Fcase_table_p): Element of a case table is string or char-table.
4532         (make_mirror_trt_table): Removed.
4533         (set_case_table): Setup char-table from strings for backward
4534         compatibility.
4535         * dired.c (Fdirectory_files):
4536         * dired-msw.c: (mswindows_get_files):
4537         * lisp.h: Change prototype of re_pattern_buffer.
4538         * regex.c: (RE_TRANSLATE): New macro.
4539         (TRANSLATE_P): Ditto.
4540         Change translate to type RE_TRANSLATE_TYPE.
4541         * regex.h: Define RE_TRANSLATE_TYPE
4542         * search.c (TRANSLATE): New macro.
4543         (TRANSLATE_ASCII): New macro.
4544         Translate table is changed to Lisp_Object.
4545         (signal_failure): Inhibit return.
4546
4547 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4548
4549         * device-msw.c:
4550         * eldap.c:
4551         * event-Xt.c:
4552         * event-stream.c:
4553         * print.c:
4554         Do UNGCPRO before return.
4555
4556 2000-11-14  Martin Buchholz <martin@xemacs.org>
4557
4558         * XEmacs 21.2.37 is released.
4559
4560 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4561
4562         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4563         Add comments about discarded return value.
4564
4565 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4566
4567         * callint.c:
4568         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4569
4570 2000-10-27  Andy Piper  <andy@xemacs.org>
4571
4572         * gutter.c (Fset_default_gutter_position): default left and right
4573         gutters to visible.
4574         (calculate_gutter_size): calculate resonable heuristic for left
4575         and right gutter sizes.
4576         (specifier_vars_of_gutter): change left and right gutter sizes to
4577         autodetect.
4578         (calculate_gutter_size_from_display_lines): new function.
4579         (output_gutter): check for resizing on left and right gutters.
4580         (clear_gutter): don't special case top and left gutters.
4581         (specifier_vars_of_gutter): use new signature for
4582         set_specifier_caching.
4583
4584         * glyphs-x.c (x_redisplay_widget): spelling fix.
4585         * glyphs.c (specifier_vars_of_glyphs):
4586         * menubar.c (specifier_vars_of_menubar):
4587         * redisplay.c (specifier_vars_of_redisplay):
4588         * toolbar.c (specifier_vars_of_toolbar):
4589         * window.c (specifier_vars_of_window):
4590         * scrollbar.c (specifier_vars_of_scrollbar):
4591         (complex_vars_of_scrollbar): use new signature for
4592         set_specifier_caching.
4593
4594         * specifier.c (set_specifier_caching): include recompute flag.
4595         (recompute_one_cached_specifier_in_window): always recompute if
4596         flag set.
4597         (recompute_one_cached_specifier_in_frame): ditto.
4598
4599         * specifier.h (struct specifier_caching): add recompute flag.
4600
4601 2000-10-24  Andy Piper  <andy@xemacs.org>
4602
4603         * unexcw.c (copy_executable_and_dump_data_section): add new
4604         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4605         5.0 happy.
4606
4607 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4608
4609         * console-x.h (x_device): New member modifier_release_time.
4610         * event-Xt.c (x_handle_sticky_modifiers):
4611         Bound interval modifier keys are sticky.
4612         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4613         * events.h: extern it.
4614
4615 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4616
4617         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4618
4619 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4620
4621         * event-stream.c (execute_command_event): Preserve current_events
4622         and the like when event is misc-user-event.
4623         Inhibit quit during the call to maybe_echo_keys.
4624
4625 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4626
4627         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4628         symlink when buffer is killed.
4629         (inhibit_clash_detection): New variable.
4630
4631 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4632
4633         * console.c (Fset_input_method): Trigger redisplay on tty.
4634
4635 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4636
4637         * process.c (Fprocess_status): Revert to previous behavior:
4638         (process-status "nosuchprocess") ==> nil
4639
4640 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4641
4642         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4643         Work around another GCC 2.95.2 optimizer bug.
4644
4645 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4646
4647         * process.c (Fget_process): Use LIST_LOOP_2.
4648         (kill_buffer_processes): Use LIST_LOOP_2.
4649
4650         * minibuf.c (Fall_completions):
4651         Delete old non-functional code for FSF fourth argument.
4652
4653         * frame.c (frame_matches_frame_spec):
4654         Renamed from `frame_matches_frametype'.  Update all callers.
4655         (device_matches_device_spec):
4656         Renamed from 'device_matches_console_spec'.  Update all callers.
4657
4658         * doc.c (Fsubstitute_command_keys):
4659         Remove buffer overflow crash.  Small code cleanups.
4660
4661         * casetab.c (check_case_table): Simpler code.
4662
4663         * window.c (Freplace_buffer_in_windows):
4664         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4665         (and similar implementation) as Fdelete_windows_on.
4666         Update all callers.
4667
4668         * alloc.c (Fmake_list):
4669         * alloc.c (make_vector):
4670         * alloc.c (Fmake_vector):
4671         * alloc.c (make_bit_vector):
4672         * alloc.c (Fmake_bit_vector):
4673         * alloc.c (Fbit_vector):
4674         * alloc.c (Fmake_string):
4675         * alloc.c (Fpurecopy):
4676         * alloc.c (Fmemory_limit):
4677         * buffer.c:
4678         * buffer.c (Fget_buffer):
4679         * buffer.c (Fkill_buffer):
4680         * buffer.c (complex_vars_of_buffer):
4681         * bytecode.c (Fcompiled_function_stack_depth):
4682         * callint.c (Fprefix_numeric_value):
4683         * event-stream.c:
4684         * event-stream.c (Fread_key_sequence):
4685         * casetab.c:
4686         * casetab.c (Fcase_table_p):
4687         * casetab.c (check_case_table):
4688         * casetab.c (Fset_case_table):
4689         * casetab.c (Fset_standard_case_table):
4690         * chartab.c:
4691         * chartab.c (Fchar_table_type):
4692         * chartab.c (Freset_char_table):
4693         * chartab.c (Fget_char_table):
4694         * chartab.c (Fget_range_char_table):
4695         * chartab.c (Fput_char_table):
4696         * chartab.c (Fmap_char_table):
4697         * chartab.c (Fcategory_table_p):
4698         * chartab.c (Fcheck_category_at):
4699         * chartab.c (Fchar_in_category_p):
4700         * chartab.c (Fcategory_table):
4701         * chartab.c (Fcopy_category_table):
4702         * chartab.c (Fset_category_table):
4703         * chartab.c (Fcategory_designator_p):
4704         * chartab.c (Fcategory_table_value_p):
4705         * cmds.c (Fdelete_char):
4706         * cmds.c (Fdelete_backward_char):
4707         * cmds.c (Fself_insert_command):
4708         * cmds.c (Fself_insert_internal):
4709         * console.c (Fvalid_console_type_p):
4710         * console.c (Fcdfw_console):
4711         * console.c (Fconsole_type):
4712         * console.c (Fconsole_name):
4713         * console.c (Fconsole_device_list):
4714         * console.c (Fconsole_on_window_system_p):
4715         * data.c:
4716         * data.c (Feq):
4717         * data.c (Fold_eq):
4718         * data.c (Fsubr_interactive):
4719         * data.c (Fchar_to_int):
4720         * data.c (Fint_to_char):
4721         * data.c (Fsetcar):
4722         * data.c (Fsetcdr):
4723         * data.c (Fnumber_to_string):
4724         * data.c (Fstring_to_number):
4725         * data.c (Frem):
4726         * database.c (mark_database):
4727         * database.c (finalize_database):
4728         * database.c (Fdatabase_live_p):
4729         * database.c (Fdatabasep):
4730         * device-x.c (Fx_get_resource):
4731         * device.c (Fdfw_device):
4732         * dired.c:
4733         * dired.c (Ffile_name_completion):
4734         * dired.c (Ffile_name_all_completions):
4735         * dired.c (Fuser_name_completion):
4736         * dired.c (Fuser_name_completion_1):
4737         * dired.c (Fuser_name_all_completions):
4738         * doc.c (Fdocumentation):
4739         * doc.c (Fdocumentation_property):
4740         * doc.c (Fsubstitute_command_keys):
4741         * editfns.c:
4742         * editfns.c (Fchar_to_string):
4743         * editfns.c (Fstring_to_char):
4744         * editfns.c (Ftemp_directory):
4745         * editfns.c (Finsert_char):
4746         * editfns.c (Fbuffer_substring_no_properties):
4747         * editfns.c (Fnarrow_to_region):
4748         * editfns.c (Fchar_equal):
4749         * editfns.c (Fchar_Equal):
4750         * editfns.c (Ftranspose_regions):
4751         * emacs.c (Fdump_emacs):
4752         * eval.c (Fthrow):
4753         * eval.c (Fcommand_execute):
4754         * eval.c (Fautoload):
4755         * eval.c (Fbacktrace):
4756         * eval.c (Fbacktrace_frame):
4757         * events.c:
4758         * events.c (Fcopy_event):
4759         * events.c (Fcharacter_to_event):
4760         * events.c (Fevent_button):
4761         * events.c (Fevent_process):
4762         * extents.c:
4763         * extents.c (Fnext_extent_change):
4764         * extents.c (Fextent_property):
4765         * faces.c (Ffacep):
4766         * faces.c (Fmake_face):
4767         * file-coding.c:
4768         * file-coding.c (Fencode_shift_jis_char):
4769         * file-coding.c (Fencode_big5_char):
4770         * fileio.c (Ffile_name_directory):
4771         * fileio.c (Ffile_name_nondirectory):
4772         * fileio.c (Ffile_name_as_directory):
4773         * fileio.c (Fdirectory_file_name):
4774         * fileio.c (Ffile_truename):
4775         * fileio.c (Fsubstitute_in_file_name):
4776         * fileio.c (Ffile_modes):
4777         * fileio.c (Fset_file_modes):
4778         * fileio.c (Fset_default_file_modes):
4779         * fileio.c (Fverify_visited_file_modtime):
4780         * floatfns.c (Facos):
4781         * floatfns.c (Fasin):
4782         * floatfns.c (Fatan):
4783         * floatfns.c (Fcos):
4784         * floatfns.c (Fsin):
4785         * floatfns.c (Ftan):
4786         * floatfns.c (Fbessel_j0):
4787         * floatfns.c (Fbessel_j1):
4788         * floatfns.c (Fbessel_jn):
4789         * floatfns.c (Fbessel_y0):
4790         * floatfns.c (Fbessel_y1):
4791         * floatfns.c (Fbessel_yn):
4792         * floatfns.c (Ferf):
4793         * floatfns.c (Ferfc):
4794         * floatfns.c (Flog_gamma):
4795         * floatfns.c (Fexp):
4796         * floatfns.c (Fexpt):
4797         * floatfns.c (Flog):
4798         * floatfns.c (Flog10):
4799         * floatfns.c (Fsqrt):
4800         * floatfns.c (Fcube_root):
4801         * floatfns.c (Facosh):
4802         * floatfns.c (Fasinh):
4803         * floatfns.c (Fatanh):
4804         * floatfns.c (Fcosh):
4805         * floatfns.c (Fsinh):
4806         * floatfns.c (Ftanh):
4807         * floatfns.c (Fabs):
4808         * floatfns.c (Ffloat):
4809         * floatfns.c (Flogb):
4810         * floatfns.c (Fceiling):
4811         * floatfns.c (Ffloor):
4812         * floatfns.c (Fround):
4813         * floatfns.c (Ftruncate):
4814         * floatfns.c (Ffceiling):
4815         * floatfns.c (Fffloor):
4816         * floatfns.c (Ffround):
4817         * floatfns.c (Fftruncate):
4818         * fns.c (Fstring_equal):
4819         * fns.c (Fstring_lessp):
4820         * fns.c (concat2):
4821         * fns.c (concat3):
4822         * fns.c (vconcat2):
4823         * fns.c (vconcat3):
4824         * fns.c (Fsubstring):
4825         * fns.c (Fassoc):
4826         * fns.c (Fold_assoc):
4827         * fns.c (assoc_no_quit):
4828         * fns.c (Fassq):
4829         * fns.c (Fold_assq):
4830         * fns.c (assq_no_quit):
4831         * fns.c (Frassoc):
4832         * fns.c (Fold_rassoc):
4833         * fns.c (Frassq):
4834         * fns.c (Fold_rassq):
4835         * fns.c (rassq_no_quit):
4836         * fns.c (Fremassoc):
4837         * fns.c (remassoc_no_quit):
4838         * fns.c (Fremassq):
4839         * fns.c (remassq_no_quit):
4840         * fns.c (Fremrassoc):
4841         * fns.c (Fremrassq):
4842         * fns.c (remrassq_no_quit):
4843         * fns.c (Fsort):
4844         * fns.c (Fplist_get):
4845         * fns.c (Fplist_put):
4846         * fns.c (Fplist_remprop):
4847         * fns.c (Fplist_member):
4848         * fns.c (Flax_plist_get):
4849         * fns.c (Flax_plist_put):
4850         * fns.c (Flax_plist_remprop):
4851         * fns.c (Flax_plist_member):
4852         * fns.c (Fequal):
4853         * fns.c (Fold_equal):
4854         * fns.c (Frequire):
4855         * fns.c (Fbase64_encode_region):
4856         * fns.c (Fbase64_encode_string):
4857         * fns.c (Fbase64_decode_region):
4858         * frame.c:
4859         * frame.c (frame_matches_frame_spec):
4860         * frame.c (device_matches_device_spec):
4861         * frame.c (next_frame):
4862         * frame.c (previous_frame):
4863         * frame.c (Fnext_frame):
4864         * frame.c (Fprevious_frame):
4865         * frame.c (Fframe_property):
4866         * frame.c (Fset_frame_height):
4867         * frame.c (Fset_frame_size):
4868         * frame.h:
4869         * glyphs.c:
4870         * glyphs.c (if):
4871         * glyphs.c (decode_error_behavior_flag):
4872         * glyphs.c (Fmake_image_instance):
4873         * indent.c (Findent_to):
4874         * intl.c (Fignore_defer_gettext):
4875         * keymap.c (Fkeymapp):
4876         * keymap.c (Flookup_key):
4877         * lread.c:
4878         * lread.c (Fload_internal):
4879         * lread.c (Feval_buffer):
4880         * lread.c (Feval_region):
4881         * macros.c (Fexecute_kbd_macro):
4882         * marker.c (set_marker_internal):
4883         * marker.c (Fset_marker):
4884         * marker.c (set_marker_restricted):
4885         * marker.c (Fcopy_marker):
4886         * marker.c (noseeum_copy_marker):
4887         * menubar.c:
4888         * menubar.c (Fpopup_menu):
4889         * minibuf.c:
4890         * mule-charset.c (Fcharset_name):
4891         * mule-charset.c (Fchar_charset):
4892         * mule-charset.c (Fchar_octet):
4893         * mule-charset.c (Fsplit_char):
4894         * mule-wnnfns.c (Fwnn_open):
4895         * mule-wnnfns.c (Fwnn_dict_comment):
4896         * mule-wnnfns.c (Fwnn_quit_henkan):
4897         * mule-wnnfns.c (Fwnn_word_toroku):
4898         * mule-wnnfns.c (Fwnn_word_sakujo):
4899         * mule-wnnfns.c (Fwnn_word_use):
4900         * mule-wnnfns.c (Fwnn_hindo_set):
4901         * objects.c:
4902         * objects.c (Fmake_color_instance):
4903         * objects.c (Fmake_font_instance):
4904         * print.c (Fwrite_char):
4905         * process.c:
4906         * process.c (mark_process):
4907         * process.c (print_process):
4908         * process.c (get_process_from_usid):
4909         * process.c (Fprocessp):
4910         * process.c (Fprocess_live_p):
4911         * process.c (Fget_process):
4912         * process.c (Fget_buffer_process):
4913         * process.c (get_process):
4914         * process.c (Fprocess_id):
4915         * process.c (Fprocess_name):
4916         * process.c (Fprocess_command):
4917         * process.c (init_process_io_handles):
4918         * process.c (start_process_unwind):
4919         * process.c (Fstart_process_internal):
4920         * process.c (Fopen_multicast_group_internal):
4921         * process.c (Fset_process_window_size):
4922         * process.c (read_process_output):
4923         * process.c (send_process):
4924         * process.c (Fprocess_tty_name):
4925         * process.c (Fset_process_buffer):
4926         * process.c (Fprocess_buffer):
4927         * process.c (Fprocess_mark):
4928         * process.c (set_process_filter):
4929         * process.c (Fset_process_filter):
4930         * process.c (Fprocess_filter):
4931         * process.c (Fprocess_send_region):
4932         * process.c (Fprocess_send_string):
4933         * process.c (exec_sentinel):
4934         * process.c (Fset_process_sentinel):
4935         * process.c (Fprocess_sentinel):
4936         * process.c (status_notify):
4937         * process.c (Fprocess_status):
4938         * process.c (Fprocess_exit_status):
4939         * process.c (process_send_signal):
4940         * process.c (Fprocess_send_eof):
4941         * process.c (deactivate_process):
4942         * process.c (remove_process):
4943         * process.c (Fdelete_process):
4944         * process.c (kill_buffer_processes):
4945         * process.c (Fprocess_kill_without_query):
4946         * process.c (Fprocess_kill_without_query_p):
4947         * rangetab.c:
4948         * rangetab.c (Fget_range_table):
4949         * rangetab.c (Fput_range_table):
4950         * rangetab.c (Fremove_range_table):
4951         * rangetab.c (Fclear_range_table):
4952         * search.c:
4953         * search.c (Fskip_chars_forward):
4954         * search.c (Fskip_chars_backward):
4955         * search.c (Fskip_syntax_forward):
4956         * search.c (Fskip_syntax_backward):
4957         * search.c (search_command):
4958         * search.c (Freplace_match):
4959         * search.c (Fregexp_quote):
4960         * select.c (Fown_selection_internal):
4961         * select.c (Fselection_owner_p):
4962         * select.c (Fselection_exists_p):
4963         * select.c (Fget_selection_internal):
4964         * specifier.c:
4965         * symbols.c:
4966         * symbols.c (Fintern):
4967         * symbols.c (Fintern_soft):
4968         * symbols.c (Funintern):
4969         * symbols.c (Fapropos_internal):
4970         * symbols.c (Fset_default):
4971         * syntax.c:
4972         * syntax.c (Fsyntax_table_p):
4973         * syntax.c (Fcopy_syntax_table):
4974         * syntax.c (Fset_syntax_table):
4975         * syntax.c (Fchar_syntax):
4976         * syntax.c (syntax_match):
4977         * syntax.c (Fmatching_paren):
4978         * syntax.c (Fforward_word):
4979         * syntax.c (scan_lists):
4980         * syntax.c (Fscan_lists):
4981         * syntax.c (Fscan_sexps):
4982         * syntax.c (Fparse_partial_sexp):
4983         * toolbar.c (Fcheck_toolbar_button_syntax):
4984         * tooltalk.doc:
4985         * window.c:
4986         * window.c (Fwindowp):
4987         * window.c (Fwindow_live_p):
4988         * window.c (Fwindow_point):
4989         * window.c (Fdelete_window):
4990         * window.c (Fnext_window):
4991         * window.c (Fprevious_window):
4992         * window.c (Fother_window):
4993         * window.c (window_loop):
4994         * window.c (Fget_lru_window):
4995         * window.c (Fsplit_window):
4996         * window.c (Fenlarge_window):
4997         * window.c (Fenlarge_window_pixels):
4998         * window.c (Fshrink_window):
4999         * window.c (Fshrink_window_pixels):
5000         * window.c (change_window_height):
5001         * window.c (Fwindow_configuration_p):
5002         * window.c (Fcurrent_window_configuration):
5003         * window.h:
5004         * casefiddle.c (casify_object):
5005         * casefiddle.c (Fupcase):
5006         * casefiddle.c (Fdowncase):
5007         * casefiddle.c (Fcapitalize):
5008         * casefiddle.c (Fupcase_initials):
5009         * casefiddle.c (casify_region_internal):
5010         * casefiddle.c (casify_region):
5011         * casefiddle.c (Fupcase_region):
5012         * casefiddle.c (Fdowncase_region):
5013         * casefiddle.c (Fcapitalize_region):
5014         * casefiddle.c (Fupcase_initials_region):
5015         * casefiddle.c (Fupcase_word):
5016         * casefiddle.c (Fdowncase_word):
5017         * casefiddle.c (Fcapitalize_word):
5018         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5019         Replace 0 with '\0' when working with bytes.
5020         Replace initial "(" with "\(" in docstrings.
5021
5022 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5023
5024         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5025
5026         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5027
5028 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5029
5030         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5031
5032 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5033
5034         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5035         correctly.
5036
5037 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5038
5039         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5040         (inhibit_auto_save_session): New variable.
5041         (vars_of_fileio): Declare and initialize them.
5042         * fileio.c (Fdo_auto_save): Don't create session file if
5043         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5044
5045 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5046
5047         * sgiplay.c (play_internal): C++ compilability.
5048         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5049         * callproc.c (Fold_call_process_internal):
5050         Remove unused vars `env', `first'.
5051         * scrollbar.c (update_scrollbar_instance):
5052         #### unused var `current_window'.
5053         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5054         etc. within #ifdef NOT_YET.
5055         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5056         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5057         * specifier.c (specifier_instance):
5058         #### unused var `tag'.
5059         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5060
5061 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5062
5063         * fns.c (Fbutlast):
5064         * fns.c (list_sort):
5065         * fns.c (Ffillarray):
5066         * fns.c (bytecode_nconc2):
5067         * fns.c (Fnconc):
5068         * fns.c (mapcar1):
5069         * fns.c (Fmapconcat):
5070         Be pedantically 64-bit correct.  For the time when someone will
5071         want to have a list with length > 2**32.
5072
5073         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5074         Work around MIPSpro compiler bug.
5075
5076         * process-unix.c (unix_kill_child_process): Add snarky comment.
5077         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5078
5079         * config.h.in: Oops, _getpt ==> _getpty
5080
5081 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5082
5083         * config.h.in:
5084         * regex.c:
5085         Use void*, not char*, as return type of alloca().
5086
5087         * alloc.c (free_marker): Side effect inside assert expression!
5088
5089 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5090
5091         * mule-charset.c (Fset_charset_ccl_program): To check
5092         if the given ccl program is valid, use setup_ccl_program()
5093         instead of CHECK_VECTOR().
5094         (Fmake_charset): Likewise.
5095
5096 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5097
5098         * faces.c (get_extent_fragment_face_cache_index):
5099         Fix cachel.merged_faces memory leak.
5100
5101 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5102
5103         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5104         Reset MSB of octets obtained by DECODE_SJIS
5105         because of the incompatibility with Emacs.
5106         (ccl_driver)<CCL_ENCODE_SJIS>:
5107         Set MSB of octets before passing them to
5108         ENCODE_SJIS because of the incompatibility
5109         with Emacs.
5110
5111 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5112
5113         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5114         (DECLARE_LRECORD): Undo the last change.
5115         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5116
5117 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5118
5119         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5120         the implementation to lrecord_implementations_table.
5121
5122 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5123
5124         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5125         initial value of `lrecord_type_##c_name' and
5126         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5127         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5128         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5129         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5130         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5131
5132 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5133
5134         * miscplay.c (sndcnv8S_2mono):
5135         (sndcnv2monounsigned):
5136         (sndcnvULaw_2linear):
5137         (sndcnv16swap):
5138         Remove implementation-defined behavior.
5139
5140 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5141
5142         * input-method-xlib.c: Warning suppression.
5143
5144 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5145
5146         * mule-ccl.c: Sync up with Emacs 21.0.90.
5147         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5148         Do nothing.
5149         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5150         Likewise.
5151         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5152         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5153         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5154         leading char belongs to official 2-dimensional charset.
5155         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5156         write the given character as is.  Otherwise,
5157         if it is a multibyte char, convert it by
5158         non_ascii_set_charptr_emchar, then write it.
5159         (CCL_WRITE_STRING): Likewise.
5160         (ccl_get_compiled_code): New function.
5161         (setup_ccl_program): When ccl_prog is invalid,
5162         return -1.
5163         (Fregister_code_conversion_map): New function.
5164         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5165
5166         * mule-ccl.h: Sync up with Emacs 21.0.90.
5167         (Fregister_ccl_program): export it.
5168
5169         * redisplay-msw.c (separate_textual_runs):
5170         If ccl program is not valid, don't do ccl conversion.
5171
5172         * redisplay-x.c (separate_textual_runs): Ditto.
5173
5174         * file-coding.c (Fmake_coding_system):
5175         When type is ccl and value is vector, register it
5176         with a proper symbol.  And checks whether the
5177         given ccl program is valid.
5178         (mule_decode): When calling ccl_driver, if src indicates
5179         NULL pointer, set an empty string instead.
5180         (mule_encode): Likewise.
5181
5182 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5183
5184         The following large batch of changes gets us back to a state of
5185         C++ compilability.  Extbyte is now a char, which means that
5186         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5187
5188         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5189
5190         * sound.c (Fplay_sound): Type correctness.
5191
5192         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5193         (x_get_window_property): Type correctness.
5194         (receive_incremental_selection): unsigned char ==> Extbyte
5195         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5196         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5197         (Fx_store_cutbuffer_internal): Type correctness.
5198
5199         * process-unix.c (try_to_initialize_subtty): Type correctness.
5200
5201         * objects-x.c (x_print_color_instance): Type correctness.
5202         (x_print_font_instance): Type correctness.
5203         (x_list_fonts): SExtbyte ==> Extbyte.
5204         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5205         (x_find_charset_font): SExtbyte ==> Extbyte.
5206         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5207         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5208         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5209         Use bufbyte_strcmp.
5210
5211         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5212         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5213         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5214         (BYTE_C0_P): Use bit ops for char-signedness safety.
5215         (BYTE_C1_P): Use bit ops for char-signedness safety.
5216         (CHARSET_BY_LEADING_BYTE):
5217         (CHARSET_BY_ATTRIBUTES):
5218         Always use inline function.
5219         Use type_checking_assert.
5220         Hide chlook.
5221
5222         * mule-charset.c (non_ascii_charptr_copy_char):
5223         Modify to work with both ASCII and non-ASCII characters.
5224         Improve docs and variable names.
5225         Replace over-clever fall-through switch with a simple loop.
5226         (Lstream_get_emchar_1):
5227         Replace over-clever fall-through switch with a simple loop.
5228
5229         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5230         Warning suppression.
5231
5232         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5233         the return value of Lstream_getc, which could be EOF as well.
5234
5235         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5236
5237         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5238         APIs can be used on Extbytes without casts.  Risky!
5239         (SExtbyte): Remove.
5240         (UExtbyte): Remove.
5241
5242         * input-method-xlib.c (XIM_init_device):
5243         Use Xlib.h instead of IntrinsicP.h.
5244         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5245         which will break in X11R7.
5246         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5247         to call XRegisterIMInstantiateCallback with correct types.
5248
5249         * gui-x.c (button_item_to_widget_value): Type correctness.
5250
5251         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5252
5253         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5254         (xbm_instantiate_1): Type correctness.
5255         (BUILD_GLYPH_INST):  Type correctness.
5256
5257         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5258
5259         * file-coding.c:
5260         (decode_coding_sjis):
5261         (decode_coding_big5):
5262         (decode_coding_ucs4):
5263         (decode_coding_utf8):
5264         (decode_coding_iso2022):
5265         (decode_coding_no_conversion):
5266         Make all decoding functions take an Extbyte * arg.
5267         (encode_coding_sjis):
5268         (encode_coding_big5):
5269         (encode_coding_ucs4):
5270         (encode_coding_utf8):
5271         (encode_coding_iso2022):
5272         (encode_coding_no_conversion):
5273         Make all encoding functions take a Bufbyte * arg.
5274         Use size_t instead of unsigned int for memory sizes.
5275         Only cast to unsigned char whenever dereferencing Extbyte *.
5276
5277         * doc.c (unparesseuxify_doc_string): Type correctness.
5278
5279         * console-x.c (split_up_display_spec):
5280         Rewrite without using details of internal string representation.
5281         (x_semi_canonicalize_device_connection): Type correctness.
5282
5283         * config.h.in:
5284         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5285         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5286         (HAVE_XFREE386): Removed.
5287
5288         * buffer.h (DEC_CHARPTR): `const' correctness.
5289         (bufbyte_strcmp): New.
5290         (bufbyte_memcmp): New.
5291
5292         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5293
5294         * buffer.h (XCHAR_OR_CHAR_INT):
5295         Always use inline function.
5296         Remove redundant type checking assert() - XINT will abort quite nicely.
5297
5298 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5299
5300         * search.c (Freplace_match): Set newtext to an empty string.
5301
5302 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5303
5304         * s/decosf1-3.h: Remove #include of stropts.h
5305         * s/ptx.h: Remove #include of stropts.h
5306         * s/usg5-4.h: Remove #include of stropts.h
5307         * sysproc.h:
5308         * config.h.in:
5309         Use stropts.h, not sys/stropts.h.
5310         Use strtio.h, not sys/strtio.h.
5311
5312 2000-10-04  Martin Buchholz <martin@xemacs.org>
5313
5314         * XEmacs 21.2.36 is released.
5315
5316 2000-09-21  Andy Piper  <andy@xemacs.org>
5317
5318         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5319         changes still involve copying the widget tree.
5320         (update_widget_face): make sure a change is register in the widget
5321         tree. Call update_tab_widget_face appropriately.
5322         (update_tab_widget_face): ditto.
5323         (x_tab_control_redisplay): make sure non-structural changes still
5324         involve copying the widget tree.
5325
5326 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5327
5328         * lread.c (locate_file): Check the path element is non-nil.
5329
5330 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5331
5332         * lisp.h: Warning suppression for SCO compilers.
5333
5334         * redisplay-tty.c (reset_tty_modes): Fix crash.
5335         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5336
5337 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5338
5339         Big signal/process handling overhaul.  Bugs fixed:
5340         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5341         M-x comint-kill-subjob should work for both values nil and t of
5342         process-connection-type. It was broken on most platforms.
5343         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5344         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5345         * process-unix.c: Signal/Process handling overhaul.
5346         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5347         (allocate_pty): Use all available modern methods of allocating
5348         ptys, falling back to old style BSD allocation as a last resort.
5349         Use allegedly more secure Unix98 pty allocation by default.
5350         (allocate_pty_the_old_fashioned_way): New. the last resort.
5351         (unix_create_process): Push ptem, ldterm, ttcompat where
5352         available.  Autoconfiscate.
5353         (try_to_initialize_subtty): New.
5354         (unix_kill_child_process): Proper signal handling for ptys on most
5355         platforms, using special knowledge of AIX, BSD, etc...
5356         (unix_create_process): Always disconnect_controlling_terminal() for
5357         subprocesses, whether using ptys or not.
5358         * process.h: Remove old getpt-dependent PTY code.
5359         * process.c (Fprocess_send_signal): New, obvious generic function.
5360         (decode_signal): New.
5361         (Finterrupt_process):
5362         (Fkill_process):
5363         (Fquit_process):
5364         (Fstop_process):
5365         (Fcontinue_process):
5366         (Fsignal_process): Use decode_signal.
5367         (process_send_signal):
5368         Many docstring corrections.
5369         Allow any signal to be sent to a process object.
5370         * config.h.in: Add symbols for big signal/process overhaul.
5371         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5372         * sysproc.h: Include process-related headers, where available:
5373         sys/stropts.h sys/strtio.h pty.h libutil.h
5374         * s/irix4-0.h:
5375         * s/irix5-0.h:
5376         * s/cygwin32.h:
5377         * s/gnu.h:
5378         * s/linux.h:
5379         * s/hpux.h:
5380         * s/aix3-1.h:
5381         Remove old S&M pty stuff.
5382         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5383         * systty.h: Simplify cpp hackery, improve comments.
5384         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5385
5386         * editfns.c (Fformat_time_string):
5387         Be a little more paranoid with the return value of ctime.
5388
5389         * fileio.c (check_executable):
5390         (check_writable):
5391         Use symbolic constants X_OK, W_OK.
5392
5393         * console-x.c (split_up_display_spec): Fix a warning.
5394
5395 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5396
5397         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5398         * ntproc.c (sys_spawnve): make_string ==> build_string
5399         Small clarity improvements.
5400
5401 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5402
5403         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5404
5405         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5406
5407         * config.h.in (HAVE_STRCASECMP): Remove.
5408
5409 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5410
5411         * redisplay-output.c (redisplay_output_pixmap):
5412         Cleaner and possibly more 64-bit correct code.
5413
5414 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5415
5416         * dumper.c (pdump_load_finish): move restoration of
5417         `noninteractive1' to emacs.c (main_1).
5418         * emacs.c (main_1): protect LISP-visible command-line flags
5419         from pdump_load().
5420
5421 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5422
5423         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5424         DUMP_TARGET instead of literal program names.
5425
5426 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5427
5428         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5429
5430 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5431
5432         * *: Spelling mega-patch
5433
5434 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5435
5436         * fns.c (bad_bad_turtle):
5437         Delete "Eek!" comment, since we fixed the bug to which it refers.
5438
5439 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5440
5441         * alloca.c: Replace REGISTER with register.
5442
5443 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5444
5445         * file-coding.c (ucs_to_char): Use countof.
5446
5447 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5448
5449         * file-coding.c: (ucs_to_char):
5450         (complex_vars_of_file_coding):
5451         Use countof instead of sizeof.
5452         Use CHECK_NATNUM instead of CHECK_INT.
5453
5454         * sysdep.c (strcasecmp): Remove.
5455         * device-x.c (ascii_strcasecmp): New.
5456         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5457         Avoid using non-standard non-portable strcasecmp.
5458
5459 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5460
5461         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5462         * font-lock.c: remove reference to emacsfns.h.
5463         * search.c: small doc improvement.
5464         * event-Xt.c: correct file names in comments.
5465         * console-x.h Correct file names in comments.
5466         * frame.c: Correct file names in comments.
5467         * event-stream.c: remove Energize from comments.
5468
5469 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5470
5471         * symeval.h (DEFERROR_STANDARD):
5472         (DEFERROR):
5473         (DEFSYMBOL):
5474         (DEFSYMBOL_NO_DUMP):
5475         (DEFSYMBOL_MULTIWORD_PREDICATE):
5476         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5477         (DEFKEYWORD):
5478         The construct &##name is not sensible C.
5479         Fixes compilation errors with Unixware native compiler.
5480
5481 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5482
5483         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5484         (next_frame_internal): Removed.  We now just have next_frame.
5485         (next_frame):
5486         Write a simpler and cleaner one-pass algorithm.
5487         Remove called_from_delete_device arg and #ifdefed-out code.
5488         (previous_frame):
5489         Renamed from prev_frame.  Update callers.
5490         Cleaned up to have an analogous implementation to next_frame.
5491         (other_visible_frames_internal): Remove the
5492         called_from_delete_device bogus arg, and hence, remove this
5493         function.  Just use other_visible_frames().
5494
5495         * window.c (Fnext_window):
5496         Prettify docstring.
5497         Since next_frame() is guaranteed to return a frame, remove check
5498         for nil inserted in previous patch.
5499         (Fprevious_window):
5500         Prettify docstring.
5501         Make code look more like Fnext_window.
5502         (window_loop):
5503         Respect the `console' arg when iterating through windows.
5504         Fixes bug: (get-buffer-window buffer t device) not respecting
5505         the `device' arg.
5506         This function needs more work, as others have pointed out.
5507
5508         * frame.h: Rename prev_frame to previous_frame.
5509         device_matches_console_spec no longer takes a `frame' arg.
5510
5511         * s/gnu.h:
5512         * s/linux.h:
5513         * s/hpux.h:
5514         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5515         From "Golubev I. N." <gin@mo.msk.ru>.
5516
5517         * make-src-depend: Fix typo.
5518
5519 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5520
5521         * window.c (Fnext_window):
5522         next_frame() might return nil, not a frame.
5523         Fixes this crash:
5524         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5525
5526         * frame.c (next_frame_internal):
5527         We've passed a frame if we've passed its device.
5528         Fixes this crash:
5529         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5530 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5531
5532 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5533
5534         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5535         Allow option to suppress accelerators in menu/dialog items.
5536         (populate_or_checksum_helper): Pass dialog title through above.
5537
5538 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5539
5540         * event-msw.c (mswindows_key_to_emacs_keysym):
5541         Add "pause" key, fix "menu" key.
5542
5543 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5544
5545         * eval.c (reinit_vars_of_eval):
5546         Increase max_lisp_eval_depth to 1000,
5547         required for thai-xtis.el to byte-compile under some circumstances.
5548
5549 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5550
5551         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5552         From Kenichi Handa.
5553
5554 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5555
5556         * make-src-depend: Make the generated Makefiles smaller.
5557
5558         * s/hpux.h (SETUP_SLAVE_PTY):
5559         Provide a %d in the format string for the errno argument.
5560
5561         * editfns.c (Ftemp_directory):
5562         Warning fix.
5563         Avoid buffer overrun on very long file name.
5564
5565         * input-method-xlib.c (XIM_init_device):
5566         6th parameter of XRegisterIMInstantiateCallback has different
5567         pointer types on different OSes, so simply cast to (void *).
5568
5569         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5570
5571         * sysdll.c (dll_open):
5572         shl_load will hang hard if passed a NULL filename.
5573         Simply return NULL for compatibility with dlopen.
5574         * sysdll.c: Conform to XEmacs coding standards.
5575
5576         * sysdep.c (get_pty_max_bytes):
5577         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5578
5579 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5580
5581         * tooltalk.c: Add #include <syssignal.h>
5582
5583 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5584
5585         * s/hpux.h: Don't use undefined function sigunblock().
5586
5587 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5588
5589         * config.h.in: Add HAVE_BALLOON_HELP.
5590         * emacs.c: Use HAVE_BALLOON_HELP.
5591         * Makefile.in.in (x_objs):
5592         Make Balloon Help conditional on finding shape.h.
5593
5594 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5595
5596         * syntax.c (regex_emacs_buffer_p): New variable.
5597         * syntax.h (regex_emacs_buffer_p): extern.
5598         * search.c (looking_at_1):
5599         (string_match_1):
5600         (fast_string_match):
5601         (search_buffer): Set regex_emacs_buffer_p.
5602         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5603         when before_dot, at_dot, after_dot.
5604
5605 2000-08-23  Andy Piper  <andy@xemacs.org>
5606
5607         * gui-x.c (popup_selection_callback): Only set action_occurred
5608         when we really have an image instance.
5609         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5610
5611 2000-08-23  Andy Piper  <andy@xemacs.org>
5612
5613         * gui-msw.c (mswindows_handle_gui_wm_command): set
5614         action_occurred.
5615         * gui-x.c (popup_selection_callback): ditto.
5616
5617         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5618         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5619         (struct Lisp_Image_Instance): add action_occurred flag.
5620
5621         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5622         (image_instance_changed): ditto.
5623         (reset_frame_subwindow_instance_cache): only unmap windows - do
5624         not remove them from the cache also.
5625
5626         * glyphs-widget.c (tab_control_update): better debug.
5627         (progress_gauge_update): ditto.
5628         (layout_update): ditto.
5629         (layout_instantiate): ditto.
5630         (tab_control_order_only_changed): cope with null pending items.
5631
5632         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5633         debug. Force selection of an item when an action occurred. Cope
5634         with null pending_items.
5635         (mswindows_progress_gauge_redisplay): better debug.
5636         * glyphs-x.c (x_tab_control_redisplay): ditto.
5637
5638         * redisplay.c (redisplay_frame): reset the frame cache if the
5639         frame is garbaged.
5640
5641         * window.c (Fset_window_configuration): potentially re-enable
5642         frame cache reset.
5643         (window_unmap_subwindows): need to finalize instances here since
5644         it is only used in mark_window_as_deleted.
5645
5646 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5647
5648         * nas.c (SndOpenDataForReading):
5649         nas.c (WaveOpenDataForReading):
5650         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5651         Somehow escaped from the 2000-08-14 patch.
5652
5653 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5654
5655         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5656         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5657
5658 2000-08-21  Andy Piper  <andy@xemacs.org>
5659
5660         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5661         window if it is not already displayed.
5662
5663         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5664         it is not already displayed.
5665
5666         * window.c (Fset_window_configuration): don't reset the frame
5667         cache.
5668
5669         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5670         instances from the frame cache if we are actually finalizing them.
5671         (reset_frame_subwindow_instance_cache): reset frame cache only
5672         after unmapping everything.
5673         (map_subwindow): set displayed flag after mapping.
5674
5675 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5676
5677         * data.c (indirect_function):
5678         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5679
5680         * eval.c (function_argcount):
5681         Use original function when signaling errors.
5682
5683 2000-08-18  Andy Piper  <andy@xemacs.org>
5684
5685         * frame.c (delete_frame_internal): use new
5686         free_frame_subwindow_instances name.
5687
5688         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5689         (add_tab_item): make return type correct.
5690         (mswindows_tab_control_instantiate): assert index of tab.
5691         (mswindows_tab_control_redisplay): Re-code to use
5692         gui_item_equal_sans_selected and gui_item_list_find_selected.
5693
5694         * glyphs-widget.c (tab_control_update): Correct comment.
5695
5696         * window.c (window_unmap_subwindows): use new
5697         unmap_subwindow_instance_cache_mapper.
5698         (window_unmap_subwindows_cache_mapper): deleted.
5699         (Fset_window_configuration): comparisons should now be with
5700         EQ. Preserve the subwindow instance cache across configuration
5701         changes.
5702         (allocate_window): ditto.
5703         (make_dummy_parent): ditto.
5704
5705         * glyphs.c (free_frame_subwindow_instances): rename from
5706         free_frame_subwindow_instance_cache. finalize all instances rather
5707         than just those in the display cache.
5708         (finalize_all_subwindow_instances): walk windows unmapping and
5709         finalizing subwindows.
5710         (unmap_subwindow_instance_cache_mapper): moved from
5711         window.c. Allow finalization as well as unmapping.
5712
5713         * gui.c (gui_item_list_find_selected): new function.
5714
5715         * gui.h (gui_item_list_find_selected): declare.
5716
5717         * glyphs-x.c (x_tab_control_redisplay): pick tab
5718         explicitly. Re-code to use gui_item_equal_sans_selected and
5719         gui_item_list_find_selected.
5720
5721         * glyphs-x.h: add lwlib-utils.h
5722
5723         * buffer.c (Frecord_buffer): undo previous change.
5724
5725 2000-08-09  Vin Shelton  <acs@xemacs.org>
5726
5727         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5728         possible.  Create temporary files more securely.  The patch was
5729         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5730         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5731         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5732         for details.
5733
5734 2000-08-07  Ben Wing  <ben@xemacs.org>
5735
5736         * getloadavg.c: remove duplicate (and windows-breaking)
5737         includes of fcntl.h and sys/file.h.
5738
5739         * nt.c: remove duplicate getloadavg() definition.
5740
5741         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5742         encodings.
5743
5744 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5745
5746         * eval.c (function_argcount): If function needs to be autoloaded
5747         actually use the loaded definition.
5748         GCPRO function.
5749
5750 2000-08-05  Ben Wing  <ben@xemacs.org>
5751
5752         * getloadavg.c: add prototype for getloadavg().  remove
5753         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5754         of the code).  remove duplicate header includes.
5755
5756         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5757
5758         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5759         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5760         useful load average.
5761
5762         * alloc.c (reinit_alloc_once_early): removed references to
5763         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5764         the lisp vars are the only things referencing the malloc_sbrk_*
5765         vars, and they were already if 0'd out.  these vars only exist
5766         in the older malloc.c, which is basically unused, and they're
5767         only for informational purposes.
5768
5769         * m\*.h: removed useless VIRT_ADDR_VARIES.
5770
5771         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5772
5773 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5774
5775         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5776         color if the image is a mono pixmap.
5777
5778 2000-07-30  Ben Wing  <ben@xemacs.org>
5779
5780         * Makefile.in.in (release):
5781         Remove stray @.
5782
5783         * buffer.c (directory_is_current_directory):
5784         * dired-msw.c (mswindows_get_files):
5785         * dired.c:
5786         * dired.c (Fdirectory_files):
5787         * dired.c (file_name_completion_stat):
5788         * dired.c (Ffile_attributes):
5789         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5790         preprocessor tricks, to avoid problems on some machines
5791         (e.g. SCO).
5792
5793         * callproc.c (egetenv): GC docs.
5794
5795         * console-msw.h:
5796         * console-msw.h (struct mswindows_dialog_id):
5797         * lrecord.h (lrecord_type):
5798         New object for use with MSW dialogs.
5799
5800         * console.h (struct console_methods):
5801         New enable/disable frame methods, for proper modal dialogs.
5802
5803         * device-msw.c (msprinter_default_printer): Fix to follow
5804         proper Mule conventions.
5805
5806         * device-msw.c:
5807         * device-msw.c (signal_open_printer_error):
5808         * device-msw.c (msprinter_init_device):
5809         * device-msw.c (ensure_not_printing):
5810         * device-msw.c (plist_get_margin):
5811         * device-msw.c (Fmsprinter_select_settings):
5812         * device-msw.c (finalize_devmode):
5813         * device-msw.c (Fmsprinter_settings_despecialize):
5814         * device-msw.c (signal_enum_priner_error):
5815         * extents.c (decode_extent):
5816         * extents.c (decode_map_extents_flags):
5817         * extents.c (decode_extent_at_flag):
5818         * extents.c (Fextent_at):
5819         * extents.c (Fextents_at):
5820         * extents.c (symbol_to_glyph_layout):
5821         [[[[2]]]] Use structured errors.
5822
5823         * dialog-msw.c:
5824         * dialog-msw.c (mswindows_is_dialog_msg):
5825         * dialog-msw.c (mark_mswindows_dialog_id):
5826         * dialog-msw.c (dialog_proc):
5827         * dialog-msw.c (handle_question_dialog_box):
5828         * dialog-msw.c (syms_of_dialog_mswindows):
5829         Define new object to clean up marking; use it as a dialog identifier.
5830         Call new delete-dialog-box-hook.
5831
5832         * dialog-x.c (dbox_selection_callback):
5833         * dialog-x.c (dbox_descriptor_to_widget_value):
5834         * dialog-x.c (x_make_dialog_box_internal):
5835         Call new delete-dialog-box-hook.
5836         Return an id.
5837
5838         * dialog.c:
5839         * dialog.c (syms_of_dialog):
5840         * dialog.c (vars_of_dialog):
5841         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5842
5843         * eval.c:
5844         * eval.c (signal_call_debugger):
5845         when noninteractive, output stack traces on the console instead
5846         of in a (never-seen) buffer.
5847
5848         * eval.c (signal_type_error):
5849         * eval.c (invalid_argument_2):
5850         * lisp.h:
5851         new funs for use w/structured errors.
5852
5853         * event-Xt.c:
5854         * event-Xt.c (x_to_emacs_keysym):
5855         * event-Xt.c (describe_event):
5856         * event-Xt.c (emacs_Xt_event_handler):
5857         * event-Xt.c (vars_of_event_Xt):
5858         * event-msw.c:
5859         * event-msw.c (mswindows_wnd_proc):
5860         * event-msw.c (vars_of_event_mswindows):
5861         rename {x,mswindows}-debug-events to debug-{}-events for
5862         consistency with other debug-foo variables.
5863
5864         * event-stream.c:
5865         document next-event more clearly.
5866
5867         * fileio.c (Ffile_name_directory):
5868         * fileio.c (Ffile_name_nondirectory):
5869         * fileio.c (Funhandled_file_name_directory):
5870         * fileio.c (file_name_as_directory):
5871         * fileio.c (Ffile_name_as_directory):
5872         * fileio.c (directory_file_name):
5873         * fileio.c (Fdirectory_file_name):
5874         * fileio.c (Fmake_temp_name):
5875         * fileio.c (Ffile_truename):
5876         * fileio.c (Fsubstitute_in_file_name):
5877         * fileio.c (expand_and_dir_to_file):
5878         * fileio.c (barf_or_query_if_file_exists):
5879         * fileio.c (check_executable):
5880         * fileio.c (Ffile_exists_p):
5881         * fileio.c (Ffile_writable_p):
5882         * fileio.c (Ffile_directory_p):
5883         * fileio.c (Ffile_regular_p):
5884         * fileio.c (Ffile_modes):
5885         * fileio.c (Ffile_newer_than_file_p):
5886         * fileio.c (Fverify_visited_file_modtime):
5887         * fileio.c (Fset_visited_file_modtime):
5888         * fileio.c (auto_save_1):
5889         (1). (2).
5890         fix up gcpro's.
5891
5892         * frame-msw.c:
5893         * frame-msw.c (mswindows_init_frame_1):
5894         * frame-msw.c (mswindows_enable_frame):
5895         * frame-msw.c (error_frame_unsizable):
5896         * frame-msw.c (msprinter_init_frame_1):
5897         * frame-msw.c (msprinter_init_frame_3):
5898         * frame-msw.c (console_type_create_frame_mswindows):
5899         (2).
5900         implement new enable/disable frame methods.
5901
5902         * frame-x.c:
5903         * frame-x.c (x_enable_frame):
5904         * frame-x.c (console_type_create_frame_x):
5905         implement new enable/disable frame methods.
5906
5907         * frame.c:
5908         * frame.c (Fdisable_frame):
5909         * frame.c (syms_of_frame):
5910         * frame.h (struct frame):
5911         implement new enable/disable frame methods/functions.
5912
5913         * general-slots.h:
5914         add initial-focus.
5915
5916         * glyphs-msw.c (mswindows_widget_instantiate):
5917         comment that initial-focus should be implemented.
5918
5919         * glyphs-widget.c:
5920         * glyphs-widget.c (check_valid_instantiator):
5921         * glyphs-widget.c (check_valid_orientation):
5922         * glyphs-widget.c (check_valid_tab_orientation):
5923         * glyphs-widget.c (check_valid_justification):
5924         * glyphs-widget.c (check_valid_border):
5925         * glyphs-widget.c (check_valid_callback):
5926         * glyphs-widget.c (check_valid_int_or_function):
5927         * glyphs-widget.c (check_valid_string_or_vector):
5928         * glyphs-widget.c (check_valid_item_list_1):
5929         * glyphs-widget.c (widget_validate):
5930         * glyphs-widget.c (combo_box_validate):
5931         * glyphs-widget.c (widget_instantiate):
5932         * glyphs-widget.c (syms_of_glyphs_widget):
5933         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5934         * glyphs-widget.c (image_instantiator_combo_box):
5935         * glyphs-widget.c (image_instantiator_scrollbar):
5936         * glyphs-widget.c (image_instantiator_tab_control):
5937         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5938         (2).
5939         support (unimplemented) keyword initial-focus.
5940         reindent long macros.
5941
5942         * glyphs-x.c (x_redisplay_widget):
5943         * glyphs-x.c (x_button_instantiate):
5944         * glyphs-x.c (x_button_redisplay):
5945         * glyphs-x.c (x_progress_gauge_instantiate):
5946         * glyphs-x.c (x_edit_field_instantiate):
5947         * glyphs-x.c (x_combo_box_instantiate):
5948         * glyphs-x.c (x_tab_control_instantiate):
5949         * glyphs-x.c (x_label_instantiate):
5950         * gui-x.c:
5951         * gui-x.c (button_item_to_widget_value):
5952         * gui-x.c (gui_items_to_widget_values_1):
5953         * gui-x.c (gui_item_children_to_widget_values):
5954         * gui-x.c (gui_items_to_widget_values):
5955         * gui-x.h:
5956         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5957         add new flag to gui-parsing routines to indicate whether
5958         accelerator specs should be supported.
5959
5960         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5961
5962         * glyphs.h (struct Lisp_Image_Instance):
5963         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5964         add initial-focus flag.
5965
5966         * gui.c:
5967         * gui.c (syms_of_gui):
5968         * gui.c (vars_of_gui):
5969         clean up menu-no-selection-hook.
5970
5971         * gui.h:
5972         support delete-dialog-box-hook.
5973
5974         * lread.c (Fload_internal):
5975         * lread.c (locate_file_in_directory_mapper):
5976         (1).
5977
5978         * lrecord.h:
5979         * lrecord.h (struct toolbar_button):
5980         * lrecord.h (syms_of_toolbar):
5981         document how to create a new object.
5982
5983         * menubar-msw.c (mswindows_char_is_accelerator):
5984         may be called on frames w/o menus.
5985
5986         * menubar.c (vars_of_menubar):
5987         clean up :filter docs.
5988
5989         * nt.c (readdir):
5990         * ntproc.c:
5991         (1).
5992
5993         * process-nt.c:
5994         * process-nt.c (validate_signal_number):
5995         * process-nt.c (signal_cannot_launch):
5996         * process-nt.c (nt_create_process):
5997         * process-nt.c (nt_send_process):
5998         * process-nt.c (nt_kill_child_process):
5999         * process-nt.c (nt_open_network_stream):
6000         * process-nt.c (syms_of_process_nt):
6001         (2).
6002         delete quote-handling.  call new lisp code that does it better.
6003
6004         * process-unix.c (connect_to_file_descriptor):
6005         * process-unix.c (allocate_pty):
6006         * process-unix.c (unix_send_process):
6007         * process-unix.c (unix_kill_child_process):
6008         * process-unix.c (unix_open_network_stream):
6009         * process-unix.c (unix_open_multicast_group):
6010         (1). (2).
6011
6012         * process.c:
6013         * process.c (Fstart_process_internal):
6014         (2).  need to canonicalize process path even if absolute.
6015
6016         * select-msw.c (symbol_to_ms_cf):
6017         * select-msw.c (ms_cf_to_symbol):
6018         * select-msw.c (cf_is_autofreed):
6019         * select-msw.c (mswindows_destroy_selection):
6020         * select.c:
6021         * select.c (syms_of_select):
6022         * select.h:
6023         support dibv5, fix bugs. (from Mike Alexander)
6024
6025         * select.c (Fget_selection_internal):
6026         * select.c (select_convert_out):
6027
6028         * sysdep.c:
6029         * sysdep.c (xemacs_stat):
6030         renamed.
6031
6032         * sysdep.c (mkdir):
6033         * sysdep.c (rmdir):
6034         but keep original stat() here because we provide encapsulation
6035         around these funs.
6036
6037         * sysfile.h:
6038         * sysfile.h (fstat):
6039         remove stat garbage.
6040
6041         * syswindows.h:
6042         fix X/MSW conflict.
6043         don't include tchar.h.  it's inappropriate because it makes
6044         compile-time distinctions when we want runtime distinctions.
6045         (we provide our own tchar replacements)
6046
6047         * toolbar.c:
6048         use default object printer for toolbar-button.
6049
6050         * unexcw.c:
6051         make sure we don't encapsulate.
6052
6053         * window.c (vars_of_window):
6054         emphasize that temp-buffer-show-hook is obsolete.
6055
6056 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6057
6058         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6059         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6060
6061         * events.c (Fevent_timestamp_lessp):
6062         Not 64-bit clean.  Use EMACS_INT, not int.
6063
6064 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6065
6066         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6067         unsigned int and changed the last enum to
6068         lrecord_type_last_built_in_type.
6069         (lrecord_implementations_table): changed prototype to know how
6070         long the array is supposed to be.
6071         (lrecord_type_count): new unsigned int to keep track of the
6072         current number of lisp lrecord types.
6073         (DEFINE_EXTERNAL_LRECORD):
6074         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6075         dynamic-modules to declare new lisp types. They are the same
6076         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6077         int for each new type, and increment lrecord_type_count by 1.
6078
6079         * alloc.c (lrecord_implementations_table): Changed to reference
6080         lrecord_type_last_built_in_type for the size of the array.
6081         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6082
6083 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6084
6085         * glyphs.h (check_valid_item_list): Renamed from
6086         check_valid_item_list_1.
6087
6088 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6089
6090         * select.c (Qselect_coerce): New.
6091         * select.c (Vselection_coercion_alist): New.
6092         * select.c (syms_of_select): Declare.
6093         * select.c (get-selection-internal): Use it.
6094         Use the new select-coerce functionality.
6095
6096         * select.c (select_coerce): New.
6097         * select.h (select_coerce): Declare.
6098         New function to coerce one type of data into another.
6099
6100 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6101
6102         * callproc.c (Fcall_process_internal):
6103         (Fcall_process_internal):
6104         * process-unix.c (unix_create_process):
6105         Save and restore the value of errno, so that error messages are accurate.
6106
6107 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6108
6109         * elhash.c (print_hash_table):
6110         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6111         Prettify docstrings and indentation.
6112
6113 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6114
6115         * window.c (Fwindow_pixel_edges): Subtract frame border and
6116         gutter size.
6117
6118 2000-07-31  Andy Piper  <andy@xemacs.org>
6119
6120         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6121         will acknowledge the change.
6122
6123         * glyphs.h: declare tab_control_order_only_changed.
6124
6125         * glyphs-x.c (x_tab_control_redisplay): use
6126         tab_control_order_only_changed.
6127
6128         * glyphs-widget.c (tab_control_order_only_changed): new function.
6129
6130         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6131         tab_control_order_only_changed.
6132
6133         * gui.c (gui_item_equal_sans_selected): new function.
6134         (gui_item_equal): use it.
6135
6136         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6137         :properties in favor of :items..
6138
6139         * glyphs-widget.c (check_valid_item_list): rename from
6140         check_valid_item_list_1.
6141         (check_valid_item_list_1): renamed.
6142         (combo_box_validate): deprecate :properties in favor of :items.
6143         (widget_instantiate): ditto.
6144         (tab_control_update): ditto.
6145         (image_instantiator_combo_box): ditto.
6146         (image_instantiator_tree_view): ditto.
6147         (image_instantiator_tab_control): ditto.
6148         (layout_post_instantiate): remove dead code.
6149
6150         * print.c (debug_print_no_newline): only write to debugger if in
6151         WIN32_NATIVE.
6152
6153         * elhash.c (Fmake_hash_table): update doc string.
6154
6155         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6156         messages whilst in GC. This at least stops XEmacs crashing but has
6157         the potential for wierd behaviour.
6158
6159 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6160
6161         * config.h.in:
6162         Make existence of s&m files optional.
6163
6164         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6165         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6166         * s/gnu.h: Remove HAVE_GETLOADAVG.
6167         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6168         * s/sol2.h: Remove HAVE_GETLOADAVG.
6169         * lisp.h: Remove getloadavg() declaration.
6170         * fns.c:
6171         Include <sys/loadavg.h> if available.
6172         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6173         * config.h.in:  Group together getloadavg()-related macros.
6174         Use only configure-time tests to detect getloadavg().
6175
6176 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6177
6178         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6179
6180 2000-07-25  Andy Piper  <andy@xemacs.org>
6181
6182         * syswindows.h: add tchar.h for native builds.
6183
6184         * frame.c (syms_of_frame): remove set-glyph-image.
6185
6186         * general-slots.h: add Qset_glyph_image.
6187
6188         * glyphs-widget.c (layout_update): add domain arg to
6189         set-glyph-image.
6190         (syms_of_glyphs_widget): remove set-glyph-image.
6191
6192 2000-07-23  Ben Wing  <ben@xemacs.org>
6193
6194         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6195         Vpopup_frame_list.
6196
6197 2000-07-22  Andy Piper  <andy@xemacs.org>
6198
6199         * symsinit.h: add syms_of_win32().
6200
6201         * gui-msw.c (syms_of_gui_mswindows): remove
6202         Fmswindows_shell_execute.
6203         (Fmswindows_shell_execute): moved to win32.c.
6204
6205         * emacs.c (main_1): add syms_of_win32 ().
6206
6207         * win32.c (init_potentially_nonexistent_functions): rewrite in
6208         compiler-friendly terms.
6209         (Fmswindows_shell_execute): move here from gui-msw.c.
6210         (syms_of_win32): new.
6211
6212         * device-msw.c (Fmswindows_printer_list): clean up args to
6213         EnumPrinters.
6214         Don't include tchar under cygwin or mingw.
6215         (msprinter_default_printer): make cygwin-friendly.
6216
6217 2000-07-21  Andy Piper  <andy@xemacs.org>
6218
6219         * glyphs-widget.c (image_instantiator_tree_view): use tab
6220         control's update function.
6221         (layout_property): new function. Retrieve items.
6222
6223         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6224         function. Re-populate the tree view from the pending items.
6225
6226         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6227         is designated the parent if the domain is an image instance. This
6228         is needed so that dirtiness can be cascade up the hierarchy and
6229         thus for layout children to be redisplayed correctly.
6230         (allocate_image_instance): rename glyph -> parent.
6231
6232         * redisplay.h: change redisplay_output_layout signature.
6233
6234         * redisplay-msw.c (mswindows_output_display_block): use domain
6235         arg.
6236
6237         * redisplay-x.c (x_output_display_block): use domain arg.
6238
6239 2000-07-10  Andy Piper  <andy@xemacs.org>
6240
6241         * window.c (Fset_window_configuration): add comment.
6242
6243         * redisplay-output.c (compare_runes):
6244         (redisplay_output_subwindow): redisplay rather than update subwindow.
6245         (redisplay_output_layout): ditto.
6246
6247         * redisplay-msw.c (mswindows_frame_output_end):
6248         (mswindows_frame_output_end): make defer window pos optional.
6249
6250         * lisp.h: add Flast.
6251
6252         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6253         normalize method. Change update method to be for changed
6254         instantiators. Add redisplay method. Change signature of layout
6255         method.
6256         (struct Lisp_Image_Instance): add instantiator.
6257         (IMAGE_INSTANCE_INSTANTIATOR): new.
6258         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6259         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6260         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6261
6262         * glyphs.c:
6263         (find_instantiator_differences): new function.
6264         (Fset_instantiator_property): new convenience function.
6265         (check_image_instance_structure): strictly check for vector
6266         instantiators.
6267         (normalize_image_instantiator): make non-static.
6268         (instantiate_image_instantiator): pass on dest_mask and use new
6269         signatures for image_instance_layout and friends.
6270         (mark_image_instance): mark the instantiator. Mark the subwindow
6271         face not the widget face.
6272         (image_instance_equal): add instantiator.
6273         (image_instance_hash): ditto.
6274         (allocate_image_instance): ditto.
6275         (Fset_image_instance_property): removed.
6276         (Fimage_instance_file_name): ditto.
6277         (Fcolorize_image_instance): ditto.
6278         (image_instance_layout): add offsets to be set.
6279         (update_image_instance): new function. update an image instance
6280         from its changed instantiator.
6281         (inherit_normalize): add dest_mask.
6282         (xbm_normalize): ditto.
6283         (xface_normalize): ditto.
6284         (xpm_normalize): ditto.
6285         (text_update): set_property -> update.
6286         (image_instantiate): use the glyph identity as a hash key, not the
6287         instantiator.
6288         (glyph_width): use new image_instance_layout signature.
6289         (glyph_ascent): ditto.
6290         (glyph_descent): ditto.
6291         (glyph_height): ditto.
6292         (glyph_query_geometry): ressurrect.
6293         (glyph_layout): ditto.
6294         (redisplay_subwindow): update -> redisplay.
6295         (syms_of_glyphs): add Fset_instantiator_property.
6296         (image_instantiator_format_create): set_property -> update.
6297
6298         * glyphs-x.c:
6299         (autodetect_normalize): add dest_maks to signature.
6300         (x_redisplay_subwindow): update -> redisplay.
6301         (x_redisplay_widget): ditto.
6302         (x_button_redisplay): ditto.
6303         (x_progress_gauge_redisplay): ditto.
6304         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6305         stacking order.
6306         (console_type_create_glyphs_x): update -> redisplay.
6307         (image_instantiator_format_create_glyphs_x): ditto.
6308
6309         * glyphs-widget.c:
6310         (check_valid_instantiator): disallow glyphs in the instantiator,
6311         they must now be vectors.
6312         (check_valid_instantiator_list): ditto.
6313         (glyph_instantiator_to_glyph): use internal symbol rather than
6314         intern.
6315         (widget_update): renamed from widget_set_property. Call cascaded
6316         update methods.
6317         (redisplay_widget): renamed from update_widget.
6318         (widget_layout): image_instance_layout now takes position as well
6319         as size.
6320         (widget_normalize): ditto.
6321         (widget_instantiate): ditto.
6322         (tab_control_query_geometry) ditto.:
6323         (tab_control_update): renamed from tab_control_set_property.
6324         (progress_gauge_update): set_property -> update.
6325         (layout_normalize): rewrite so that child instantiators are
6326         normalized also.
6327         (layout_update): new function. Create glyphs from the normalized
6328         children and cope with any other layout keywords. We do not
6329         instantiate children here that will be take care of by
6330         redisplay_output_layout.
6331         (layout_instantiate): call layout_update and not much else.
6332         (layout_post_instantiate): not sure whether this is needed
6333         anymore.
6334         (layout_query_geometry): query glyph geometry rather than
6335         image_instance geometry.
6336         (layout_layout): set offsets from pass in parameters. Use glyph
6337         geometry and layout functions rather than image instance ones.
6338         (native_layout_layout): ditto.
6339         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6340         (image_instantiator_widget): set_property -> update.
6341         (image_instantiator_buttons): ditto.
6342         (image_instantiator_progress_guage): ditto.
6343         (image_instantiator_tab_control): ditto.
6344         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6345         (image_instantiator_layout): add update method.
6346
6347         * glyphs-msw.c (bmp_normalize):
6348         (mswindows_resource_normalize): add dest_mask so that it can be
6349         proprogated by layout_normalize.
6350         (begin_defer_window_pos): make optional because it may not be the
6351         right thing to do and it introduces differences with X.
6352         (mswindows_unmap_subwindow): ditto.
6353         (mswindows_map_subwindow): ditto.
6354         (mswindows_redisplay_subwindow): renamed from
6355         mswindows_update_subwindow.
6356         (mswindows_redisplay_widget): ditto.
6357         (mswindows_button_redisplay): renamed from
6358         mswindows_button_update. Update is now what the instantiation
6359         function does for a changed instantiator.
6360         (mswindows_progress_gauge_instantiate): set the progress value
6361         here if appropriate.
6362         (mswindows_tab_control_redisplay): cope with re-ordering of the
6363         members of the tab widget by simply selecting the new top
6364         widget. This makes things appear ok if you click on a tab.
6365         (mswindows_combo_box_instantiate): image_instance_layout now takes
6366         position as well as size.
6367         (mswindows_progress_gauge_redisplay): renamed from
6368         mswindows_progress_gauge_update.
6369         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6370         (image_instantiator_format_create_glyphs_mswindows): ditto.
6371
6372         * glyphs-eimage.c (jpeg_normalize):
6373         (gif_normalize):
6374         (png_normalize):
6375         (tiff_normalize): add dest_mask so that it can be proprogated by
6376         layout_normalize.
6377
6378         * elhash.c:
6379         (print_hash_table):
6380         (hash_table_weakness_validate):
6381         (decode_hash_table_weakness):
6382         (Fhash_table_weakness):
6383         (Fhash_table_type):
6384         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6385
6386         * console.h (struct console_methods): move update_* to
6387         redisplay_*.
6388
6389 2000-07-20  Ben Wing  <ben@xemacs.org>
6390
6391         * *.[ch] (XSETOBJ): remove unused middle argument.
6392         lisp-disunion.h: correct wrap_object() to one argument.
6393
6394 2000-07-15  Ben Wing  <ben@xemacs.org>
6395
6396         * s/cygwin32.h:
6397         * s/cygwin32.h (CYGWIN_CONV_PATH):
6398         Add missing logb prototype for v1.1.
6399         Use post-b20 names and alias to pre-b20 names when pre-b20.
6400
6401         * s/windowsnt.h: [5].
6402
6403 2000-07-15  Ben Wing  <ben@xemacs.org>
6404
6405         * Makefile.in.in (x_objs):
6406         * Makefile.in.in (sheap_objs):
6407         * Makefile.in.in (objs):
6408         added win32.o, cosmetic cleanups.
6409
6410         * alloc.c (Fmake_byte_code):
6411         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6412         etc. macros which declare their own args now.
6413
6414         * alloc.c (syms_of_alloc):
6415         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6416
6417         * buffer.c:
6418         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6419
6420         * buffer.c (Fget_file_buffer):
6421         Fixed GCPRO problem.
6422
6423         * buffer.c (get_truename_buffer):
6424         Fixed comment about GC checking.
6425
6426         * buffer.c (syms_of_buffer):
6427         Undeclared those dedicated frame funs.
6428         [2].
6429
6430         * buffer.h:
6431         Define convenience macros for internal/external conversions.
6432         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6433         and Qenvironment_variable_encoding for cleaner code.
6434
6435         * bufslots.h:
6436         Remove dedicated-frame; in lisp.
6437
6438         * bytecode.c (funcall_compiled_function):
6439         [1].
6440
6441         * bytecode.c (syms_of_bytecode):
6442         [2].
6443
6444         * console-msw.c:
6445         * console-msw.c (mswindows_show_console): Rewrote.
6446
6447         * console-msw.c (Fmswindows_debugging_output): New.
6448         Sends to OutputDebugString (special MSWin debugger interface).
6449
6450         * console-msw.c (Fmswindows_message_box):
6451         Fixed stupid bugs so it works when called from kill-emacs.
6452
6453         * console-msw.c (syms_of_console_mswindows):
6454         Declare Fmswindows_debugging_output.
6455
6456         * console-msw.h:
6457         New MSWin prototypes.
6458
6459         * console-msw.h (struct mswindows_frame):
6460         New entry last-click-mods for improved button-modifier support.
6461
6462         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6463         New struct entry `popup' with corresponding accessor.
6464
6465         * console-x.c:
6466         * console-x.c (split_up_display_spec):
6467         * console-x.c (get_display_arg_connection):
6468         * console-x.c (x_semi_canonicalize_console_connection):
6469         * console-x.c (x_canonicalize_device_connection):
6470         [[[6]]]: Change char to more specific type.
6471         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6472
6473         * console-x.c (x_semi_canonicalize_console_connection):
6474         * console-x.c (x_canonicalize_device_connection):
6475         [[[9]]]: Fix up error signalling to use new structured error system.
6476
6477         * console-x.h:
6478         [[[4]]]: Define codesys aliases:
6479         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6480         Qx_color_name_encoding, Qx_display_name_encoding.
6481
6482         * console.h (struct console_methods):
6483         New method make_dialog_box_internal supersedes older
6484         popup_dialog_box method.
6485
6486         * data.c:
6487         Define many new errors, part of new structured errors.
6488
6489         * data.c (init_errors_once_early):
6490         * data.c (syms_of_data):
6491         [2].
6492
6493         * device-msw.c (mswindows_init_device):
6494         [[[5]]]: Cleanup to support NT 3.51.
6495
6496         * device-msw.c (decode_devmode): Cleanup.
6497
6498         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6499         * device-msw.c (mswindows_handle_print_dialog_box):
6500         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6501         * device-msw.c (syms_of_device_mswindows):
6502         Delete the dialog box primitives recently introduced by Kirill and
6503         instead interface to general dialog box interface.
6504
6505         * device-x.c:
6506         * device-x.c (compute_x_app_name):
6507         * device-x.c (x_init_device):
6508         * device-x.c (Fx_valid_keysym_name_p):
6509         * device-x.c (Fx_set_font_path):
6510         [6].
6511         [7].
6512
6513         * device.h (wrap_device): New.
6514         First of its kind; meant to replace XSETDEVICE.
6515
6516         * dialog-msw.c: Many file-dialog symbols.
6517
6518         * dialog-msw.c (mswindows_register_popup_frame): New.
6519         * dialog-msw.c (mswindows_is_dialog_msg): New.
6520         For supporting kbd traversal in dialog boxes.
6521
6522         * dialog-msw.c (dialog_proc):
6523         Support hitting ESC in dialogs.
6524
6525         * dialog-msw.c (struct):
6526         Common dialog box errors.
6527
6528         * dialog-msw.c (handle_file_dialog_box): New.
6529         Add file dialog code.
6530
6531         * dialog-msw.c (handle_question_dialog_box):
6532         Redo existing code to support new question dialog syntax.
6533
6534         * dialog-msw.c (console_type_create_dialog_mswindows):
6535         We support new dialog console method.
6536
6537         * dialog-msw.c (syms_of_dialog_mswindows):
6538         * dialog-msw.c (vars_of_dialog_mswindows):
6539         New file dialog symbols, vars.
6540
6541         * dialog-x.c:
6542         * dialog-x.c (maybe_run_dbox_text_callback):
6543         * dialog-x.c (dbox_descriptor_to_widget_value):
6544         * dialog-x.c (x_make_dialog_box_internal):
6545         * dialog-x.c (console_type_create_dialog_x):
6546         Mule-ize entire file.
6547         Redo to support question dialog syntax.
6548         [6].
6549
6550         * dialog.c:
6551         * dialog.c (Fmake_dialog_box_internal):
6552         * dialog.c (syms_of_dialog):
6553         Kill old popup-dialog-box, replace with new primitive.
6554         Just call device method or signal error.
6555
6556         * eldap.c (Fldap_open):
6557         * eldap.c (Fldap_search_basic):
6558         * eldap.c (Fldap_add):
6559         * eldap.c (Fldap_modify):
6560         [1].
6561         [7].
6562
6563         * emacs.c:
6564         * emacs.c (make_arg_list_1):
6565         * emacs.c (make_arg_list):
6566         Mule-ize call to dll_init().
6567         [6].
6568         [8].
6569
6570         * emacs.c (make_argc_argv):
6571         * emacs.c (free_argc_argv):
6572         * emacs.c (init_cmdargs):
6573         * emacs.c (main_1):
6574         * emacs.c (Fkill_emacs):
6575         * emacs.c (Fdump_emacs):
6576         Update comments about what can be used in syms_* etc.
6577         Call init_win32() when necessary.
6578         Fix up MS Win dialog box in kill-buffer to actually work right.
6579         [7].
6580
6581         * eval.c:
6582         * eval.c (For):
6583         * eval.c (Fand):
6584         * eval.c (Fprogn):
6585         * eval.c (Fprog1):
6586         * eval.c (Fprog2):
6587         * eval.c (FletX):
6588         * eval.c (Flet):
6589         * eval.c (condition_case_3):
6590         * eval.c (Feval):
6591         * eval.c (function_argcount):
6592         * eval.c (funcall_lambda):
6593         [1].
6594
6595         * eval.c (type_error): New.
6596         * eval.c (maybe_type_error): New.
6597         * eval.c (continuable_type_error): New.
6598         * eval.c (maybe_continuable_type_error): New.
6599         * eval.c (type_error_with_frob): New.
6600         * eval.c (maybe_type_error_with_frob): New.
6601         * eval.c (continuable_type_error_with_frob): New.
6602         * eval.c (maybe_continuable_type_error_with_frob): New.
6603         New functions for use with structured errors.
6604
6605         * event-Xt.c:
6606         * event-Xt.c (x_event_to_emacs_event):
6607         Buttons are now modifiers too.
6608
6609         * event-Xt.c (emacs_Xt_current_event_timestamp):
6610         Implement new event method.
6611         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6612
6613         * event-msw.c:
6614         * event-msw.c (ntpipe_shove_writer): [5].
6615         * event-msw.c (mswindows_enqueue_mouse_button_event):
6616         * event-msw.c (mswindows_drain_windows_queue):
6617         * event-msw.c (mswindows_wnd_proc): [7].
6618         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6619         * event-msw.c (mswindows_modifier_state):
6620         Throughout: support new button modifiers.
6621
6622         * event-msw.c (emacs_mswindows_current_event_timestamp):
6623         Implement new event method.
6624         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6625
6626         * event-stream.c:
6627         * event-stream.c (event_stream_current_event_timestamp): New.
6628         * event-stream.c (maybe_kbd_translate): New functionality.
6629         * event-stream.c (vars_of_event_stream):
6630         Document new kbd-translate-table functionality.
6631
6632         * event-stream.c (Fcurrent_event_timestamp): New.
6633         New primitive for use in fabricated events.
6634         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6635
6636         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6637
6638         * events.c:
6639         * events.c (Fmake_event):
6640         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6641         [1].
6642         [9].
6643
6644         * events.c (format_event_object): fix gcc warnings.
6645
6646         * events.c (Fevent_timestamp): Document new primitives.
6647
6648         * events.c (TIMESTAMP_HALFSPACE): New.
6649
6650         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6651         comparing timestamps correctly (half-space algorithm).
6652
6653         * events.c (Fevent_modifier_bits): Doc fix.
6654
6655         * events.c (Fevent_modifiers): Major doc addition.
6656         * events.c (event_x_y_pixel_internal): Typo fix.
6657         * events.c (syms_of_events): Declare new primitives.
6658
6659         * events.h:
6660         Update long comment for button modifiers, timestamps.
6661
6662         * events.h (struct event_stream):
6663         New current_event_timestamp method.
6664
6665         * extents.c:
6666         * extents.c (extent_in_region_p):
6667         * extents.c (decode_extent):
6668         * extents.c (Fset_extent_parent):
6669         * extents.c (decode_map_extents_flags):
6670         Fix gcc warnings.
6671         [9].
6672
6673         * extents.c (struct extent_at_arg):
6674         * extents.c (decode_extent_at_flag):
6675         * extents.c (extent_at_mapper):
6676         * extents.c (extent_at_bytind):
6677         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6678         * extents.c (Fextents_at): New primitive. [9].
6679         * extents.c (symbol_to_glyph_layout): [9].
6680         Support new primitive `extents-at'.
6681
6682
6683         * extents.c (get_text_property_bytind):
6684         extent_at_bytind has another arg.
6685         [9].
6686
6687         * extents.c (syms_of_extents): New primitive.
6688
6689         * file-coding.c (Fmake_coding_system): [1].
6690         * file-coding.c (subsidiary_coding_system): fix gcc warning
6691         * file-coding.c (syms_of_file_coding): [2].
6692
6693         * fileio.c (Fexpand_file_name):
6694         * fileio.c (Fsysnetunam):
6695         * fileio.c (Ffile_exists_p):
6696         * fileio.c (Ffile_executable_p):
6697         * fileio.c (Fverify_visited_file_modtime):
6698         Clean up GCPROing.
6699
6700         * fileio.c (syms_of_fileio): [2].
6701
6702         * filelock.c (lock_file_1):
6703         * filelock.c (current_lock_owner):
6704         * filelock.c (lock_if_free):
6705         * filelock.c (lock_file):
6706         * filelock.c (unlock_file):
6707         Clean up GCPROing.
6708
6709         * fns.c (concat): Fix gcc warning.
6710
6711         * fns.c (Fmember):
6712         * fns.c (Fold_member):
6713         * fns.c (Fmemq):
6714         * fns.c (Fold_memq):
6715         * fns.c (memq_no_quit):
6716         * fns.c (Fassoc):
6717         * fns.c (Fold_assoc):
6718         * fns.c (Fassq):
6719         * fns.c (Fold_assq):
6720         * fns.c (assq_no_quit):
6721         * fns.c (Frassoc):
6722         * fns.c (Fold_rassoc):
6723         * fns.c (Frassq):
6724         * fns.c (Fold_rassq):
6725         * fns.c (rassq_no_quit):
6726         * fns.c (Fdelete):
6727         * fns.c (Fold_delete):
6728         * fns.c (Fdelq):
6729         * fns.c (Fold_delq):
6730         * fns.c (delq_no_quit):
6731         * fns.c (Fremassoc):
6732         * fns.c (Fremassq):
6733         * fns.c (remassq_no_quit):
6734         * fns.c (Fremrassoc):
6735         * fns.c (Fremrassq):
6736         * fns.c (remrassq_no_quit):
6737         * fns.c (Freverse):
6738         * fns.c (mapcar1):
6739         [1].
6740
6741         * frame-msw.c (mswindows_init_frame_1):
6742         * frame-msw.c (mswindows_delete_frame):
6743         Register popups with dialog code so keyboard traversing works.
6744
6745         * frame-tty.c (tty_raise_frame_no_select): [1].
6746
6747         * frame-x.c:
6748         * frame-x.c (x_set_frame_text_value):
6749         * frame-x.c (x_set_frame_properties):
6750         * frame-x.c (x_create_widgets):
6751         [7].
6752
6753         * frame.c:
6754         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6755
6756         * frame.h (wrap_frame): New.
6757         Macro like wrap_device.
6758
6759         * general.c:
6760         * general.c (SYMBOL):
6761         * general.c (syms_of_general):
6762         Major reorg.  This is now just a wrapper and symbols themselves
6763         are listed in general-slots.h.
6764
6765         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6766         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6767
6768         * glyphs-msw.c (mswindows_native_layout_instantiate):
6769         Add DS_CONTROL so keyboard traversal will work.
6770
6771         * glyphs-widget.c:
6772         * glyphs-widget.c (syms_of_glyphs_widget):
6773         Move some symbols to general-slots.h.
6774
6775         * glyphs-x.c:
6776         * glyphs-x.c (xbm_instantiate_1):
6777         * glyphs-x.c (x_xbm_instantiate):
6778         * glyphs-x.c (x_xface_instantiate):
6779         * glyphs-x.c (autodetect_instantiate):
6780         * glyphs-x.c (cursor_font_instantiate):
6781         * glyphs-x.c (x_update_widget):
6782         * glyphs-x.c (x_widget_instantiate):
6783         * glyphs.c (bitmap_to_lisp_data):
6784         * glyphs.c (pixmap_to_lisp_data):
6785         [7].
6786
6787         * glyphs.c (syms_of_glyphs):
6788         [2].
6789
6790         * gui-x.c:
6791         * gui-x.c (print_widget_value):
6792         * gui-x.c (menu_separator_style_and_to_external):
6793         * gui-x.c (add_accel_and_to_external):
6794         * gui-x.c (button_item_to_widget_value):
6795         * gui-x.c (gui_items_to_widget_values_1):
6796         * gui-x.c (gui_items_to_widget_values):
6797         * gui-x.c (syms_of_gui_x):
6798         * gui-x.c (vars_of_gui_x):
6799         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6800         [9].
6801
6802         * gui-x.h:
6803         Muleize, prototype changes matching gui-x.c.
6804
6805         * gui.c:
6806         * gui.c (separator_string_p):
6807         * gui.c (gui_item_add_keyval_pair):
6808         * gui.c (make_gui_item_from_keywords_internal):
6809         * gui.c (signal_too_long_error):
6810         * gui.c (parse_gui_item_tree_item):
6811         * gui.c (syms_of_gui):
6812         * gui.c (vars_of_gui):
6813         * gui.h:
6814         menu-no-selection-hook moved here (used by MSWin).
6815         Move some symbols to general-slots.h.
6816         [6].
6817         [9].
6818
6819         * insdel.c (get_buffer_pos_char):
6820         * insdel.c (get_buffer_range_char):
6821         Add GC comments.
6822
6823         * keymap.c (keymap_lookup_directly):
6824         * keymap.c (keymap_store):
6825         * keymap.c (ensure_meta_prefix_char_keymapp):
6826         * keymap.c (describe_map):
6827         * keymap.h:
6828         Support new button modifiers.
6829
6830         * lisp-disunion.h (wrap_object):
6831         * lisp-disunion.h (XSETOBJ):
6832         Rename make_obj to wrap_object.
6833
6834         * lisp-union.h:
6835         * lisp-union.h (make_int):
6836         * lisp-union.h (make_char):
6837         Support wrap_object.
6838
6839         * lisp.h:
6840         * lisp.h (LIST_LOOP):
6841         * lisp.h (EXTERNAL_LIST_LOOP):
6842         * lisp.h (LIST_LOOP_2):
6843         * lisp.h (EXTERNAL_LIST_LOOP_1):
6844         * lisp.h (EXTERNAL_LIST_LOOP_2):
6845         * lisp.h (EXTERNAL_LIST_LOOP_3):
6846         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6847         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6848         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6849         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6850         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6851         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6852         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6853         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6854         * lisp.h (struct Lisp_Symbol):
6855         * lisp.h (maybe_continuable_error_with_frob):
6856         Fix up section comments.
6857         Add new types for char to indicate usage.
6858         Delete symbols auto-generated from general-slots.h.
6859         Add prototypes for structured error functions.
6860         Add long comments describing looping macros and change interface
6861         so that lvalues are automatically declared.
6862         Add NO_DECLARE macro in case callers want to declare lvalues
6863         themselves.
6864
6865         * lread.c (read_syntax_error):
6866         * lread.c (continuable_read_syntax_error):
6867         * lread.c (read_structure):
6868         * lread.c (sequence_reader):
6869         * lread.c (read_list_conser):
6870         * lread.c (read_compiled_function):
6871         Rename syntax_error and continuable_syntax_error to avoid clash
6872         with same-named structured error functions.
6873
6874         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6875         * menubar-msw.c (populate_menu_add_item):
6876         * menubar-msw.c (populate_or_checksum_helper):
6877         [5].
6878         [9].
6879
6880         * menubar-x.c:
6881         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6882         Mule-ize whole file.
6883
6884         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6885
6886         * mule-charset.c (Fmake_charset):
6887         * mule-wnnfns.c (Fwnn_set_param):
6888         [1].
6889
6890         * ntproc.c (create_child):
6891         * ntproc.c (Fwin32_set_current_locale):
6892         Add comments portending doom.
6893
6894         * objects-msw.c:
6895         * objects-msw.c (old_font_enum_callback_2):
6896         * objects-msw.c (font_enum_callback_1):
6897         * objects-msw.c (mswindows_enumerate_fonts):
6898         [5].
6899
6900         * objects-x.c:
6901         * objects-x.c (allocate_nearest_color):
6902         * objects-x.c (x_parse_nearest_color):
6903         * objects-x.c (x_initialize_color_instance):
6904         * objects-x.c (x_print_color_instance):
6905         * objects-x.c (x_finalize_color_instance):
6906         * objects-x.c (x_valid_color_name_p):
6907         * objects-x.c (x_initialize_font_instance):
6908         * objects-x.c (x_print_font_instance):
6909         * objects-x.c (valid_x_font_name_p):
6910         * objects-x.c (truename_via_FONT_prop):
6911         * objects-x.c (truename_via_random_props):
6912         * objects-x.c (truename_via_XListFonts):
6913         * objects-x.c (x_font_truename):
6914         * objects-x.c (x_font_instance_truename):
6915         * objects-x.c (x_font_instance_properties):
6916         * objects-x.c (x_list_fonts):
6917         * objects-x.c (x_find_charset_font):
6918         Mule-ize entire file.
6919         [7].
6920
6921         * objects-x.h:
6922         Mule-verify.
6923
6924         * print.c:
6925         * print.c (std_handle_out_external):
6926         * print.c (debug_print_no_newline):
6927         * print.c (syms_of_print):
6928         Output to all debugger kinds in debug-print.
6929         Fix console-output code under MSWin to actually work.
6930
6931         * process-nt.c (send_signal):
6932         * process-nt.c (nt_create_process):
6933         Use newer Unicode macros.
6934
6935         * process-unix.c (unix_create_process):
6936         * process-unix.c (unix_canonicalize_host_name):
6937         * process-unix.c (unix_open_network_stream):
6938         [7].
6939
6940         * scrollbar-x.c:
6941         Mule-verify.
6942
6943         * search.c (syms_of_search):
6944         [2].
6945
6946         * select-msw.c (mswindows_destroy_selection):
6947         Use LIST_LOOP_2.
6948
6949         * select-x.c (symbol_to_x_atom):
6950         [7].
6951
6952         * select.c (syms_of_select):
6953         [2].
6954
6955         * sound.c (Fplay_sound_file):
6956         [7].
6957
6958         * specifier.c:
6959         * specifier.c (decode_specifier_type):
6960         * specifier.c (Fvalid_specifier_locale_type_p):
6961         * specifier.c (check_valid_locale_or_locale_type):
6962         * specifier.c (decode_locale):
6963         * specifier.c (decode_locale_type):
6964         * specifier.c (decode_locale_list):
6965         * specifier.c (check_valid_domain):
6966         * specifier.c (decode_specifier_tag_set):
6967         * specifier.c (Fcanonicalize_tag_set):
6968         * specifier.c (Fdefine_specifier_tag):
6969         * specifier.c (Fspecifier_tag_predicate):
6970         * specifier.c (check_valid_inst_list):
6971         * specifier.c (check_valid_spec_list):
6972         * specifier.c (decode_how_to_add_specification):
6973         * specifier.c (check_modifiable_specifier):
6974         * specifier.c (specifier_add_spec):
6975         * specifier.c (boolean_validate):
6976         * specifier.c (display_table_validate):
6977         [9].
6978
6979         * specifier.c (syms_of_specifier):
6980         Move some symbols to general-slots.h.
6981         [2].
6982
6983         * symbols.c:
6984         * symbols.c (Fmapatoms):
6985         * symbols.c (Fapropos_internal):
6986         Add GCPROs.
6987
6988         * symbols.c (set_default_buffer_slot_variable):
6989         * symbols.c (set_default_console_slot_variable):
6990         [1].
6991
6992         * symbols.c (defsymbol_massage_name_1):
6993         * symbols.c (defkeyword_massage_name):
6994         * symbols.c (deferror_1):
6995         * symbols.c (deferror):
6996         * symbols.c (deferror_massage_name_and_message):
6997         * symeval.h:
6998         * symeval.h (DEFSYMBOL):
6999         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7000
7001         * symbols.c (syms_of_symbols):
7002         [2].
7003
7004         * symsinit.h:
7005         * symsinit.h (init_win32): New.
7006         Also new is syms_of_dialog_mswindows.
7007
7008         * syswindows.h:
7009         Add new Unicode macros, missing Cygwin wide-char functions,
7010         convenience conversion macros for Qmswindows_tstr, macros for
7011         encapsulating required MSWin <-> Cygwin filename conversions,
7012         prototype for dynamically-extracted (not in NT 3.51) functions.
7013
7014         * toolbar-x.c:
7015         Mule-verify.
7016
7017         * tooltalk.c (Fadd_tooltalk_message_arg):
7018         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7019         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7020         [7].
7021
7022         * tooltalk.c (syms_of_tooltalk):
7023         [2].
7024
7025         * unexnt.c:
7026         * unexnt.c (unexec):
7027         Fix up headers, declaration of unexec() to be more standard.
7028
7029 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7030
7031         * offix.h: Revert change to guard macros - they're used in offix.c!
7032
7033 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7034
7035         * lisp.h: Defsubred Fdelete.
7036
7037         * console-msw.h:  (msprinter_default_printer): Added.
7038
7039         * console-msw.c (msprinter_canonicalize_console_connection):
7040         (msprinter_canonicalize_device_connection): Added.
7041
7042         * device-msw.c (msprinter_default_printer):
7043         (Fmswingows_get_default_printer):
7044         (signal_enum_priner_error):
7045         (Fmswingows_printer_list): Added.
7046
7047 2000-07-19  Martin Buchholz <martin@xemacs.org>
7048
7049         * XEmacs 21.2.35 is released.
7050
7051 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7052
7053         * select-x.c (x_handle_selection_request):
7054         Text selected in xemacs and pasted into xterm failed to appear.
7055         Spelling fixes and cosmetic changes.
7056
7057 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7058
7059         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7060         XEmacs frame (fix for doubling chars in dialog boxes).
7061
7062 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7063
7064         * select.c (select_convert_in, select_convert_out):
7065         Don't call intern() every time.
7066
7067         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7068         * select.c (vars_of_select): Initialise them.
7069
7070 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7071
7072         * select.c (selection-coercible-types): New.
7073
7074         * select.c (own-selection-internal):
7075         * select.c (get-selection-internal):
7076         MULE bug fix - these should default to COMPOUND_TEXT and not
7077         STRING for MULE. I think.
7078
7079         * select.c (select_convert_out): Use selection-coercible-types
7080         to find types that we can attempt to perform coercions on.
7081
7082 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7083
7084         * mule-wnnfns.c:
7085         * mule-canna.c:
7086         Add coding: cookie to identify encoding.
7087
7088         * mule-canna.c (CANNA_mode_keys): make static.
7089         Use proper prototypes, even for functions of no arguments.
7090         Remove external prototype for Fding().
7091
7092         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7093
7094         * select.c (syms_of_select): Add missing DEFSUBR.
7095
7096 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7097
7098         * select.c (get_selection_internal, own_selection_internal):
7099         Make the type default to STRING, rather than placing a nil type
7100         into Vselection_alist.
7101
7102 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7103
7104         * gpmevent.c (tty_selection_exists_p):
7105         * gpmevent.c (tty_own_selection):
7106         Updated parameter lists.
7107
7108 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7109
7110         * select.h (selection-alist): Removed declaration.
7111
7112         * select.h (get_local_selection):
7113         * select.c (get_local_selection):
7114         Made static.
7115
7116         * select.h (convert_selection): Removed declaration.
7117         * select.c (convert_selection): Removed.
7118         This function belongs in Lisp.
7119
7120         * select.h (select_convert_in): Declare.
7121         * select.h (select_convert_out): Declare.
7122         * select.c (select_convert_in): New.
7123         * select.c (select_convert_out): New.
7124         New conversion functions for other files to call.
7125
7126         * select.h (select_notify_buffer_kill): Declare.
7127         * select.c (select_notify_buffer_kill): New.
7128         New functions that get called from kill-buffer.
7129
7130         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7131         X-specific lisp code.
7132
7133         * select.h: Declare some of the lisp-visible functions for
7134         external use.
7135
7136         * select.c (clean_local_selection_data): Removed. This was
7137         a disgusting function, and previously should have been in
7138         select-x.c in any case. The functionality is now provided
7139         in select-convert-from-integer (select.el).
7140
7141         * select.c (available-selection-types): Fixed stupidity where
7142         INTEGER and ATOM got added twice. Also add STRING when we see an
7143         extent.
7144
7145         * select.c (get-selection-internal): Removed symbol stripping. No
7146         longer causes conversion when data comes from the internal cache.
7147
7148         * select.c (syms_of_select): Added new functions.
7149
7150         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7151         error checking - previously this called abort!
7152
7153         * select-x.c (x_own_selection): Changed comment.
7154
7155         * select-x.c (x_handle_selection_request): Use select_convert_out.
7156         Don't mess with selection-alist; it's an internal variable of select.c.
7157
7158         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7159
7160         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7161         rather than messing with selection-alist.
7162
7163         * select-msw.c (mswindows_get_foreign_selection):
7164         Use TO_INTERNAL_FORMAT rather than hacking.
7165
7166 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7167
7168         * process-unix.c (unix_open_multicast_group):
7169         (unix_open_multicast_group): Remove useless casts.
7170
7171 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7172
7173         * sound.c (Fplay_sound): Fix `unused variable' warning.
7174
7175         * emacs.c (main): Use correct type for _environ on SCO5.
7176
7177 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7178
7179         * console.h (own_selection_method):
7180         * console.h (selection_exists_p_method):
7181         * console.h (available_selection_types_method): New.
7182         * console.h (register_selection_data_type_method): New.
7183         * console.h (selection_data_type_name): New.
7184
7185         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7186         function & alist to track GlobalAlloc()'d handles that need
7187         releasing when the clipboard data gets replaced or emptied.
7188
7189         * event-msw.c (mswindows_wnd_proc): Call it.
7190
7191         * lisp.h, general.c (Qappend): New symbol representing a
7192         `how-to-add' mode.
7193
7194         * select.c (own-selection-internal):
7195         * select.c (selection-exists-p):
7196         * select.c (available-selection-types): New.
7197         * select.c (register-selection-data-type): New.
7198         * select.c (selection-data-type-name): New.  New functions to deal
7199         with device-specific selection data formats.
7200         * select.c (selection-converter-out-alist): Renamed.
7201         * select.c (selection-converter-in-alist): New.
7202         * select.c (selection-appender-alist): New.  Added new alists.
7203         * select.c (syms_of_select, vars_of_select): Added new symbols &
7204         variables.
7205         * select.c (get_local_selection): Split.
7206         * select.c: Removed spurious type checking - selections may now be
7207         of any type, not just strings.
7208         * select.c (own-selection-internal):
7209
7210         * select.h, select.c (convert_selection): New. Created
7211         convert_selection() function based on get_local_selection().
7212         * select.h, select.c (QCF_*): New symbols representing mswindows
7213         clipboard formats.
7214         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7215         symbols representing `how-to-add' modes.
7216
7217         * select-msw.c (x_sym_p): New.
7218         * select-msw.c (symbol_to_ms_cf): New.
7219         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7220         symbols & clipboard formats. Can also handle string names.
7221         * select-msw.c (mswindows_own_selection):
7222         * select-msw.c (mswindows_selection_exists_p):
7223         Added `data-type' parameter. Use it.
7224         * select-msw.c (mswindows_available_selection_types): New.
7225         * select-msw.c (mswindows_register_selection_data_type): New.
7226         * select-msw.c (mswindows_selection_data_type_name): New.
7227         * select-msw.c (mswindows_own_selection):
7228         * select-msw.c (mswindows_get_foreign_selection):
7229         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7230         * select-msw.c (console_create_select_mswindows): Added new methods.
7231         * select-msw.c (mswindows_destroy_selection): New.
7232         * select-msw.c (Vhandle_alist): New list.
7233         * select-msw.c (mswindows_own_selection):
7234
7235         * select-x.c (x_own_selection):
7236         * select-x.c (x_selection_exists_p):
7237         * select-x.c: Added some comments about maybe using new
7238         functionality.
7239         * select-x.c (x_own_selection):
7240
7241         * specifier.c: Remove definition of Qappend (now in general.c)
7242         * specifier.c (syms_of_specifier): Remove Qappend.
7243
7244 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7245
7246         * config.h.in: Add socklen_t.
7247
7248         * s/decosf4-0.h: No special compiler flags needed or desired.
7249         In particular, undefine _BSD for DEC OSF 4.0.
7250
7251 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7252
7253         * redisplay-msw.c (msprinter_frame_output_end): Added.
7254         (console_type_create_redisplay_mswindows): Referred the above.
7255
7256         * frame.c (setup_frame_without_minibuffer): Do not create a
7257         default minibuffer frame on a printer device.
7258
7259         * frame-msw.c (apply_dc_geometry): Added.
7260         (msprinter_start_page):
7261         (msprinter_init_frame_3):
7262         (msprinter_eject_page): Use it.
7263
7264         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7265         and removed residual duplex and orientation properties.
7266
7267 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7268
7269         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7270
7271         * unexalpha.c: Remove system prototypes from C sources!
7272
7273 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7274
7275         * eval.c: Remove references to M-x edit-options in DEFUNs for
7276         `defvar' and `defconst'.
7277
7278 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7279
7280         * config.h.in: Remove SMART_INCLUDE hackery.
7281
7282         PostgreSQL hacking:
7283         * config.h.in: Don't use SMART_INCLUDE.
7284
7285         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7286         * inline.c: Simply #include "postgresql.h"
7287         * postgresql.c:
7288         - Don't use SMART_INCLUDE
7289         - Use simply "const".
7290         - Use standard doc string conventions.
7291         - Use correct type for result of PQstatus.
7292
7293 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7294
7295         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7296
7297         C++ compilation changes.
7298         * config.h.in (EXTERN_C): Define.
7299         * config.h.in (not): This is also a C++ keyword.
7300         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7301         * cm.c: Use EXTERN_C.
7302         * redisplay-tty.c: Use EXTERN_C.
7303         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7304
7305 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7306
7307         * general.c: Remove duplicate definition for Qfunction.
7308
7309 2000-07-08  Ben Wing  <ben@xemacs.org>
7310
7311         * device-msw.c (msprinter_init_device):
7312         * device-msw.c (sync_printer_with_devmode):
7313         * device-msw.c (handle_devmode_changes):
7314         * device-msw.c (print_dialog_worker):
7315         * device-msw.c (Fmsprinter_apply_settings):
7316         * device-msw.c (hash_devmode):
7317         * device-msw.c (Fmsprinter_settings_despecialize):
7318         use Qmswindows_tstr, not Qctext.
7319
7320         * vm-limit.c (check_memory_limits):
7321         avoid infinite loop printing warning messages.
7322
7323 2000-07-05  Craig Lanning  <lanning@scra.org>
7324
7325         * Makefile.in.in: Add support for including the Windows resources
7326         when building with the cygwin and mingw targets.
7327
7328         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7329         not set or not correct.
7330         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7331         (init_initial_directory): Don't try to use $PWD on the
7332         WIN32_NATIVE target.
7333
7334         * s\cygwin32.h:
7335         [[Add -mwindows to eliminate console window.]] not required --ben
7336         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7337         (MAIL_USE_POP): removed; now handled by configure.
7338
7339         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7340         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7341         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7342         (MAIL_USE_POP): removed; now handled by configure.
7343         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7344         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7345         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7346         constant string.
7347         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7348         up from <winsock.h> via systime.h.
7349         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7350         (getpagesize): from Dan Holmsand, added.
7351         Added #endif which was left dangling by Ben's mega patch; added
7352         comment to help prevent this in the future.
7353
7354         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7355
7356 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7357
7358         * console-msw.h (struct mswindows_device): Removed unnecessary
7359         cached device geometry values.
7360         Added update_tick and an accessor macro.
7361         (Lisp_Devmode): Added lrecord declaration.
7362         (struct msprinter_device): Contain devmode as a Lisp object.
7363         Added mswindows_get_selected_frame_hwnd();
7364
7365         * console.h (struct console_methods): Indentation nitpicking.
7366
7367         * device-msw.c (mswindows_init_device): Do not initialize geometry
7368         cache. Initialize update tick.
7369         (mswindows_device_system_metrics): Ask the device for its geometry.
7370         (global_free_2_maybe):
7371         (devmode_to_hglobal):
7372         (handle_printer_changes):
7373         (ensure_not_printing):
7374         (print_dialog_worker):
7375         (Fmsprinter_print_setup_dialog):
7376         (Fmsprinter_print_dialog):
7377         (plist_get_margin):
7378         (plist_set_margin):
7379         (Fmsprinter_page_setup_dialog): Added functions.
7380         (sync_printer_with_devmode):
7381         (handle_devmode_changes):
7382         (Fmsprinter_get_settings):
7383         (Fmsprinter_select_settings):
7384         (Fmsprinter_apply_settings):
7385         (allocate_devmode):
7386         (Fmsprinter_settings_copy):
7387         (Fmsprinter_settings_despecialize):
7388         (print_devmode):
7389         (finalize_devmode):
7390         (equal_devmode):
7391         (hash_devmode): Added functions
7392         (syms_of_device_mswindows): Init devmode lrecord class.
7393
7394         * device.h: Added an exfun for find-device.
7395
7396         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7397         geometry; although, recreate the device compatible DC.
7398
7399         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7400         (msprinter_init_frame_3):
7401         (msprinter_frame_property):
7402         (msprinter_internal_frame_property_p):
7403         (msprinter_frame_properties):
7404         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7405         print job properties (will move to device settings).
7406
7407         * lisp.h: Added symbols.
7408
7409         * general.c (syms_of_general): Declared them.
7410
7411         * hash.c (string_hash): Added.
7412
7413         * lrecord.h (lrecord_type): Added devmode lrecord type.
7414
7415 2000-07-02  Mike Sperber <mike@xemacs.org>
7416
7417         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7418         FreeBSD 4.0.
7419
7420 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7421
7422         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7423         integer.
7424
7425 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7426
7427         * data.c (Fstring_to_number): Don't recognize floating point if
7428         base is not 10.
7429
7430 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7431
7432         * glyphs-widget.c (tab_control_query_geometry):
7433         (widget_query_geometry):
7434         (button_query_geometry):
7435         * glyphs.c (text_query_geometry):
7436         Enforce type correctness.
7437
7438 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7439
7440         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7441         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7442
7443 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7444
7445         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7446         conflicts with gcc's fixincluded version of FOO.h.
7447
7448         * glyphs.h (image_instance_geometry): Remove trailing `,'
7449
7450 2000-06-08  Mike Alexander  <mta@arbortext.com>
7451
7452         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7453         (shove_thread): Don't write the same output twice
7454         (make_ntpipe_output_stream): Increase priority of shove thread
7455         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7456         chance to run
7457         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7458         it.
7459
7460 2000-06-12  Ben Wing  <ben@xemacs.org>
7461
7462         * s\mingw32.h (sigset):
7463         * s\windowsnt.h (sigset):
7464         rename msw_ to mswindows_ for consistency with general convention.
7465
7466 2000-06-12  Ben Wing  <ben@xemacs.org>
7467
7468         * console-msw.c:
7469         * console-msw.c (mswindows_get_console_hwnd):
7470         * console-msw.c (mswindows_ensure_console_allocated):
7471         * console-msw.c (mswindows_hide_console):
7472         * console-msw.c (mswindows_show_console):
7473         * console-msw.c (mswindows_ensure_console_buffered):
7474         * console-msw.c (mswindows_output_console_string):
7475         * console-msw.c (mswindows_windows9x_p):
7476         * console-msw.h:
7477         * device-msw.c (mswindows_get_workspace_coords):
7478         * device-msw.c (mswindows_device_system_metrics):
7479         * dialog-msw.c (mswindows_popup_dialog_box):
7480         * event-msw.c (mswindows_wnd_proc):
7481         * frame-msw.c (mswindows_size_frame_internal):
7482         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7483         * menubar-msw.c (displayable_menu_item):
7484         * menubar-msw.c (mswindows_char_is_accelerator):
7485         * nt.c:
7486         * nt.c (mswindows_sigset):
7487         * nt.c (mswindows_sigrelse):
7488         * nt.c (mswindows_sigpause):
7489         * nt.c (mswindows_raise):
7490         * nt.c (timer_proc):
7491         * ntproc.c:
7492         * ntproc.c (find_child_console):
7493         * ntproc.c (sys_kill):
7494         * print.c:
7495         * print.c (std_handle_out_external):
7496         * process-nt.c (find_child_console):
7497         * process-nt.c (send_signal_the_95_way):
7498         * process-nt.c (ensure_console_window_exists):
7499         * process-nt.c (nt_create_process):
7500         * syssignal.h:
7501         rename msw_ to mswindows_ for consistency with general convention.
7502
7503         * emacs.c:
7504         * dumper.c:
7505         include nt.h, not syswindows.h.
7506
7507         * nt.c (mswindows_fstat):
7508         * nt.c (mswindows_stat):
7509         prefix mswindows_ instead of attempting to directly override the
7510         library functions.  fix declarations.
7511
7512         * nt.h:
7513         include syswindows.h.  move some sysdep.h stuff here.
7514
7515         * ntheap.h:
7516         include syswindows.h, not <windows.h>.
7517
7518         * ntplay.c:
7519         clean up headers.
7520
7521         * sysdep.c:
7522         clean up headers.
7523
7524         * sysdep.c (sys_fstat):
7525         * sysdep.c (sys_stat):
7526         call mswindows versions when appropriate.
7527
7528         * sysdep.h:
7529         move mswin decls to nt.h.
7530
7531         * syswindows.h:
7532         add long comment describing appropriate use of the various windows
7533         headers.
7534
7535 2000-06-11  Ben Wing  <ben@xemacs.org>
7536
7537         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7538
7539 2000-06-10  Ben Wing  <ben@xemacs.org>
7540
7541         * Makefile.in.in (release):
7542         Correction to make sure xemacs.exe always dumped when correct.
7543
7544         * alloca.c:
7545         * balloon_help.c:
7546         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7547
7548         * buffer.c (set_buffer_internal):
7549         [[[[2]]]]: Remove HAVE_FEP code.
7550
7551         * buffer.c (init_initial_directory):
7552         [3].
7553
7554         * bytecode.c:
7555         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7556         individual files.
7557
7558         * callproc.c:
7559         * callproc.c (call_process_cleanup):
7560         * callproc.c (Fold_call_process_internal):
7561         * callproc.c (child_setup):
7562         * callproc.c (getenv_internal):
7563         * callproc.c (init_callproc):
7564         * callproc.c (vars_of_callproc):
7565         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7566         __CYGWIN32__ -> CYGWIN.
7567         DOS_NT -> WIN32_NATIVE.
7568         Remove MSDOS support/references, converting to WIN32_NATIVE
7569           where correct.
7570         __MINGW32__ -> MINGW.
7571         Fix windows.h includes.
7572         Remove bogus HAVE_NTGUI.
7573
7574         * config.h.in:
7575         [2].
7576
7577         * console-msw.c:
7578         mswindows_message_outputted added for use in allowing startup
7579         errors on the console to be seen.
7580
7581         * console-msw.c (msw_ensure_console_allocated):
7582         * console-msw.c (msw_output_console_string):
7583         * console-msw.c (DHEADER):
7584         * console-msw.c (DOPAQUE_DATA):
7585         * console-msw.c (DEVENT):
7586         * console-msw.c (DCONS):
7587         * console-msw.c (DCONSCDR):
7588         * console-msw.c (DSTRING):
7589         * console-msw.c (DVECTOR):
7590         * console-msw.c (DSYMBOL):
7591         * console-msw.c (DSYMNAME):
7592         Fix warnings.
7593
7594         * console-stream.c (stream_init_console):
7595         Fix text/binary problems.
7596
7597         * device-msw.c:
7598         * device-msw.c (mswindows_finish_init_device):
7599         * device-msw.c (mswindows_delete_device):
7600         [1].
7601
7602         * device.c (handle_asynch_device_change):
7603         [3].
7604
7605         * dgif_lib.c:
7606         * dgif_lib.c (DGifOpenFileName):
7607         * dgif_lib.c (DGifOpenFileHandle):
7608         * dgif_lib.c (DGifGetLine):
7609         * dgif_lib.c (DGifGetPixel):
7610         Added config.h/lisp.h, fix up includes.
7611         [1].
7612
7613         * dired-msw.c:
7614         [4].
7615
7616         * dired.c:
7617         * dired.c (file_name_completion):
7618         * dired.c (Ffile_attributes):
7619         * dired.c (syms_of_dired):
7620         [1].
7621
7622         * dumper.c:
7623         * dumper.c (pdump_file_unmap):
7624         * dumper.c (pdump_load):
7625         [1].
7626
7627         * editfns.c:
7628         * editfns.c (Ftemp_directory):
7629         * editfns.c (user_login_name):
7630         * editfns.c (Fuser_real_login_name):
7631         * editfns.c (get_home_directory):
7632         [1].
7633
7634         * elhash.c (finish_marking_weak_hash_tables):
7635         [[[[5]]]]: Fix GCC warnings.
7636
7637         * emacs.c:
7638         * emacs.c (mswindows_handle_hardware_exceptions):
7639         * emacs.c (make_arg_list_1):
7640         * emacs.c (main_1):
7641         * emacs.c (Fkill_emacs):
7642         * emacs.c (Fdump_emacs):
7643         [1].
7644         Fix problems with nested crashes, add long comment.
7645
7646         * event-Xt.c (init_event_Xt_late):
7647         [1].
7648
7649         * event-msw.c:
7650         * event-msw.c (mswindows_dde_callback):
7651         * event-msw.c (mswindows_handle_sticky_modifiers):
7652         * event-msw.c (mswindows_wnd_proc):
7653         [1].
7654         [5].
7655
7656         * events.c (character_to_event):
7657         [1].
7658
7659         * fileio.c:
7660         * fileio.c (Ffile_name_directory):
7661         * fileio.c (Ffile_name_nondirectory):
7662         * fileio.c (directory_file_name):
7663         * fileio.c (Fexpand_file_name):
7664         * fileio.c (Fsubstitute_in_file_name):
7665         * fileio.c (Ffile_name_absolute_p):
7666         * fileio.c (check_executable):
7667         * fileio.c (Ffile_readable_p):
7668         * fileio.c (Ffile_accessible_directory_p):
7669         * fileio.c (Ffile_modes):
7670         * fileio.c (Funix_sync):
7671         * fileio.c (vars_of_fileio):
7672         [1]. [4].
7673
7674         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7675
7676         Expand getdefdir defn.
7677         Fix bogus rename() comment.
7678
7679         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7680         to use standard XEmacs include files, e.g. sysfile.h, rather
7681         than system-specific includes.
7682
7683         * fns.c:
7684         * fns.c (Fsubseq):
7685         [5]. [6].
7686
7687         * frame.c (vars_of_frame):
7688         [1].
7689
7690         * getloadavg.c:
7691         * getloadavg.c (getloadavg):
7692         [1]. [6].
7693         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7694         (We don't use it elsewhere in the code; just add a comment.)
7695
7696         * gif_io.c:
7697         [6].
7698         Add config.h.
7699
7700         * glyphs-msw.c:
7701         * glyphs-msw.c (mswindows_resource_instantiate):
7702         [1].
7703
7704         * glyphs-x.c (x_native_layout_instantiate):
7705         [5].
7706
7707         * gui-msw.c (Fmswindows_shell_execute):
7708         [1].
7709
7710         * insdel.c:
7711         [4].
7712
7713         * lisp.h:
7714         [4]. [5].
7715
7716         * lread.c (locate_file_in_directory_mapper):
7717         [1].
7718
7719         * lstream.c:
7720         [4].
7721
7722         * mem-limits.h:
7723         * mem-limits.h (get_lim_data):
7724         [1].
7725
7726         * menubar-msw.c:
7727         [4].
7728
7729         * ndir.h:
7730         [1].
7731
7732         * nt.c:
7733         * nt.c (getwd):
7734         * nt.c (closedir):
7735         * nt.c (rva_to_section):
7736         * nt.c (mswindows_executable_type):
7737         [1]. [6].
7738         Fix closedir() defn.
7739
7740         * nt.h:
7741         [[[[8]]]]: *_OK defs moved to sysfile.h.
7742
7743         * ntproc.c:
7744         [6]. [7].
7745
7746         * objects-x.c:
7747         [4].
7748
7749         * print.c:
7750         * print.c (std_handle_out_external):
7751         [1]. [4].
7752
7753         * process-nt.c:
7754         * process-nt.c (nt_create_process):
7755         [6].
7756         try to fix process quoting somewhat.
7757
7758         * process-unix.c (unix_create_process):
7759         [1].
7760
7761         * process.c:
7762         * process.c (vars_of_process):
7763         Add Vnull_device.
7764
7765         * process.h:
7766         [1].
7767
7768         * realpath.c:
7769         * realpath.c (xrealpath):
7770         [1].
7771
7772         * redisplay-tty.c (init_tty_for_redisplay):
7773         [3].
7774
7775         * redisplay.c:
7776         [4]. [6].
7777
7778         * scrollbar-msw.c:
7779         [4].
7780
7781         * sheap.c:
7782         * sheap.c (more_static_core):
7783         * sheap.c (report_sheap_usage):
7784         [5]. [6].
7785
7786         * signal.c:
7787         * signal.c (alarm_signal):
7788         [1]. [6].
7789
7790         * sound.c:
7791         [6].
7792
7793         * strftime.c:
7794         * strftime.c (zone_name):
7795         [1]. [5].
7796
7797         * symsinit.h (init_sunpro):
7798         [1].
7799
7800         * syscommctrl.h:
7801         commctrl.h not in Cygwin b20.1.
7802
7803         * sysdep.c:
7804         * sysdep.c (endif):
7805         * sysdep.c (sys_subshell):
7806         * sysdep.c (init_baud_rate):
7807         * sysdep.c (emacs_get_tty):
7808         * sysdep.c (emacs_set_tty):
7809         * sysdep.c (tty_init_sys_modes_on_device):
7810         * sysdep.c (init_system_name):
7811         * sysdep.c (sys_open):
7812         * sysdep.c (interruptible_open):
7813         * sysdep.c (sys_fopen):
7814         * sysdep.c (sys_mkdir):
7815         * sysdep.c (sys_rename):
7816         * sysdep.c (get_process_times_1):
7817         [1]. [6].
7818
7819         * sysdep.h:
7820         [1].
7821
7822         * sysdir.h:
7823         * sysdir.h (DIRENTRY_NONEMPTY):
7824         [1]. [6].
7825
7826         * sysdll.c (dll_init):
7827         * sysdll.h:
7828         [1].
7829
7830         * sysfile.h:
7831         [1]. [6]. [8].
7832         added text/binary defs.
7833
7834         * sysfloat.h:
7835         [1].
7836
7837         * sysproc.h:
7838         * sysproc.h (EDESTADDRREQ):
7839         * sysproc.h (poll_fds_for_input):
7840         [1]. [6].
7841
7842         * syspwd.h:
7843         [6].
7844
7845         * syssignal.h:
7846         [1].
7847
7848         * systime.h:
7849         [1]. [6].
7850
7851         * systty.h:
7852         [1].
7853
7854         * syswindows.h:
7855         [1].
7856         Always define WIN32_LEAN_AND_MEAN.
7857
7858         * unexcw.c (unexec):
7859         [5].
7860
7861         * unexec.c:
7862         * unexec.c (copy_text_and_data):
7863         * unexec.c (adjust_lnnoptrs):
7864         [1].
7865
7866         * unexnt.c:
7867         * unexnt.c (_start):
7868         [1].
7869
7870 2000-06-07  Ben Wing  <ben@xemacs.org>
7871
7872         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7873         was used only as a model.  We've long since extracted any useful
7874         logic or code out of this. (I just did an exhaustive search.)
7875
7876         * s\msdos.h: Removed.
7877
7878         * s\windows95.h: Removed.
7879
7880 2000-06-10  Ben Wing  <ben@xemacs.org>
7881
7882         * s\cygwin32.h:
7883         [1]. [5].
7884         Don't use extern with fun defs.
7885
7886         * s\mingw32.h:
7887         [1]. [7].
7888         Remove nt\inc include.
7889         Remove getdisk, getdefdir. (The former is unused, the latter
7890         expanded in fileio.h.)
7891
7892         * s\windowsnt.h:
7893         * s\windowsnt.h (WIN32_NATIVE):
7894         * s\windowsnt.h (HAVE_STRCASECMP):
7895         [1]. [7].
7896         Add long comment about preprocessor changes.
7897         Remove getdisk, getdefdir. (The former is unused, the latter
7898         expanded in fileio.h.)
7899
7900 2000-06-10  Ben Wing  <ben@xemacs.org>
7901
7902         * m\arm.h:
7903         * m\delta.h:
7904         * m\intel386.h:
7905         * m\sequent.h:
7906         * m\template.h:
7907         * m\windowsnt.h:
7908         [1].
7909         Remove bogus/unused NO_SOCK_SIGIO.
7910
7911 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7912
7913         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7914         not an Emchar.
7915
7916 2000-06-04  Mike Sperber <mike@xemacs.org>
7917
7918         * casetab.c (set_case_table): For `set-standard-case-table',
7919         actually deposit the new case tables where the rest of XEmacs can
7920         see them.
7921
7922 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7923
7924         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7925
7926 2000-06-05  Ben Wing  <ben@xemacs.org>
7927
7928         * callproc.c (child_setup): Don't do close_load_descs() under
7929         MS Windows.  Put in a comment explaining why.
7930
7931 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7932
7933         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7934         Toolkit shell" which breaks `kill-compilation' on Windows NT
7935         native, retaining STDERR handling improvements.
7936
7937 2000-06-01  Andreas Jaeger  <aj@suse.de>
7938
7939         * s/s390.h: Support for S390, based on a patch by Martin
7940         Schwidefsky <schwidefsky@de.ibm.com>.
7941
7942 2000-05-30  Andy Piper  <andy@xemacs.org>
7943
7944         * window.c (allocate_window):
7945         (make_dummy_parent):
7946         (Fset_window_configuration): use new hashtable type.
7947
7948         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7949         (struct image_instantiator_methods):
7950         (struct Lisp_Image_Instance): make instance geometry signed.
7951
7952         * glyphs.c (instantiate_image_instantiator):
7953         (image_instance_query_geometry):
7954         (image_instance_layout):
7955         (image_instance_layout):
7956         (query_string_geometry):
7957         (text_query_geometry):
7958         (image_instantiate):
7959         (image_instantiate):
7960         (cache_subwindow_instance_in_frame_maybe):
7961         (subwindow_query_geometry): make instance geometry signed.
7962
7963         * glyphs-widget.c (widget_query_geometry):
7964         (widget_layout):
7965         (button_query_geometry):
7966         (tree_view_query_geometry):
7967         (tab_control_query_geometry):
7968         (layout_query_geometry):
7969         (layout_layout):
7970         (native_layout_layout): make instance geometry signed.
7971
7972 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7973
7974         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7975         constant.
7976
7977         * general.c (syms_of_general): Add Qfull_assoc symbol.
7978
7979         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7980         correctly.
7981         (decode_weak_list_type): Decode full-assoc type.
7982         (encode_weak_list_type): Encode full-assoc type.
7983         (Fmake_weak_list): Update doc string.
7984
7985 2000-05-30  Andy Piper  <andy@xemacs.org>
7986
7987         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7988
7989         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7990         (decode_hash_table_weakness): ditto.
7991         (Fhash_table_weakness): ditto.
7992         (Fhash_table_type): ditto.
7993         (finish_marking_weak_hash_tables): ditto.
7994         (hash_table_weakness_validate): ditto.
7995         (syms_of_elhash): ditto.
7996
7997 2000-05-28  Martin Buchholz <martin@xemacs.org>
7998
7999         * XEmacs 21.2.34 is released.
8000
8001 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8002
8003         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8004         start cache.
8005         (updating_line_start_cache): Gone.
8006         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8007         generic code to force a minimum of 1 line laid out in the
8008         CMOTION_DISP case.
8009
8010 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8011
8012         * glyphs.c (instantiate_image_instantiator): Check for initialized
8013         height & width no longer special cases IMAGE_NOTHING.
8014         (nothing_instantiate): Set height and width of instance.
8015
8016 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8017
8018         * unexelf.c (unexec): Search for ".data" section.
8019         Initialize new_data2_offset from old_data_index.
8020         Remove redundant check for ElfW.
8021
8022 2000-05-23  Andy Piper  <andy@xemacs.org>
8023
8024         * glyphs.c (get_image_instantiator_governing_domain): allow more
8025         specific domains as the governing domain rather than expecting an
8026         exact match. This fixes problems with layouts.
8027
8028 2000-05-22  Andy Piper  <andy@xemacs.org>
8029
8030         * redisplay-output.c (compare_runes): check for non-images
8031
8032         * glyphs.c (set_glyph_dirty_p): ditto.
8033         (update_glyph_cachel_data): ditto.
8034
8035         * glyphs-widget.c (layout_post_instantiate): ditto.
8036         (layout_post_instantiate): ditto.
8037
8038         * event-msw.c (mswindows_wnd_proc): warning removal.
8039
8040 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8041
8042         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8043
8044         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8045
8046         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8047
8048         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8049         (mswindows_executable_type): mingw32 now has enough headers for
8050         this to work.
8051
8052 2000-05-20  Andy Piper  <andy@xemacs.org>
8053
8054         * console-msw.c (mswindows_output_last_error): ; -> ,
8055
8056 2000-05-12  Andy Piper  <andy@xemacs.org>
8057
8058         * console-msw.c (FROB): compare ints with ints.
8059
8060 2000-05-11  Andy Piper  <andy@xemacs.org>
8061
8062         * glyphs-x.c (x_finalize_image_instance): make minimal build
8063         happy.
8064
8065 2000-05-20  Ben Wing  <ben@xemacs.org>
8066
8067         * event-Xt.c:
8068         * event-Xt.c (vars_of_event_Xt):
8069         move modifier-keys-are-sticky to event-stream.c.
8070
8071         * event-msw.c:
8072         * event-msw.c (mswindows_enqueue_mouse_button_event):
8073         * event-msw.c (key_needs_default_processing_p):
8074         * event-msw.c (XEMSW_LCONTROL):
8075         * event-msw.c (mswindows_handle_sticky_modifiers):
8076         * event-msw.c (FROB):
8077         * event-msw.c (clear_sticky_modifiers):
8078         * event-msw.c (output_modifier_keyboard_state):
8079         * event-msw.c (output_alt_keyboard_state):
8080         * event-msw.c (mswindows_wnd_proc):
8081         * event-msw.c (mswindows_modifier_state):
8082         * event-msw.c (emacs_mswindows_handle_magic_event):
8083         implement sticky modifiers.
8084
8085         * event-stream.c:
8086         * event-stream.c (vars_of_event_stream):
8087         move modifier-keys-are-sticky here.
8088
8089         * lisp.h:
8090         add CHECK_FUNCTION.
8091
8092         * rangetab.c:
8093         implement map-range-table.
8094
8095
8096 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8097
8098         * redisplay-tty.c (reset_tty_modes):
8099         (tty_redisplay_shutdown): Adjust argument type to
8100         tty_frame_output_end.
8101
8102 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8103
8104         * eval.c (Fbacktrace): Don't output a line with only right
8105         parenthesis.
8106
8107 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8108
8109         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8110         (Fpq_reset_poll): Ditto.
8111
8112 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8113
8114         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8115
8116 2000-05-16  Ben Wing  <ben@xemacs.org>
8117
8118         * buffer.c:
8119         * buffer.c (dfc_convert_to/from_internal_format):
8120         * buffer.c (reinit_vars_of_buffer):
8121         Fix conversion functions to allow reentrancy.
8122
8123         * console-msw.c:
8124         * console-msw.c (mswindows_output_last_error):
8125         New fun, generally useful -- output a human-readable
8126         version of GetLastError() on the console.
8127
8128         * console-msw.h:
8129         * console-msw.h (struct mswindows_frame):
8130         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8131
8132         * console-stream.c (stream_output_begin):
8133         * console-stream.c (stream_output_end):
8134         * console-stream.c (stream_output_vertical_divider):
8135         * console-stream.c (stream_clear_region):
8136         * console-stream.c (stream_flash):
8137         * console-stream.c (console_type_create_stream):
8138         Delete blank stream methods, not needed.
8139
8140         * console.h (struct console_methods):
8141         Split begin/end methods into window and frame.
8142
8143         * event-msw.c:
8144         * event-msw.c (mswindows_handle_paint):
8145         * event-msw.c (output_alt_keyboard_state):
8146         * event-msw.c (mswindows_wnd_proc):
8147         * event-msw.c (vars_of_event_mswindows):
8148         Comment about problems with ignored-expose.
8149         Define mswindows-debug-events; not really implemented.
8150
8151         * frame-msw.c (mswindows_init_frame_1):
8152         random cleanups.
8153
8154         * glyphs-msw.c:
8155         * glyphs-msw.c (begin_defer_window_pos):
8156         * glyphs-msw.c (mswindows_unmap_subwindow):
8157         * glyphs-msw.c (mswindows_map_subwindow):
8158         * glyphs-msw.c (mswindows_resize_subwindow):
8159         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8160
8161         * glyphs.c (make_image_instance_1):
8162         Fix crash.
8163
8164         * gutter.c (Fredisplay_gutter_area):
8165         Use new begin/end methods.
8166
8167         * lisp.h (Dynarr_new2):
8168         New creation fun.
8169
8170         * redisplay-msw.c:
8171         * redisplay-msw.c (mswindows_frame_output_begin):
8172         * redisplay-msw.c (mswindows_frame_output_end):
8173         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8174         New begin/end methods -- handle DeferWindowPos.
8175
8176         * redisplay-output.c (redisplay_move_cursor):
8177         * redisplay-output.c (redraw_cursor_in_window):
8178         * redisplay-output.c (redisplay_update_line):
8179         * redisplay-output.c (redisplay_output_window):
8180         New begin/end methods.
8181
8182         * redisplay-tty.c:
8183         * redisplay-tty.c (tty_frame_output_begin):
8184         * redisplay-tty.c (tty_frame_output_end):
8185         * redisplay-tty.c (console_type_create_redisplay_tty):
8186         New begin/end methods.
8187
8188         * redisplay-x.c:
8189         * redisplay-x.c (x_window_output_begin):
8190         * redisplay-x.c (x_window_output_end):
8191         * redisplay-x.c (console_type_create_redisplay_x):
8192         New begin/end methods.
8193
8194         * redisplay.c (redisplay_frame):
8195         * redisplay.c (Fredisplay_echo_area):
8196         New begin/end methods.
8197         use MAYBE_DEVMETH for clear_frame; it may not exist.
8198
8199         * window.h (WINDOW_XFRAME):
8200         WINDOW_XFOO macros -- get locale and decode struct pointer.
8201
8202
8203 2000-05-12  Ben Wing  <ben@xemacs.org>
8204
8205         * emacs.c:
8206         * emacs.c (ensure_no_quitting_from_now_on):
8207         * emacs.c (fatal_error_signal):
8208         * emacs.c (mswindows_handle_hardware_exceptions):
8209         * emacs.c (main):
8210         * emacs.c (Fkill_emacs):
8211         * emacs.c (shut_down_emacs):
8212         * emacs.c (assert_failed):
8213         various improvements in fatal error handling.
8214
8215         * eval.c:
8216         move preparing_for_armageddon to emacs.c.
8217
8218         * lisp.h:
8219         declare fatal_error_in_progress.
8220
8221         * print.c:
8222         * print.c (std_handle_out_external):
8223         * print.c (std_handle_out_va):
8224         * print.c (stderr_out):
8225         * print.c (stdout_out):
8226         use console under mswin when no standard output.
8227         don't do code conversion during fatal error.
8228
8229         * scrollbar.c (Fscrollbar_page_up):
8230         * scrollbar.c (Fscrollbar_page_down):
8231         fix missing else.  reindent.
8232
8233 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8234
8235         Emergency fix.
8236
8237         * glyphs.h (GLYPH_CACHEL_DESCENT):
8238         (GLYPH_CACHEL_DESCENT):
8239         (GLYPH_CACHEL_DESCENT):
8240         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8241         used in case these are inline functions.
8242         Use more absurd values to error check.
8243
8244         include window.h for error check functions.
8245
8246 2000-05-11  Ben Wing  <ben@xemacs.org>
8247
8248         * cmdloop.c (Freally_early_error_handler):
8249         Display message box under windows; otherwise, message will disappear
8250         before it can be viewed.
8251
8252         * console-msw.c:
8253         * console-msw.c (Fmswindows_message_box):
8254         * console-msw.c (FROB):
8255         * console-msw.c (syms_of_console_mswindows):
8256         Define new fun `mswindows-message-box'.
8257         #### I will merge this into `popup-dialog-box'; just give me
8258         a bit of time.
8259
8260         * general.c:
8261         * general.c (syms_of_general):
8262         Some new symbols used in `mswindows-message-box'.
8263
8264         * glyphs.c:
8265         * glyphs.c (Fset_image_instance_property):
8266         put warning in this fun.
8267
8268         * glyphs.h:
8269         * glyphs.h (GLYPH_CACHEL_WIDTH):
8270         * glyphs.h (GLYPH_CACHEL_ASCENT):
8271         * glyphs.h (GLYPH_CACHEL):
8272         * glyphs.h (GLYPH_CACHEL_GLYPH):
8273         define error-checking versions to try to catch a bug i've seen --
8274         redisplay gets in an infinite loop because the glyph width of the
8275         continuation glyph is 65535.
8276
8277         * lisp.h:
8278         Extern message-box stuff.
8279
8280         * window.c (allocate_window):
8281         * window.c (make_dummy_parent):
8282         * window.c (Fset_window_configuration):
8283         Use EQUAL not EQ for subwindow caches to make them work a bit
8284         better. (Something is still very broken.)
8285
8286
8287 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8288
8289         * glyphs.c (image_instantiate): Suppress gcc warnings.
8290         (Fmake_image_instance): Fix doc string.
8291         * specifier.c (Fmake_specifier): Ditto.
8292
8293 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8294
8295         * paths.h.in (PATH_LOCK): Removed.
8296         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8297         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8298
8299 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8300
8301         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8302         Document (featurep '(and xemacs 21.02)).
8303
8304 2000-05-09  Ben Wing  <ben@xemacs.org>
8305
8306         * buffer.c (complex_vars_of_buffer):
8307         update modeline-format doc.
8308
8309         * device.h:
8310         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8311
8312         * emacs.c:
8313         timeline of all released versions of Emacs, for use in creating
8314         authorship comments and in synching up.
8315
8316         * glyphs-widget.c (image_instantiator_buttons):
8317         * glyphs-widget.c (image_instantiator_edit_fields):
8318         * glyphs-widget.c (image_instantiator_combo_box):
8319         * glyphs-widget.c (image_instantiator_scrollbar):
8320         * glyphs-widget.c (image_instantiator_progress_guage):
8321         * glyphs-widget.c (image_instantiator_tree_view):
8322         * glyphs-widget.c (image_instantiator_tab_control):
8323         * glyphs-widget.c (image_instantiator_labels):
8324         * glyphs-widget.c (image_instantiator_layout):
8325         * glyphs-widget.c (image_instantiator_native_layout):
8326         rename decode_domain method to governing_domain.
8327
8328         * glyphs.c:
8329         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8330         * glyphs.c (add_entry_to_device_ii_format_list):
8331         make sure we don't put an entry more than once into the list.
8332         * glyphs.c (check_instance_cache_mapper):
8333         *************************************************************
8334         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8335         HAVE BEEN GETTING.
8336         *************************************************************
8337         * glyphs.c (get_image_instantiator_governing_domain):
8338         clean up, expand on new concept of governing domain.
8339         * glyphs.c (instantiate_image_instantiator):
8340         * glyphs.c (allocate_image_instance):
8341         use governing_domain instead of cache_domain in naming.
8342         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8343         * glyphs.c (make_image_instance_1):
8344         * glyphs.c (Fmake_image_instance):
8345         allow for any domain (not just device), and process the
8346         governing domain correctly.  very big doc fix.
8347         * glyphs.c (Fimage_instance_domain):
8348         new primitive, to retrieve the governing domain of an image instance.
8349         * glyphs.c (image_instantiate):
8350         use new governing_domain stuff.  this fixes a crash you could get
8351         by instantiating certain widget glyphs in frame locales. (should
8352         signal an error instead of crashing.)
8353         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8354         * glyphs.c (Fglyphp): clean up doc.
8355         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8356         * glyphs.c (syms_of_glyphs):
8357         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8358         * glyphs.c (image_instantiator_format_create): add some comments about
8359         bogus code.
8360         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8361         for current-display-table. (Apparently Hrjove implemented in 1998 a
8362         design I wrote up in 1996, but didn't update the doc string.)
8363
8364         * glyphs.h: clean up a doc string.
8365         * glyphs.h (governing_domain):
8366         * glyphs.h (struct image_instantiator_methods):
8367         changes for governing_domain stuff.
8368
8369         * gutter.c:
8370         * gutter.c (Fgutter_specifier_p):
8371         * gutter.c (Fgutter_size_specifier_p):
8372         * gutter.c (Fgutter_visible_specifier_p):
8373         * objects.c:
8374         * objects.c (Fcolor_specifier_p):
8375         * objects.c (Ffont_specifier_p):
8376         * objects.c (Fface_boolean_specifier_p):
8377         doc strings moved to make-*-specifier.
8378
8379         * redisplay.c (add_disp_table_entry_runes_1):
8380         * redisplay.c (generate_fstring_runes):
8381         * redisplay.c (screen):
8382         add random comments and doc strings.
8383
8384         * specifier.c:
8385         * specifier.c (Fmake_specifier):
8386         major overhaul of this doc string.
8387
8388         * specifier.c (Fvalid_specifier_domain_p):
8389         comment about the bogosity of image instances being domains.
8390         * specifier.c (decode_domain):
8391         now non-static, used in glyphs.c.
8392         * specifier.c (specifier_instance):
8393         comment about the bogosity of image instances being domains.
8394         * specifier.c (Fgeneric_specifier_p):
8395         move doc string to make-generic-specifier.
8396         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8397         rebackslashify.
8398
8399         * specifier.h:
8400         * specifier.h (DOMAIN_FRAME):
8401         * specifier.h (DOMAIN_LIVE_P):
8402         * specifier.h (DOMAIN_XDEVICE):
8403         rebackslashify.
8404         add comments about problems with these macros.
8405         prototype for decode_domain.
8406
8407         * toolbar.c:
8408         * toolbar.c (Ftoolbar_specifier_p):
8409         move doc string to `make-toolbar-specifier'.
8410
8411         * window.c (window_unmap_subwindows_cache_mapper):
8412         *************************************************************
8413         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8414         HAVE BEEN GETTING.
8415         *************************************************************
8416
8417 2000-05-09  Andy Piper  <andy@xemacs.org>
8418
8419         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8420
8421         * window.c (Fset_window_configuration): reset the frame subwindow
8422         cache and re-initialize the window subwindow caches.
8423
8424         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8425
8426 2000-05-09  Ben Wing  <ben@xemacs.org>
8427
8428         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8429         DWORD.
8430
8431 2000-04-26  Mike Woolley  <mike@bulsara.com>
8432
8433         * ntheap.c: Changed recreate_heap to limit the amount reserved
8434         for the heap to that which is actually available. Also now
8435         displays a message box (with some dignostics) in the event that
8436         it still can't start.
8437
8438 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8439
8440         * callproc.c (Fold_call_process_internal): GCPRO path
8441
8442 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8443
8444         Patch by Bill Perry.
8445
8446         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8447         back data instead of #ifdef.
8448         (Fscrollbar_page_down): ditto.
8449
8450 2000-05-07  Ben Wing  <ben@xemacs.org>
8451
8452         * buffer.h:
8453         Kludge for defining Qmswindows_tstr.
8454
8455         * nt.c:
8456         * nt.c (open_input_file):
8457         * nt.c (open_output_file):
8458         * nt.c (rva_to_section):
8459         * nt.c (mswindows_executable_type):
8460         Move all memory-mapped-file routines here (some were in unexnt.c,
8461         which is bad because they are used by process-nt.c, and unexnt
8462         won't be around when portable dumping).  Synched the above routines
8463         with FSF 20.6.
8464
8465         * nt.h:
8466         Removed ifdef'd out bogus code.
8467         Fixed some prototypes.
8468
8469         * nt.h (file_data):
8470         * nt.h (OFFSET_TO_RVA):
8471         * nt.h (RVA_TO_OFFSET):
8472         * nt.h (RVA_TO_PTR):
8473         Moved the memory-mapped-file structures, macros and prototypes
8474         here, to parallel nt.c.  ntheap.h should really be removed
8475         entirely, and it's a non-portable-dumper specific file.
8476
8477         * ntheap.h (round_to_next):
8478         Moved the memory-mapped-file structures, macros and prototypes
8479         to nt.h.
8480
8481         * ntproc.c (compare_env):
8482         Moved rva_to_section and mswindows_executable_type to nt.c.
8483         Moved compare_env to process-nt.c.
8484         ntproc.c will die, one day.
8485
8486         * ntproc.c (sys_spawnve):
8487         Account for win32_ -> mswindows_.
8488
8489         * process-nt.c:
8490         * process-nt.c (struct nt_process_data):
8491         * process-nt.c (ensure_console_window_exists):
8492         * process-nt.c (compare_env):
8493         * process-nt.c (nt_create_process):
8494         * process-nt.c (nt_kill_process_by_pid):
8495         * process-nt.c (syms_of_process_nt):
8496         * process-nt.c (vars_of_process_nt):
8497         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8498         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8499         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8500         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8501         Move compare_env here from ntproc.c.
8502
8503         * process.c (Fprocess_send_region):
8504         Takes an optional fourth argument, BUFFER, which should fix some
8505         problems with call-process.
8506
8507         * syscommctrl.h:
8508         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8509
8510         * syswindows.h:
8511         Move ICC_BAR_CLASSES to syscommctrl.h.
8512         Add preliminary macros for MSWindows/Mule.  More to come.
8513
8514         * unexnt.c:
8515         * unexnt.c (unexec):
8516         open_output_file moved to nt.c.
8517
8518
8519 2000-05-05  Andy Piper  <andy@xemacs.org>
8520
8521         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8522         instance from the frame cache also since GC may catch up too late
8523         to make frame deletion sane.
8524
8525 2000-05-04  Andy Piper  <andy@xemacs.org>
8526
8527         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8528         (x_finalize_image_instance): ungcpro on deletion.
8529
8530         * glyphs.c (image_instantiator_format_create): give pointers a
8531         query geometry method so that the geometry is at least set.
8532
8533         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8534         initialize layouts if using widgets.
8535
8536 2000-05-03  Andy Piper  <andy@xemacs.org>
8537
8538         * nt.c: remove bogus reference to sysmmsystem.h
8539
8540         * gui-x.c (popup_selection_callback): fix no selection abort.
8541
8542 2000-05-02  Andy Piper  <andy@xemacs.org>
8543
8544         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8545         (mswindows_widget_instantiate): ditto.
8546
8547         * glyphs-widget.c (initialize_widget_image_instance): initialize
8548         children correctly.
8549         (widget_instantiate): cope with children and items in the same
8550         instance.
8551
8552         * glyphs.c (mark_image_instance): cope with children as a first
8553         class member.
8554         (image_instance_equal): ditto.
8555         (image_instance_hash): ditto.
8556         (image_instance_changed): ditto.
8557
8558 2000-04-30  Andy Piper  <andy@xemacs.org>
8559
8560         * glyphs.c (subwindow_query_geometry): new function. Return some
8561         defaults.
8562         (subwindow_instantiate): don't assign dimensions if none have been
8563         given.
8564         (image_instantiator_format_create): add subwindow_query_geometry.
8565         (print_image_instance): cope with layouts as widgets.
8566
8567 2000-04-29  Andy Piper  <andy@xemacs.org>
8568
8569         * frame.c (delete_frame_internal): call
8570         free_frame_subwindow_instance_cache so that all subwindows are
8571         finalized before their parent.
8572         (mark_frame): remove subwindow_cachels.
8573         (Fmake_frame): remove subwindow_cachel manipulation.
8574         (allocate_frame_core): subwindow_instance_cache is a weak list.
8575         (delete_frame_internal): set subwindow_instance_cache to nil.
8576
8577         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8578         finalization safe.
8579         (mswindows_finalize_image_instance): use the device
8580         not the domain as the domain may have died already.
8581
8582         * glyphs-x.c (x_finalize_image_instance): ditto.
8583         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8584         HEIGHT.
8585
8586         * redisplay-output.c (redisplay_unmap_subwindows): update for
8587         subwindow instance cache as a weak list.
8588         (redisplay_unmap_subwindows_maybe): ditto.
8589         (redisplay_unmap_subwindows_except_us): ditto.
8590
8591         * glyphs.c (unmap_subwindow): error checking will check the domain
8592         so don't deal with it here. Don't use cachels anymore.
8593         (map_subwindow): ditto.
8594         (update_subwindow_cachel_data): remove old accessor names.
8595         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8596         (Fresize_subwindow): don't update cachel.
8597         (mark_subwindow_cachels):
8598         (update_subwindow_cachel_data):
8599         (add_subwindow_cachel):
8600         (get_subwindow_cachel_index):
8601         (update_subwindow_cachel):
8602         (reset_subwindow_cachels):
8603         (mark_subwindow_cachels_as_not_updated): deleted.
8604         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8605         subwindow instance to the frame cache.
8606         (find_matching_subwindow): update for subwindow instance cache as
8607         a weak list.
8608         (update_widget_instances): ditto.
8609         (image_instance_type_to_mask):inlined.
8610         (free_frame_subwindow_instance_cache): new function. finalize all
8611         subwindows that are instantiated.
8612
8613         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8614         of cachel information.
8615         (IMAGE_INSTANCE_DISPLAY_X):
8616         (IMAGE_INSTANCE_DISPLAY_Y):
8617         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8618         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8619         (XIMAGE_INSTANCE_DISPLAY_X):
8620         (XIMAGE_INSTANCE_DISPLAY_Y):
8621         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8622         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8623         remove subwindow_cachel structure and function references.
8624         (image_instance_type_to_mask): inline from glyphs.c
8625
8626         * redisplay.c (redisplay_frame): remove subwindow_cachel
8627         references.
8628
8629         * frame.h (struct frame): remove subwindow_cachels.
8630         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8631
8632         * frameslots.h: add subwindow_instance_cache.
8633
8634         * window.c (replace_window): check subwindow cache of replacement.
8635         (window_unmap_subwindows_cache_mapper):
8636         (window_unmap_subwindows): new functions. Unmap all subwindows
8637         cached on this window.
8638         (mark_window_as_deleted): unmap all subwindows.
8639
8640 2000-04-27  Andy Piper  <andy@xemacs.org>
8641
8642         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8643
8644         * glyphs-widget.c (widget_layout): return something.
8645         (layout_layout): return something. Fail if not initialized.
8646         (layout_query_geometry): ditto.
8647         (image_instantiator_native_layout): new function. Initialized the
8648         native layout type.
8649         (widget_instantiate): don't do layout stuff here.
8650
8651         * glyphs.c (instantiate_image_instantiator): reorded calling or
8652         instantiate and post_instantiate with layout in between.
8653         (image_instance_layout): be more selective about deciding whether
8654         the layout has been done or not.
8655
8656         * glyphs.h (struct image_instantiator_methods): return a value
8657         from layout_method.
8658
8659 2000-04-26  Andy Piper  <andy@xemacs.org>
8660
8661         * glyphs.c (allocate_image_instance): make initial width and
8662         height unspecified. Set initialized to 0.
8663
8664         * syscommctrl.h new file. Encapsulates commctrl.h.
8665
8666         * syswindows.h new file. Encapsulates windows.h.
8667
8668         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8669         * nt.c: ditto.
8670         * console-msw.h: ditto.
8671
8672         * redisplay-tty.c (tty_output_display_block): remove layout references.
8673
8674         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8675         window handle rather than just the frame.
8676
8677         * glyphs.c (mark_image_instance): remove layout references.
8678         (print_image_instance): ditto.
8679         (image_instance_equal): ditto.
8680         (image_instance_hash): ditto.
8681         (decode_image_instance_type): ditto.
8682         (encode_image_instance_type): ditto.
8683         (image_instantiate): ditto.
8684         (allocate_glyph): ditto.
8685         (Fimage_instance_height): ditto.
8686         (Fimage_instance_width): ditto.
8687         (update_subwindow): ditto.
8688
8689         * redisplay-x.c (x_output_display_block): recode for layouts as
8690         widgets.
8691
8692         * redisplay-output.c (redisplay_output_layout): recode for layouts
8693         as widgets.
8694         (compare_runes): remove layout references.
8695
8696         * redisplay-msw.c (mswindows_output_display_block): recode for
8697         layouts as widgets.
8698
8699         * glyphs-widget.c (image_instantiator_layout): remove
8700         layout_possible_dest_types.
8701         (layout_possible_dest_types): deleted.
8702
8703         * glyphs.h (image_instance_type): remove layout references.
8704         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8705         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8706         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8707
8708 2000-04-25  Andy Piper  <andy@xemacs.org>
8709
8710         * glyphs-widget.c (image_instantiator_buttons):
8711         (image_instantiator_edit_fields):
8712         (image_instantiator_combo_box):
8713         (image_instantiator_scrollbar):
8714         (image_instantiator_progress_guage):
8715         (image_instantiator_tree_view):
8716         (image_instantiator_tab_control):
8717         (image_instantiator_labels):
8718         (image_instantiator_layout): call default post_instantiate method.
8719         (widget_post_instantiate): new function. Simply lays out the
8720         widgets.
8721
8722         * glyphs.h (struct image_instantiator_methods): add
8723         post_instantiate method.
8724
8725         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8726         method calls.
8727
8728 2000-04-23  Andy Piper  <andy@xemacs.org>
8729
8730         * glyphs.h (struct image_instantiator_methods): add
8731         decode_domain_method.
8732         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8733         derived from the domain.
8734         (IMAGE_INSTANCE_FRAME): new accessor.
8735         (XIMAGE_INSTANCE_FRAME): ditto.
8736
8737         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8738         instead of _SUBWINDOW_FRAME.
8739         (finalize_image_instance): ditto.
8740         (Fimage_instance_foreground): ditto.
8741         (Fimage_instance_background): ditto.
8742         (image_instantiate): ditto.
8743         (update_subwindow_cachel): ditto.
8744         (update_subwindow): ditto.
8745         (unmap_subwindow): ditto.
8746         (map_subwindow): ditto
8747         (subwindow_instantiate): ditto.
8748         * glyphs-msw.c (mswindows_update_widget): ditto.
8749         (mswindows_progress_gauge_instantiate): ditto.
8750         (mswindows_tab_control_update): ditto.
8751         * glyphs-x.c (x_update_widget): ditto.
8752         (x_widget_instantiate): ditto.
8753         (x_tab_control_instantiate): ditto.
8754         (x_tab_control_update): ditto.
8755         * event-msw.c (mswindows_wnd_proc): ditto
8756
8757         * glyphs-widget.c (image_instantiator_layout): use
8758         subwindow_decode_domain.
8759         (image_instantiator_buttons): ditto.
8760         (image_instantiator_edit_fields): ditto.
8761         (image_instantiator_combo_box): ditto.
8762         (image_instantiator_scrollbar): ditto.
8763         (image_instantiator_progress_guage): ditto.
8764         (image_instantiator_tree_view): ditto.
8765         (image_instantiator_tab_control): ditto.
8766         (image_instantiator_labels): ditto.
8767         (image_instantiator_layout): ditto.
8768
8769         * glyphs.c: add instance error checking to many functions.
8770         (instantiate_image_instantiator): decode device from cache_domain.
8771         (image_instantiate): partially rewrite by using
8772         decode_image_instantiator_domain to determine what domain the
8773         instance needs to be cached in.
8774         (decode_image_instantiator_domain): new function. Determine what
8775         domain the image needs to be cached in.
8776         (check_window_subwindow_cache): new error checking function.
8777         (check_instance_cache_mapper): ditto.
8778         (check_image_instance_structure): ditto.
8779         (subwindow_decode_domain): new function. Encodes a window as a
8780         subwindow's cache domain.
8781         (image_instantiator_format_create): use it for text and
8782         subwindows.
8783
8784 2000-04-21  Andy Piper  <andy@xemacs.org>
8785
8786         * glyphs.c (image_instance_device): new function.
8787         (image_instance_frame): new function.
8788         (image_instance_window): new function.
8789         (image_instance_live_p): new function.
8790
8791         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8792         cache to nil.
8793
8794         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8795         (IMAGE_INSTANCE_DOMAIN): new accessor.
8796         (XIMAGE_INSTANCE_DOMAIN): ditto.
8797
8798         * glyphs-x.c (x_finalize_image_instance): device->domain.
8799
8800         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8801         (mswindows_finalize_image_instance): ditto.
8802
8803         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8804         (gif_instantiate): ditto.
8805         (png_instantiate): ditto.
8806         (tiff_instantiate): ditto.
8807
8808         * glyphs.c (instantiate_image_instantiator): use domain rather
8809         than device.
8810         (mark_image_instance): device -> domain.
8811         (print_image_instance): ditto.
8812         (finalize_image_instance): ditto.
8813         (image_instance_equal): ditto.
8814         (allocate_image_instance): ditto.
8815         (Fcolorize_image_instance): ditto.
8816         (query_string_geometry): ditto.
8817         (image_instantiate): ditto
8818         (query_string_font): ditto.
8819         (image_instantiate): ditto.
8820         (update_subwindow): ditto.
8821         (unmap_subwindow): ditto.
8822         (map_subwindow): ditto.
8823         (subwindow_instantiate): ditto.
8824
8825         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8826         (DOMAIN_FRAME): ditto.
8827         (DOMAIN_WINDOW): ditto.
8828         (DOMAIN_LIVE_P): ditto.
8829         (XDOMAIN_DEVICE): ditto.
8830         (XDOMAIN_FRAME): ditto.
8831         (XDOMAIN_WINDOW): ditto.
8832
8833         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8834         a valid specifier domain.
8835
8836 2000-04-19  Andy Piper  <andy@xemacs.org>
8837
8838         * glyphs-widget.c (syms_of_glyphs_widget): remove
8839         widget-callback-current-channel.
8840         (vars_of_glyphs_widget): ditto.
8841         * glyphs.h: ditto
8842
8843         * gui.c (get_gui_callback): revert to previous behaviour.
8844
8845 2000-04-18  Andy Piper  <andy@xemacs.org>
8846
8847         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8848         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8849         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8850
8851         * glyphs.c (image_instance_equal): add margin_width.
8852         (image_instance_hash): ditto.
8853
8854         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8855         (layout_query_geometry): ditto.
8856         (layout_layout): ditto.
8857         (syms_of_glyphs_widget): add margin-width.
8858         (image_instantiator_layout): allow margin-width.
8859
8860         * glyphs.c (update_widget_instances): make a normal function.
8861         (syms_of_glyphs): remove Qupdate_widget_instances.
8862         * glyphs.h: ditto.
8863
8864         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8865         so that we don't corrupt ideas about the last event or
8866         command. Remove widget-callback-current-channel fiddling.
8867         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8868
8869 2000-05-01  Martin Buchholz <martin@xemacs.org>
8870
8871         * XEmacs 21.2.33 is released.
8872
8873 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8874
8875         * make-src-depend: Allow dots in header file name.
8876
8877 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8878
8879         * mule-charset.h (struct charset_lookup): Add
8880         next_allocated_1_byte_leading_byte and
8881         next_allocated_2_byte_leading_byte.
8882         * mule-charset.c: Move above two variables so that those values
8883         will be dumped.
8884
8885 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8886
8887         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8888         when string length is zero.
8889         (find_charsets_in_emchar_string): Ditto.
8890
8891 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8892
8893         * lisp.h: extern Qdialog and Qmenubar.
8894
8895         * gui-x.c: added events.h.
8896                 also fixed typo which made the file uncompilable.
8897
8898         * general.c: Added Qmenubar and Qdialog
8899
8900 2000-04-28  Ben Wing  <ben@xemacs.org>
8901
8902         * frame-msw.c (mswindows_init_frame_1):
8903         * frame-msw.c (mswindows_mark_frame):
8904         * event-msw.c (mswindows_enqueue_dispatch_event):
8905         * console-msw.h:
8906         * console-msw.h (struct mswindows_frame):
8907         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8908         there are now three hash tables for callbacks.
8909         mswindows_enqueue_dispatch_event is no longer static.
8910
8911         * dialog-x.c (maybe_run_dbox_text_callback):
8912         * dialog-x.c (dbox_descriptor_to_widget_value):
8913         switch to new cons3 form for callbacks.
8914
8915         * glyphs-msw.c (mswindows_register_gui_item):
8916         * glyphs-msw.c (mswindows_widget_instantiate):
8917         * glyphs-msw.c (add_tree_item):
8918         * glyphs-msw.c (add_tab_item):
8919         new image instance parameter, so it can be passed to callback-ex.
8920         respect :callback-ex as well as :callback.
8921
8922         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8923         add :callback-ex.
8924
8925         * glyphs.c (print_image_instance):
8926         prettify, e.g. now prints widget type.
8927
8928         * gui-x.h:
8929         certain funs have new image instance parameter.
8930
8931         * gui.c:
8932         * gui.c (get_gui_callback):
8933         * gui.c (gui_item_add_keyval_pair):
8934         * gui.c (gui_item_init):
8935         * gui.c (gui_add_item_keywords_to_plist):
8936         * gui.c (mark_gui_item):
8937         * gui.c (gui_item_hash):
8938         * gui.c (gui_item_equal):
8939         * gui.c (copy_gui_item):
8940         * gui.c (syms_of_gui):
8941         recognize callback-ex in a number of places.
8942         also, fix the annoying "can't get out of yes-no dialog" bug.
8943
8944         * gui.h:
8945         * gui.h (struct Lisp_Gui_Item):
8946         recognize callback-ex in a number of places.
8947
8948         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8949         new parameter in button_item_to_widget_value.
8950
8951         * glyphs-x.c (x_update_widget):
8952         * glyphs-x.c (x_button_instantiate):
8953         * glyphs-x.c (x_button_update):
8954         * glyphs-x.c (x_progress_gauge_instantiate):
8955         * glyphs-x.c (x_edit_field_instantiate):
8956         * glyphs-x.c (x_combo_box_instantiate):
8957         * glyphs-x.c (x_tab_control_instantiate):
8958         * glyphs-x.c (x_label_instantiate):
8959         new image instance parameter in various places.
8960
8961         * event-Xt.c:
8962         * event-Xt.c (enqueue_Xt_dispatch_event):
8963         this fun gets exported.
8964
8965         * gui-msw.c:
8966         * gui-msw.c (mswindows_handle_gui_wm_command):
8967         handle both :callback and :callback-ex, and generate our own
8968         event because it's one of the callback-ex arguments.
8969
8970         * gui-x.c:
8971         * gui-x.c (popup_selection_callback):
8972         handle both :callback and :callback-ex, and generate our own
8973         event because it's one of the callback-ex arguments.
8974         * gui-x.c (button_item_to_widget_value):
8975         * gui-x.c (gui_items_to_widget_values_1):
8976         * gui-x.c (gui_item_children_to_widget_values):
8977         * gui-x.c (gui_items_to_widget_values):
8978         new image instance parameter in various places.
8979
8980         * fns.c (Freplace_list):
8981         fix small typo in doc string.
8982
8983         * lisp.h:
8984         declare enqueue_Xt_dispatch_event.
8985
8986 2000-04-28  Ben Wing  <ben@xemacs.org>
8987
8988         * buffer.c:
8989         * buffer.c (Frecord_buffer):
8990         * buffer.c (syms_of_buffer):
8991         delete record-buffer-hook.
8992
8993         * fns.c:
8994         * fns.c (Freplace_list):
8995         * fns.c (syms_of_fns):
8996         new primitive replace-list.
8997
8998         * frameslots.h:
8999         slot for old buffer-alist.
9000
9001         * lisp.h:
9002         exfun replace-list.
9003
9004         * redisplay.c:
9005         * redisplay.c (redisplay_frame):
9006         * redisplay.c (syms_of_redisplay):
9007         * redisplay.c (vars_of_redisplay):
9008         new hook buffer-list-changed-hook.
9009         call it.
9010
9011 2000-04-27  Ben Wing  <ben@xemacs.org>
9012
9013         * extents.h: extern in_modeline_generation.
9014
9015         * redisplay.c (generate_formatted_string_db): set
9016         in_modeline_generation.
9017
9018         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9019         flags if in modeline generation.  otherwise frame-modified-tick
9020         is ticked far too often.
9021         Declare in_modeline_generation.
9022
9023 2000-04-26  Ben Wing  <ben@xemacs.org>
9024
9025         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9026         option.
9027         (vars_of_emacs): add quick-build as an error-checking option.
9028         A bit kludgy, but there doesn't seem much point in creating
9029         a real var for this.
9030
9031         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9032
9033 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9034
9035         * redisplay.h (struct display_line): Add a new variable,
9036         line_continuation.
9037
9038         * redisplay.c (create_text_block): Set dl->line_continuation if
9039         the line continues.
9040         (create_string_text_block): Ditto.
9041         (regenerate_window_incrementally): Use line_continuation instead
9042         of searching continuation glyph.
9043         (add_margin_runes): Call add_glyph_rune.
9044         (add_glyph_rune): Handle margin glyph.
9045
9046 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9047
9048         * filelock.c (fill_in_lock_file_name):
9049         ANSIfy.
9050         Check for IS_ANY_SEP instead of '/'.
9051         (lock_file_1):
9052         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9053         Never check errno without first seeing that system call failed.
9054         (unlock_file): Add GCPRO.
9055         (Flock_buffer): Fix docstring.
9056         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9057
9058 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9059
9060         * sysdep.c (get_pty_max_bytes):
9061         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9062         strings longer than 252 bytes.
9063
9064         * md5.c: Unconditionally include ANSI header <limits.h>
9065
9066         * glyphs-x.c (convert_EImage_to_XImage):
9067         * lisp-union.h (union Lisp_Object):
9068         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9069
9070 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9071
9072         * filelock.c (current_lock_owner): Remove unused variable o, p.
9073
9074 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9075
9076         * callint.c: Remove multiply defined symbol Qlet
9077         (syms_of_callint): ditto.
9078
9079 2000-04-14  Andy Piper  <andy@xemacs.org>
9080
9081         * general.c (syms_of_general): add last-command, this-command, let
9082         and funcall.
9083
9084         * lisp.h: declare various symbols.
9085
9086         * glyphs.h: declare Qwidget_callback_current_channel;
9087
9088         * glyphs-widget.c (syms_of_glyphs_widget): add
9089         Qgui_callback_current_channel.
9090         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9091
9092         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9093         widget-callback-current-channel when invoking the interactive
9094         arg. Also bind last-command and next-command when invoking the
9095         widget updates.
9096         * gui-x.c (popup_selection_callback): ditto.
9097
9098         * gui.c (get_gui_callback): massage args so that we are always
9099         calling eval. This allows us to add our own variable bindings
9100         outside.
9101
9102         * glyphs-x.c (x_button_instantiate): use
9103         gui_items_to_widget_values since this is GC safe.
9104         (x_progress_gauge_instantiate): ditto.
9105         (x_edit_field_instantiate): ditto.
9106         (x_label_instantiate): ditto.
9107
9108         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9109         (emacs_Xt_event_widget_focus_out): new function
9110         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9111         focus.
9112         (emacs_Xt_event_add_widget_actions): new function. add focus
9113         functions as actions.
9114         (init_event_Xt_late): use it.
9115
9116 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9117
9118         * event-stream.c (Fdispatch_event): Doc fix.
9119
9120 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9121
9122         * postgresql.c: Remove all references to PQsetenv*.
9123
9124         * postgresql.h: Remove references to PGsetenvHandler object.
9125         * lrecord.h (lrecord_type): Ditto.
9126
9127 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9128
9129         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9130         real_heigh and real_width members, and accessor macros for these.
9131
9132         * glyphs-msw.c (init_image_instance_geometry): New function.
9133         (init_image_instance_from_dibitmap): Use it.
9134         (mswindows_resource_instantiate): Use it.
9135         (init_image_instance_from_xbm_inline): Use it.
9136         (mswindows_initialize_image_instance_mask): Use real bitmap
9137         geometry.
9138         (mswindows_create_resized_bitmap): Ditto.
9139         (mswindows_create_resized_mask): Ditto.
9140
9141         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9142         and bitmap to their surface size.
9143
9144 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9145
9146         * process-unix.c (unix_send_process): Guard against process MIA
9147         after Faccept_process_output.
9148
9149 2000-04-11  Ben Wing  <ben@xemacs.org>
9150
9151         * eval.c (unbind_to_hairy): fix brokenness introduced by
9152         nanosecond speed improvements.
9153
9154 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9155
9156         * sunplay.c (init_device): To play sounds correctly, the device
9157         apparently needs to be initialized at least once by XEmacs.  Make
9158         it so.
9159
9160 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9161
9162         * redisplay.c (add_margin_runes): Add text image glyph
9163           handling.
9164
9165 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9166
9167         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9168         gcc is newer than 2.5.
9169
9170 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9171
9172         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9173
9174         * fns.c (size_bit_vector):
9175         * alloc.c (size_vector):
9176         (make_vector_internal):
9177         (make_bit_vector_internal):
9178         (sweep_bit_vectors_1):
9179         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9180
9181 2000-04-06  Andy Piper  <andy@xemacs.org>
9182
9183         * gmalloc.c (malloc): undo previous change.
9184         (malloc): ditto.
9185         (free): ditto.
9186         (realloc): ditto.
9187
9188 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9189
9190         * line-number.c (buffer_line_number): Revert to former version.
9191
9192 2000-04-06  Andy Piper  <andy@xemacs.org>
9193
9194         * gmalloc.c (malloc): add error checking.
9195         (malloc): ditto.
9196         (free): ditto.
9197         (realloc): ditto.
9198
9199         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9200         button_item_to_widget_value arg.
9201
9202         * glyphs-x.c (x_button_instantiate): add extra
9203         button_item_to_widget_value arg.
9204         (x_progress_gauge_instantiate): ditto.
9205         (x_edit_field_instantiate): ditto.
9206         (x_label_instantiate): ditto.
9207
9208         * gui-x.c (gui_items_to_widget_values_1): add extra
9209         button_item_to_widget_value arg.
9210         (button_item_to_widget_value): add extra menu_item_p arg.
9211
9212         * gui-x.h: change signature of button_item_to_widget_value.
9213
9214         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9215         button_item_to_widget_value arg.
9216
9217 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9218
9219         * buffer.h (struct buffer): auto_save_modified should be long.
9220
9221 2000-04-05  Andy Piper  <andy@xemacs.org>
9222
9223         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9224         type.
9225         (button_query_geometry): give a little more room so that athena
9226         buttons fit.
9227
9228 2000-04-05  Andy Piper  <andy@xemacs.org>
9229
9230         * faces.c (complex_vars_of_faces): The widget face should inherit
9231         the font of the gui-element face.
9232
9233 2000-04-04  Andy Piper  <andy@xemacs.org>
9234
9235         * glyphs-x.c (x_button_update): new function. unconditionally
9236         update a button's state when the instance is dirty.
9237         (image_instantiator_format_create_glyphs_x): add x_button_update.
9238         (x_widget_instantiate): remove old resize cruft.
9239
9240 2000-04-02  Andy Piper  <andy@xemacs.org>
9241
9242         * frame.c (change_frame_size_1): The introduction of gutters means
9243         that we need to allow 0 as a potential frame dimension.
9244
9245 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9246
9247         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9248         image glyph if allow_cursor.
9249         (add_hscroll_rune): Don't allow cursor to border glyph.
9250         (create_text_block): Ditto.
9251
9252         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9253         text not in buffer.
9254         (redisplay_output_layout): Call ensure_face_cachel_complete for
9255         text image glyph.
9256
9257
9258 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9259
9260         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9261
9262         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9263         not in buffer
9264
9265         * redisplay-tty.c (tty_output_display_block): Delete the routine
9266         for text image glyph
9267         * redisplay-x.c (x_output_display_block): ditto
9268         * redisplay-msw.c (mswindows_output_display_block): ditto
9269
9270 2000-02-02  Mike Alexander  <mta@arbortext.com>
9271
9272         Note: Some of these were committed by accident as part of other
9273         patches.
9274
9275         * regex.c (regex_compile): Avoid compiler warnings.
9276
9277         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9278
9279         * nt.h: Declare term_ntproc correctly.
9280
9281         * nt.c: Remove incorrect declaration of get_home_directory which
9282         is declared correctly in lisp.h.
9283
9284         * keymap.c (get_keyelt): Avoid compiler warnings.
9285         (raw_lookup_key_mapper): Avoid compiler warnings.
9286
9287         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9288
9289         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9290
9291         * filemode.c (mode_string): Avoid compiler warnings.
9292
9293         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9294         avoid warning.
9295
9296         * events-mod.h: Undef some things that winuser.h defines differently.
9297
9298         * data.c (Faset): Avoid compiler warnings.
9299
9300         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9301
9302 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9303
9304         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9305         Fall through to simple beep on error.
9306         Replace "extern" by real header file.
9307
9308         * linuxplay.c: Use nativesound.h
9309         (play_sound_data): Return error code. Be less verbose on error.
9310
9311         * sunplay.c: Use nativesound.h
9312         (play_sound_data): Return error code. Be less verbose on error.
9313
9314         * ntplay.c: Use nativesound.h
9315         (play_sound_data): Return fake error code
9316
9317         * sgiplay.c: Use nativesound.h
9318         (play_sound_data): Return error code
9319
9320         * hpplay.c: Use nativesound.h, partially implement
9321         new error code. Break compilation until finished.
9322         (play_sound_data): error code.
9323
9324         * nativesound.h (play_sound_file):
9325           (play_sound_data): Prototype in new header.
9326
9327 2000-03-31  Andy Piper  <andy@xemacs.org>
9328
9329         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9330         for toggle and radio buttons.
9331         (image_instantiator_buttons): use it.
9332
9333 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9334
9335         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9336         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9337         found. Scrollbar event probably belonged to some old config.
9338
9339 2000-03-31  Andy Piper  <andy@xemacs.org>
9340
9341         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9342         than 1.
9343         (initialize_widget_image_instance): default layout to
9344         LAYOUT_HORIZONTAL rather than 0.
9345         (widget_instantiate): reverse the item list at the end rather than
9346         every iteration.
9347         (layout_layout): re-code for the border text at the front of the
9348         item list rather than at the end.
9349         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9350         provided by the user.
9351         (widget_query_geometry): comment.
9352
9353 2000-03-30  Andy Piper  <andy@xemacs.org>
9354
9355         * glyphs-widget.c (image_instantiator_layout): allow standard
9356         widget keywords in layouts.
9357
9358         * gutter.c (output_gutter): cope with nil gutter contents.
9359
9360         * frame.c (Fset_frame_properties): add gutter docs.
9361
9362 2000-03-29  Andy Piper  <andy@xemacs.org>
9363
9364         * toolbar-msw.c (TBSTYLE_FLAT): add.
9365         (mswindows_output_toolbar): minor fiddling.
9366
9367 2000-03-29  Andy Piper  <andy@xemacs.org>
9368
9369         * gutter.c (output_gutter): force gutter size recalculation if
9370         what we are trying to display won't fit.
9371         (update_gutter_geometry): new function. A per-gutter version of
9372         update_frame_gutter_geometry.
9373         (update_frame_gutter_geometry): use it.
9374         (redraw_exposed_gutter): add extra debugging output.
9375
9376 2000-03-28  Mike Alexander  <mta@arbortext.com>
9377
9378         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9379         (pdump_file_unmap): Implement it on Windows
9380         (pdump_file_get): Save alocated handles for pdump_file_unmap
9381
9382 2000-03-28  Andy Piper  <andy@xemacs.org>
9383
9384         * gui.c (get_gui_callback): treat Quit specially.
9385
9386 2000-03-27  Andy Piper  <andy@xemacs.org>
9387
9388         * glyphs.c (image_instantiate): be careful to check in the same
9389         way we assigned.
9390
9391 2000-03-27  Didier Verna  <didier@xemacs.org>
9392
9393         * config.h.in: define the proper SMART_INCLUDE macro.
9394         handle renaming of `foo_h_path' to `foo_h_file'.
9395
9396         * database.c: ditto.
9397
9398         * emacs.c: ditto.
9399
9400         * linuxplay.c: ditto.
9401
9402         * terminfo.c: ditto.
9403
9404         * tooltalk.h: ditto.
9405
9406 2000-03-27  Andy Piper  <andy@xemacs.org>
9407
9408         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9409         gets updated whenever the face might have changed.
9410
9411 2000-03-26  Mike Alexander  <mta@arbortext.com>
9412
9413         * dumper.c (pdump_resource_free): Fix the comment.
9414
9415 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9416
9417         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9418
9419 2000-03-22  Mike Alexander  <mta@arbortext.com>
9420
9421         * dumper.c: Include Windows headers on Windows
9422         (pdump_resource_free): Add a body to the function
9423         (pdump_load): exe_name -> exe_path and add some comments.
9424
9425 2000-03-25  Mike Alexander  <mta@arbortext.com>
9426
9427         * gui.c (copy_gui_item_tree): Return a value in all cases
9428
9429 2000-03-21  Didier Verna  <didier@xemacs.org>
9430
9431         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9432         lwlib/config.h.in.
9433         (SMART_INCLUDE): new macro.
9434         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9435         the proper location.
9436
9437         * postgresql.c: use it.
9438
9439         * inline.c: ditto.
9440
9441 2000-03-24  Andy Piper  <andy@xemacs.org>
9442
9443         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9444         do this.
9445
9446 2000-03-24  Andy Piper  <andy@xemacs.org>
9447
9448         * redisplay-output.c (compare_runes): use image_instance_changed
9449         to detect changes. Do not depend on glyphs_changed, only depend on
9450         dirtiness.
9451          (redisplay_output_layout): add debug messages.
9452         (compare_runes): ditto.
9453
9454         * glyphs.h: declare new functions.
9455         (struct Lisp_Image_Instance): remove percent and associated
9456         accessors.
9457
9458         * gui.h: declare new copying functions.
9459
9460         * gui.c (copy_gui_item_tree): new function.
9461         (copy_gui_item): new function.
9462         (gui_item_id_hash): revert to standard hash.
9463         (gui_item_hash): ditto.
9464         (gui_item_hash_internal): deleted.
9465         (mark_gui_item): mark value.
9466         (gui_item_add_keyval_pair): add value.
9467         (gui_item_init): ditto.
9468         (gui_add_item_keywords_to_plist): ditto.
9469         (gui_item_equal): ditto.
9470         (syms_of_gui): add Q_value.
9471
9472         * glyphs-x.c (x_progress_gauge_update): use pending items and
9473         value for setting the state.
9474         (x_update_widget): don't set items from pending here.
9475
9476         * glyphs-widget.c (update_widget): update items here.
9477         (progress_gauge_set_property): use items for storing value. Put
9478         new value in pending items.
9479
9480         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9481         items for new value. Convert percent -> value.
9482         (mswindows_tab_control_update): don't update items here.
9483
9484         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9485         (update_subwindow): ditto.
9486         (image_instance_changed): new function. Compare hash values and
9487         past and present widget items.
9488         (image_instantiate): We more careful about where we instantiate
9489         things.
9490         (image_instantiate): add error checking.
9491
9492         * gutter.c (syms_of_gutter): use -hook.
9493
9494 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9495
9496         * console-tty.c (Fset_console_tty_input_coding_system): Use
9497         Qkeyboard.
9498         (Fset_console_tty_output_coding_system): Use Qterminal.
9499         (tty_init_console): Use Qkeyboard and Qterminal.
9500
9501 2000-03-21  Ben Wing  <ben@xemacs.org>
9502
9503         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9504         From Mike Alexander <mta@arbortext.com>.
9505
9506 2000-03-21  Ben Wing  <ben@xemacs.org>
9507
9508         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9509         process brokenness.  Proper implementation to come.
9510         * callproc.c:
9511         Rename call-process-internal to old-call-process-internal.
9512         New impl. in process.el.
9513
9514 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9515
9516         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9517
9518 2000-03-20  Andy Piper  <andy@xemacs.org>
9519
9520         * glyphs.c (full_list_hash): make hashes of the same elements in
9521         different orders return different values.
9522
9523 2000-03-20  Martin Buchholz <martin@xemacs.org>
9524
9525         * XEmacs 21.2.32 is released.
9526
9527 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9528
9529         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9530         (DFC_MALLOC_USE_CONVERTED_DATA):
9531         Add aliasing-safe casts to allow use with char* or unsigned char*
9532         lvalues.
9533
9534         * eldap.c (Fldap_open):
9535         (Fldap_search_basic):
9536         (Fldap_add):
9537         (Fldap_modify):
9538         Make C++-compilable.
9539         Make sure GCPRO'ed variables are initialized.
9540         Use temp variables to avoid repeated calls to Flength.
9541
9542 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9543
9544         * sysfile.h:
9545         Make sure PATH_MAX is always defined.
9546         Include limits.h for PATH_MAX.
9547         Deprecate use of MAXPATHLEN.
9548
9549 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9550
9551         * emacs.c: Add reinit_vars_of_fileio.
9552         * symsinit.h: Add reinit_vars_of_fileio.
9553         * fileio.c (reinit_vars_of_fileio): New.
9554         * fileio.c (Fmake_temp_name):
9555         Initialize temp_name random number from microseconds to make
9556         collisions even less likely.  Initialize always at process startup
9557         time.  (make-temp-name) used to return the same file name twice in
9558         a row when PDUMP.
9559         Random stylistic fiddling.
9560         Comment fixes.
9561
9562 2000-03-20  Andy Piper  <andy@xemacs.org>
9563
9564         * glyphs.c (image_instantiate): allow text glyphs to be
9565         instantiated in the minibuffer window.
9566
9567 2000-03-19  Andy Piper  <andy@xemacs.org>
9568
9569         * glyphs.c (image_instance_hash): be careful about which items we
9570         hash on.
9571
9572         * glyphs-widget.c (tab_control_set_property): record into pending
9573         items rather than the actual items.
9574
9575         * glyphs-x.c (x_update_widget): use pending items to update with.
9576
9577         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9578         to update with.
9579
9580         * glyphs.c (mark_image_instance): mark pending items.
9581
9582         * window.c (Fset_window_configuration): record the buffer.
9583         (Fselect_window): totally revert previous change which breaks many
9584         things.
9585
9586 2000-03-18  Andy Piper  <andy@xemacs.org>
9587
9588         * glyphs-msw.c (mswindows_tab_control_update): force selected
9589         item.
9590
9591         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9592         window domain cache, otherwise we get inconsistencies at
9593         startup. There is something fishy at startup which can lead to the
9594         minibuffer being the selected window when the gutter content is
9595         instantiated.
9596
9597         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9598         gcpros.
9599         (parse_gui_item_tree_children): ditto.
9600         (parse_gui_item_tree_item): ditto.
9601
9602         * glyphs.c (Fupdate_widget_instances): return something.
9603
9604 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9605
9606         * window.c (Fselect_window): Undo 2000-03-17 change.
9607
9608 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9609
9610         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9611         against v7.0 libraries.  Insta-coredump city until the postgres
9612         folks fix it.
9613
9614 2000-03-17  Andy Piper  <andy@xemacs.org>
9615
9616         * faces.c (complex_vars_of_faces): don't give the widget face an
9617         inherited background pixmap.
9618
9619         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9620         selected item.
9621
9622         * event-stream.c (Fdispatch_non_command_events): return something.
9623
9624         * gutter.c (output_gutter): use widget face.
9625         (clear_gutter): ditto.
9626
9627         * NEWS: adjust again.
9628
9629         * window.c (Fselect_window): make sure this runs to completion to
9630         avoid oddities with Fset_window_configuration.
9631         (Fcurrent_window_configuration): in general do not save the
9632         minibuffer as the selected window.
9633
9634         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9635
9636 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9637
9638         * emacs.c (Frunning_temacs_p): Revert previous patch.
9639         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9640
9641 2000-03-16  Andy Piper  <andy@xemacs.org>
9642
9643         * glyphs-x.c (x_tab_control_update): if no widget values then
9644         return.
9645
9646         * NEWS: update for new features.
9647
9648         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9649         synthetic event to the native system.
9650         (reinit_vars_of_event_Xt): set force_event_pending to
9651         emacs_Xt_force_event_pending.
9652
9653         * events.h (struct event_stream): add force_event_pending.
9654
9655         * specifier.c (recompute_one_cached_specifier_in_window): add
9656         comment.
9657
9658         * redisplay.c (redisplay_frame): don't call
9659         update_frame_subwindows. Reset subwindow cachels when
9660         subwindows_changed, removing this was an optimization too far.
9661
9662         * redisplay-output.c (compare_runes): reorganize so that we catch
9663         glyph changes when we want them. Set optimize_output when this
9664         would help layouts.
9665         (redisplay_output_layout): remove frame_really_changed, use
9666         optimize_output instead.
9667
9668         * redisplay-msw.c (mswindows_output_display_block): reset
9669         optimize_output after outputting a glyph.
9670         * redisplay-x.c (x_output_display_block): ditto.
9671         * redisplay-tty.c (tty_output_display_block): ditto.
9672
9673         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9674         functions.
9675         (gutter_specs_changed): do specific gutter positions.
9676         (top_gutter_specs_changed): new function. Only update the
9677         specified gutter specs.
9678         (bottom_gutter_specs_changed): ditto.
9679         (left_gutter_specs_changed): ditto.
9680         (right_gutter_specs_changed): ditto.
9681
9682         * gui.c (gui_item_hash_internal): new function, does a real hash.
9683         (gui_item_id_hash): use it.
9684         (gui_item_hash): hash the eval'ed gui_item.
9685
9686         * gui-x.c (popup_selection_callback): send an eval event to call
9687         Fupdate_widget_instances.
9688
9689         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9690         to call Fupdate_widget_instances.
9691
9692         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9693         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9694
9695         * glyphs.c: (update_frame_subwindows): deleted.
9696         (Fupdate_widget_instances): new function for updating the dirty
9697         state of widgets that might have changed.
9698         (syms_of_glyphs): add Qupdate_widget_instances.
9699         (full_list_hash): hash a list completely.
9700         (image_instance_hash): use it for items and properties.
9701
9702         * frame-msw.c (mswindows_size_frame_internal): remove unused
9703         variable.
9704
9705         * faces.h (struct face_cachel): fix comment.
9706
9707         * event-stream.c (Fdispatch_non_command_events): new
9708         function. Process non-command events, forcing an event cycle
9709         beforehand.
9710         (syms_of_event_stream): declare.
9711         (event_stream_force_event_pending): new function. Force an event
9712         on the native event queue so that an event cycle will occur next
9713         time we check.
9714
9715         * event-msw.c:
9716         (struct ntpipe_shove_stream):
9717         (mswindows_enqueue_dispatch_event):
9718         (mswindows_dequeue_dispatch_event):
9719         (mswindows_cancel_dispatch_event):
9720         (mswindows_pump_outstanding_events):
9721         (mswindows_drain_windows_queue):
9722         (mswindows_handle_paint):
9723         (mswindows_wnd_proc):
9724         (mswindows_key_to_emacs_keysym):
9725         (get_process_input_waitable):
9726         (emacs_mswindows_delete_stream_pair): re-indent file.
9727         (mswindows_need_event): do not process further fds if the windows
9728         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9729         fixes the 100% cpu problem.
9730         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9731
9732 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9733
9734         * alloc.h: New.
9735         * dumper.h: New.
9736         * dumper.c: New.
9737
9738         * emacs.c: Moved dump file searching to dumper.c.
9739         (Frunning_temacs_p): Fixed.
9740
9741         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9742         last_lrecord_type_index_assigned.
9743
9744 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9745
9746         * symsinit.h: Added reinit parameter to init_console_stream
9747         declaration.
9748
9749         * lisp.h: Added file parameter to pdump_load declaration.
9750
9751         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9752         support.  Added dump file searching.
9753
9754         * config.h.in: Added EMACS_PROGNAME.
9755
9756         * console-stream.c (init_console_stream): Fix reinitialisation
9757         when running from temacs.
9758
9759         * alloc.c (pdump): Add id support.
9760         (pdump_load): Add file parameter and signature/id support.
9761
9762         * Makefile.in.in: Add full pdump support.
9763
9764 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9765
9766         * postgresql.c: Update documentation to reflect latest code
9767         status.
9768         (print_result): Show tuple counts in printed representation when
9769         appropriate.
9770         (Fpq_put_nbytes): MULE-ize.
9771         (Fpq_get_line_async): Ditto.
9772
9773 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9774
9775         * postgresql.c (Fpq_lo_import): Fix return value.
9776         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9777
9778 2000-03-13  Ben Wing  <ben@xemacs.org>
9779
9780         * alloc.c (pdump_load):
9781         Fix compile warning under mswin.
9782
9783 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9784
9785         * postgresql.c: Mule-ization, bug fixes.
9786         Use PG_CODING to encapsulate coding system name changes.
9787         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9788         (pg-coding-system): Create.
9789
9790         (Fpq_conn_defaults): Mule-ize.
9791         (Fpq_connectdb): Mule-ize & bug fix.
9792         (Fpq_connect_start): Mule-ize.
9793         (Fpq_set_client_encoding): Mule-ize.
9794         (Fpq_finish): Document `DEAD' connection status.
9795         (Fpq_clear): Ditto.
9796         (Fpq_pgconn): Mule-ize.
9797         (Fpq_exec): Mule-ize & bug fix.
9798         (Fpq_send_query): Ditto.
9799         (Fpq_get_result): Ditto.
9800         (Fpq_res_status): Mule-ize.
9801         (Fpq_result_error_message): Mule-ize.
9802         (Fpq_ntuples): fix comments.
9803         (Fpq_fname): Mule-ize.
9804         (Fpq_fnumber): Mule-ize.
9805         (Fpq_ftype): fix comments.
9806         (Fpq_get_value): Mule-ize.
9807         (Fpq_cmd_status): Ditto.
9808         (Fpq_cmd_tuples): Ditto.
9809         (Fpq_oid_value): Ditto.
9810         (Fpq_notifies): Ditto.
9811         (Fpq_lo_import): Ditto.
9812         (Fpq_lo_export): Ditto.
9813         (Fpq_get_line): Ditto.
9814         (Fpq_put_line): Mule-ize and bug fix.
9815         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9816
9817 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9818
9819         * postgresql.c (vars_of_postgresql): Mule-ize.
9820         (Fpq_conn_defaults): Ditto.
9821
9822 2000-03-12  Ben Wing  <ben@xemacs.org>
9823
9824         * alloc.c (Fmake_byte_code):
9825         * alloc.c (debug_string_purity_print):
9826         * alloc.c (pdump_backtrace):
9827         * alloc.c (pdump_get_indirect_count):
9828         * alloc.c (pdump_register_sub):
9829         * alloc.c (pdump_register_object):
9830         * alloc.c (pdump_register_struct):
9831         * alloc.c (pdump_dump_data):
9832         * alloc.c (pdump_reloc_one):
9833         Minor cleanups.
9834
9835         * console-msw.c:
9836         * console-msw.c (GetConsoleHwnd):
9837         * console-msw.c (msw_hide_console):
9838         * console-msw.c (msw_show_console):
9839         * console-msw.c (msw_ensure_console_buffered):
9840         * console-msw.c (msw_output_console_string):
9841         * console-msw.c (console_type_create_mswindows):
9842
9843         a) Added functions to manipulate the console window for use with
9844         shell support.
9845
9846         b) Added support for writing text to the console, which is now
9847         used under Windows when xemacs is not being run non-interactively,
9848         to write text that would otherwise be destined for stdout because
9849         under these circumstances, text written to stdout tends to
9850         disappear and not be seen.
9851
9852         * console-msw.h:
9853         * event-Xt.c:
9854         * event-Xt.c (x_event_to_emacs_event):
9855         * event-Xt.c (describe_event_window):
9856         * events-mod.h (XEMACS_MOD_CONTROL):
9857         * events.c:
9858         * events.c (Fmake_event):
9859         * events.c (character_to_event):
9860         * events.c (event_to_character):
9861         * events.c (format_event_object):
9862         * events.c (Fevent_modifiers):
9863         * events.h:
9864         * events.h (struct key_data):
9865         * events.h (struct button_data):
9866         * events.h (struct misc_user_data):
9867         * frame-x.c (Fcde_start_drag_internal):
9868         * frame-x.c (Foffix_start_drag_internal):
9869         * gpmevent.c (Freceive_gpm_event):
9870         * keymap.c:
9871         * keymap.c (bucky_sym_to_bucky_bit):
9872         * keymap.c (control_meta_superify):
9873         * keymap.c (make_key_description):
9874         * keymap.c (keymap_lookup_directly):
9875         * keymap.c (create_bucky_submap):
9876         * keymap.c (keymap_store):
9877         * keymap.c (define_key_check_and_coerce_keysym):
9878         * keymap.c (define_key_parser):
9879         * keymap.c (define_key_alternate_name):
9880         * keymap.c (Fdefine_key):
9881         * keymap.c (raw_lookup_key_mapper):
9882         * keymap.c (struct map_keymap_unsorted_closure):
9883         * keymap.c (map_keymap_unsorted_mapper):
9884         * keymap.c (map_keymap_sort_predicate):
9885         * keymap.c (map_keymap_sorted):
9886         * keymap.c (accessible_keymaps_mapper_1):
9887         * keymap.c (where_is_recursive_mapper):
9888         * keymap.c (describe_map_mapper):
9889         * keymap.c (describe_map_sort_predicate):
9890         * keymap.c (describe_map):
9891         * keymap.c (complex_vars_of_keymap):
9892         And a number of other files, the key modifier preprocessor
9893         constants that xemacs uses have names that conflict with constants
9894         defined under MS Windows for other purposes, so they were renamed
9895         to begin with the prefix XEMACS_. The variables that hold such
9896         modifiers were changed to consistently be of type int to fix
9897         various compile warnings.
9898
9899         * console.c (complex_vars_of_console):
9900         * device.c:
9901         * device-msw.c:
9902         * device-msw.c (mswindows_finish_init_device):
9903         * device-msw.c (msw_get_workspace_coords):
9904         * device-msw.c (mswindows_device_system_metrics):
9905         and various other files, added support for a new
9906         device property called offset-workspace which returns the position
9907         of the upper left corner of the workspace area and goes along with
9908         the existing size-workspace property.
9909
9910         * dialog-msw.c:
9911         * dialog-msw.c (push_bufbyte_string_as_unicode):
9912         * dialog-msw.c (mswindows_popup_dialog_box):
9913         Added support for XEmacs-style accelerator specifications in
9914         button text.  Note: I didn't add support for this under X Windows,
9915         and somebody needs to do this.
9916
9917         * dialog.c:
9918         * dialog.c (Fpopup_dialog_box):
9919         Documented the support for accelerators that was just mentioned.
9920
9921         editfns.c (get_home_directory): Changed behavior under Windows
9922         when HOME not defined; former behavior was irretrievably broken.
9923
9924         * emacs.c:
9925         * emacs.c (main_1):
9926         * emacs.c (main):
9927         * minibuf.c (clear_echo_area_internal):
9928         * minibuf.c (echo_area_append):
9929         * print.c:
9930         * print.c (std_handle_out_external):
9931         * print.c (std_handle_out_va):
9932         * print.c (fatal):
9933         * print.c (write_string_to_stdio_stream):
9934         * print.c (output_string):
9935         * print.c (debug_print):
9936         * print.c (debug_backtrace):
9937         * print.c (debug_short_backtrace):
9938         Cleaned up the code that prints text to stdout so that this can be
9939         changed to output into a console window instead under MS Windows,
9940         as described above.
9941
9942         * eval.c:
9943         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9944         * eval.c (internal_catch):
9945         * eval.c (unwind_to_catch):
9946         * eval.c (throw_or_bomb_out):
9947         * eval.c (condition_case_1):
9948         * eval.c (signal_1):
9949         * eval.c (check_error_state_sanity):
9950         * eval.c (call_with_suspended_errors_1):
9951         * eval.c (call_with_suspended_errors):
9952         * eval.c (reinit_vars_of_eval):
9953         Added code to catch throw loops and check for a pesky bug that may
9954         be gone now.
9955
9956         * event-msw.c:
9957         * event-msw.c (key_needs_default_processing_p):
9958         * event-msw.c (mswindows_wnd_proc):
9959         * event-msw.c (mswindows_modifier_state):
9960         * event-msw.c (emacs_mswindows_quit_p):
9961         * event-msw.c (vars_of_event_mswindows):
9962         a) Added support for using the alt key to select menu items as is
9963         standard under MS Windows.  This is controlled using the variable
9964         menu-accelerator-enabled, just like under X Windows.  There is an
9965         option on the options menu to turn this support on.  I really
9966         think that it should be on by default under Windows, but I'm not
9967         going to make this change yet.
9968
9969         b)  Added support for dynamic display size changes under Windows.
9970
9971         * event-stream.c:
9972         * event-stream.c (maybe_echo_keys):
9973         * event-stream.c (Fnext_event):
9974         * event-stream.c (command_builder_find_leaf):
9975         * event-stream.c (lookup_command_event):
9976         * event-stream.c (execute_command_event):
9977         * event-stream.c (pre_command_hook):
9978         * event-stream.c (post_command_hook):
9979         * event-stream.c (syms_of_event_stream):
9980         * event-stream.c (vars_of_event_stream):
9981         * event-stream.c (complex_vars_of_event_stream):
9982         * events.h (struct command_builder):
9983
9984         a) Tried to clean up a little bit the horribly written x-specific
9985         accelerator code that crept into this file.  I moved this code
9986         into menubar-x.c where it belongs. I also needed to move the
9987         command builder structure into the file events.h because it is
9988         accessed directly by this accelerator code.  What I didn't do, but
9989         which should be done at some point, is to properly abstract this
9990         code using device methods instead of the kludgy way that it
9991         currently hooks into the event code.
9992
9993         b) Added the lisp variables this-command-properties and
9994         last-command- properties, which should be used to synchronize two
9995         adjacent commands in preference to playing games with the variable
9996         this-command, which is typically what happens.
9997
9998         c) Added some slightly nasty code to hook into the lisp support
9999         for shifted- motion-key selection.  This is actually necessary for
10000         somewhat complicated reasons, which are described in
10001         simple.el. (NB: I think the proper thing would be to have the code
10002         that calls the pre and post command hooks also call out to generic
10003         lisp functions in simple.el, where all built-in stuff could be
10004         added.  I will think about this more.)
10005
10006         * event-unixoid.c (poll_fds_for_input):
10007         * lread.c (readchar):
10008         * redisplay-tty.c (tty_clear_frame):
10009         * redisplay-x.c (x_get_gc):
10010         * signal.c (interrupt_signal):
10011         And a whole bunch of other files: fixed up places that printed
10012         directly to stderr to instead call the function stderr_out so that
10013         the changes I made under Windows work correctly.
10014
10015         * filemode.c (mode_string):
10016         Warning fixes.
10017
10018         * frame-msw.c:
10019         * frame-msw.c (mswindows_size_frame_internal):
10020         Fixed the computation of frame size and position to keep the frame
10021         within the workspace area, rather than within the physical
10022         dimensions of the screen, so that the frame doesn't overlap window
10023         manager decorations, such as the start menu and toolbar, typically
10024         at the bottom of the screen.
10025
10026         * frame.c (vars_of_frame):
10027         Changed the default frame title format under MS Windows to consist
10028         of buffername-XEmacs, which is standard under MS Windows.  I think
10029         it might be a good idea to change this everywhere because I think
10030         it is superior to the current frame title format, but this is the
10031         kind of change that is likely to cause some people to get annoyed,
10032         so I'm not making it.
10033
10034         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10035
10036         * gui-msw.c (mswindows_handle_gui_wm_command):
10037         Fixed compile warnings.
10038
10039         * gui-x.c:
10040         * gui-x.c (strdup_and_add_accel):
10041         * gui-x.c (button_item_to_widget_value):
10042         * gui-x.h:
10043         Added code to automatically put an accelerator onto the beginning
10044         of menu items that don't have one as is now the standard, and is
10045         described more later.  Also fixed things so that the menu item
10046         name can be an evaluated expression, again a new standard.
10047
10048         * gui.c:
10049         * gui.c (gui_item_add_keyval_pair):
10050         * gui.c (make_gui_item_from_keywords_internal):
10051         * gui.c (gui_add_item_keywords_to_plist):
10052         * gui.c (gui_item_accelerator):
10053         * gui.c (gui_name_accelerator):
10054         * gui.c (gui_item_included_p):
10055         * gui.c (gui_item_display_flush_left):
10056         * gui.c (gui_item_display_flush_right):
10057         * gui.c (parse_gui_item_tree_item):
10058         * gui.c (parse_gui_item_tree_children):
10059         * gui.c (parse_gui_item_tree_list):
10060         Mule-ized.  Cleanup.  GCPRO addition.
10061
10062         * line-number.c (buffer_line_number):
10063         * lisp.h:
10064         * lisp.h (EMACS_INT_MAX):
10065         Added the manifest constant EMACS_INT_MIN corresponding to the
10066         existing constant EMACS_INT_MAX.  This is partially to fix compile
10067         warnings under Windows, and partly for cleanliness.
10068
10069         * menubar-msw.c:
10070         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10071         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10072         * menubar-msw.c (displayable_menu_item):
10073         * menubar-msw.c (populate_menu_add_item):
10074         * menubar-msw.c (populate_or_checksum_helper):
10075         * menubar-msw.c (populate_menu):
10076         * menubar-msw.c (update_frame_menubar_maybe):
10077         * menubar-msw.c (prune_menubar):
10078         * menubar-msw.c (msw_char_is_accelerator):
10079         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10080         * menubar-msw.c (mswindows_handle_wm_command):
10081         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10082         * menubar-msw.c (mswindows_handle_wm_initmenu):
10083         * menubar-msw.c (mswindows_update_frame_menubars):
10084         * menubar-msw.c (mswindows_free_frame_menubars):
10085         * menubar-msw.c (mswindows_popup_menu):
10086         Fixed a bug in handling accelerators where an extra character
10087         would be displayed in the menu item.  Also generalized the
10088         function displayable_menu_item because it is now used by the
10089         dialog box code as well.  And finally, added code in the functions
10090         that create the menubar to extract a list of accelerators for the
10091         top level menubar, which is used in the event code to determine
10092         whether a particular alt-key combination should be used to invoke
10093         a menu item, or should be passed through to access the standard
10094         XEmacs keymap binding for this key combination.
10095
10096         Much needed GCPROing.
10097
10098         * menubar-x.c:
10099         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10100         * menubar-x.c (menu_item_descriptor_to_widget_value):
10101         * menubar-x.c (restore_in_menu_callback):
10102         * menubar-x.c (x_popup_menu):
10103         * menubar-x.c (menu_move_up):
10104         * menubar-x.c (menu_move_down):
10105         * menubar-x.c (menu_move_left):
10106         * menubar-x.c (menu_move_right):
10107         * menubar-x.c (menu_select_item):
10108         * menubar-x.c (command_builder_operate_menu_accelerator):
10109         * menubar-x.c (menu_accelerator_junk_on_error):
10110         * menubar-x.c (command_builder_find_menu_accelerator):
10111         * menubar-x.c (Faccelerate_menu):
10112         * menubar.h:
10113         Moved a whole bunch of code here that was previously in
10114         event-stream.c as described above.  There is also code connected
10115         to the new standard of adding an accelerator to the beginning of
10116         menu items that don't have one as described above and below.
10117
10118         * menubar.c:
10119         * menubar.c (menu_parse_submenu_keywords):
10120         * menubar.c (Fmenu_find_real_submenu):
10121         * menubar.c (Fnormalize_menu_item_name):
10122         * menubar.c (syms_of_menubar):
10123         * menubar.c (vars_of_menubar):
10124         * menubar.c (complex_vars_of_menubar):
10125
10126         a) Cleaned up a bunch of documentation and improved it.
10127
10128         b) XEmacs now automatically adds an accelerator onto the beginning
10129         of any menu items that don't have one.  I did this because there
10130         will inevitably be some menu items on the main menubar that don't
10131         have accelerators on them because the package that adds that
10132         particular menu item hasn't yet been fixed up to have accelerators
10133         in them and it looked rather strange to have some items with and
10134         some items without accelerators, especially since even in items
10135         without accelerators, you can, at least under windows, still
10136         access the item through an accelerator corresponding to the first
10137         character in the item's name.  If people don't like this behavior,
10138         I can add a variable to turn it off optionally, but I'm not sure
10139         this is a good idea because we really do need to have accelerators
10140         on all of the menu items, and if a package doesn't like the
10141         accelerators being put on the first character, then it should put
10142         the accelerators where they belong.
10143
10144         c) I made a behavior change, which is that the descriptor that
10145         specifies the text of the menu item, which formerly was just a
10146         string, can now also be an evaluated expression.  This makes this
10147         descriptor parallel with all of the others, which could also be
10148         evaluated expressions.  This also obviates the need for the
10149         keyword :label, which was previously listed in the documentation
10150         as unimplemented, and which was for the same purpose.
10151
10152         d) GCPROing.
10153
10154         * ntproc.c:
10155         * ntproc.c (new_child):
10156         * ntproc.c (sys_spawnve):
10157         * ntproc.c (find_child_console):
10158         * ntproc.c (sys_kill):
10159         Fixed compile warnings.  By the way, this file should really go
10160         away entirely, and this will happen as soon as Kirill makes his
10161         final round of process cleanups, which affect the function
10162         call-process.
10163
10164         * process-nt.c:
10165         * process-nt.c (struct nt_process_data):
10166         * process-nt.c (find_process_from_pid):
10167         * process-nt.c (send_signal_the_nt_way):
10168         * process-nt.c (enable_child_signals):
10169         * process-nt.c (find_child_console):
10170         * process-nt.c (send_signal_the_95_way):
10171         * process-nt.c (nt_finalize_process_data):
10172         * process-nt.c (ensure_console_window_exists):
10173         * process-nt.c (nt_create_process):
10174         * process-nt.c (nt_kill_child_process):
10175         * process-nt.c (nt_kill_process_by_pid):
10176         * process-nt.c (nt_open_network_stream):
10177         * process-nt.c (vars_of_process_nt):
10178         Copied over code from Emacs 20.5 to correctly send signals to sub-
10179         processes under Windows 95.  Also added code to automatically
10180         create and hide console window when a sub-process is created under
10181         Windows 95, which obviates the need for the separate runemacs.exe
10182         executable, and finally implemented some variables that were
10183         implemented in Emacs 20.5, but previously not in XEmacs.  These
10184         include mswindows- start-process-share-console and
10185         mswindows-start-process-inherit-error-mode. (Both of these only
10186         apply to Windows 95.)
10187
10188         * regex.c (regex_compile): Fixed a compile warning.
10189
10190         * select-msw.c:
10191         * select-msw.c (mswindows_own_selection):
10192         * select-msw.c (mswindows_get_foreign_selection):
10193         * select-msw.c (mswindows_disown_selection):
10194         * select-msw.c (console_type_create_select_mswindows):
10195         * select-msw.c (syms_of_select_mswindows):
10196         Cleaned up the file and implemented the device method
10197         selection_exists_p, which had accidentally been left out.  Also
10198         removed four lisp functions that were remnants from before the
10199         time when the selection code was properly device abstracted.
10200         These functions are no longer needed because there are generic
10201         equivalents, and because they were added recently and don't exist
10202         in FSF Emacs, I don't think there's any problem with just deleting
10203         them.
10204
10205         * sysdep.c:
10206         * sysdep.c (sys_subshell):
10207         Fixed a compile warning, although in this case there's probably
10208         something wrong with this code, and it ought to be looked into
10209         more thoroughly by somebody who understands it.
10210
10211         * window.c:
10212         * window.c (Fwindow_text_area_height):
10213         * window.c (Fwindow_width):
10214         * window.c (Fwindow_full_width):
10215         * window.c (Fwindow_pixel_width):
10216         * window.c (debug_print_window):
10217         * window.c (syms_of_window):
10218         Added functions window-text-area-height and window-full-width,
10219         which are functions for returning various width and height
10220         characteristics of a window. (One of these functions is necessary
10221         for making the file dialog box work correctly, and the other one
10222         was added for completeness.)  Also added a table to the
10223         documentation for window-height which describes the entire scheme
10224         for accessing width and height characteristics of a window.
10225
10226 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10227
10228         * nt.c (fstat): Added a comment for another problem with
10229         non-encapsulated [f]stat(), reported by Adrian Aichner
10230         <aichner@ecf.teradyne.com>.
10231
10232 2000-03-11  Andy Piper  <andy@xemacs.org>
10233
10234         * window.c (make_dummy_parent): initialize subwindow instance
10235         cache.
10236         (Fset_window_configuration): zero extent_modiff.
10237
10238 2000-03-10  Andy Piper  <andy@xemacs.org>
10239
10240         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10241         more changes can be triggered.
10242         (Fredisplay_frame): ditto.
10243         (Fredraw_device): ditto.
10244         (Fredisplay_device): ditto.
10245         (redisplay_frame): make non-static.
10246         (redisplay_frame): call update_frame_gutter_geometry outside of
10247         display proper.
10248
10249         * gutter.h: declare update_frame_gutter_geometry.
10250
10251         * redisplay.h: declare redisplay_frame.
10252
10253         * gutter.c (update_frame_gutter_geometry): move geometry changes
10254         in update_frame_gutters here. Geometry changes can only occur
10255         outside of redisplay.
10256         (update_frame_gutters): remove geometry change code.
10257         (Fredisplay_gutter_area): make sure that we are in display when we
10258         update and that we have flushed any size changes.
10259
10260 2000-03-11  Andy Piper  <andy@xemacs.org>
10261
10262         * alloc.c (pdump_dump_data): remove i & count shadows.
10263
10264 2000-02-27  Mike Alexander  <mta@arbortext.com>
10265
10266         * sysdep.h: Declare pdump_read_file
10267
10268         * sysdep.c (pdump_read_file): New function
10269
10270         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10271         dump data
10272
10273 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10274
10275         * lrecord.h: add `lrecord_type_pgsetenv'.
10276
10277 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10278
10279         * symsinit.h: declare (vars|syms)_of* functions.
10280         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10281
10282 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10283
10284         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10285
10286         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10287         GCCs.
10288
10289         * emacs.c (main_1): Call postgres initialization code.
10290
10291         * postgresql.h: New file.  PostgreSQL RDBMS support.
10292         * postgresql.c: New file.
10293
10294 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10295
10296         * redisplay-output.c (redisplay_output_display_block): Disable
10297         redundant code.
10298
10299 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10300
10301         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10302         (Fcanna_henkan_next): Ditto.
10303         (Fcanna_bunsetu_henkou): Ditto.
10304         (Fcanna_henkan_kakutei): Ditto.
10305         (Fcanna_henkan_end): Ditto.
10306         (Fcanna_henkan_quit): Ditto.
10307         (Fcanna_henkan_next): Set retun value correctly.
10308         (c2mu): Use unsigned char instead of signed char.
10309
10310 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10311
10312         * emacs.c (main_1): Always call syms_of_gui.
10313         * inline.c: include gui.h
10314
10315 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10316
10317         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10318         converted to Lisp_Object.
10319         (Qtop_bottom): New variable.
10320         (syms_of_redisplay): Initialize it.
10321         * redisplay.h (Vvisible_bell): Ditto.
10322         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10323         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10324         only flash top and bottom.
10325
10326 2000-03-08  Andy Piper  <andy@xemacs.org>
10327
10328         * buffer.c (Frename_buffer): record new buffer name the right way.
10329
10330 2000-03-08  Andy Piper  <andy@xemacs.org>
10331
10332         * glyphs.c (update_subwindow): increase hash depth so that widget
10333         items get picked up properly.
10334
10335         * redisplay-output.c (compare_runes): increase hash depth so that
10336         widget items get picked up properly.
10337
10338 2000-03-08  Andy Piper  <andy@xemacs.org>
10339
10340         * gutter.c (output_gutter): add some debug.
10341
10342         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10343         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10344         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10345
10346         * redisplay-output.c (compare_runes): use display_hash to
10347         determine if glyphs really are not the same.
10348
10349         * glyphs.c (update_subwindow): check display_hash to see if
10350         anything really needs to be updated. If not then do
10351         nothing. Record the display_hash after updating.
10352         (image_instance_equal): compare the image_instance face also.
10353
10354 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10355
10356         * redisplay.h: Fix comment style.
10357
10358 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10359
10360         * consle-msw.h (struct mswindows_frame):
10361         Added new member paint_pending to indicate whether a WM_PAINT
10362         magic event has been queued for this frame.
10363
10364         * event-msw.c (mswindows_drain_windows_queue):
10365         Don't queue a WM_PAINT magic event if one is already queued.
10366         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10367
10368         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10369
10370 2000-03-07  Didier Verna  <didier@xemacs.org>
10371
10372         * dired.c: #include `regex.h' after `sysfile.h'.
10373
10374 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10375
10376         * sound.c (init_nas_sound): Fix compiler warning.
10377
10378         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10379         (FREE_STRUCT_P):
10380         (MARK_STRUCT_AS_FREE):
10381         (MARK_STRUCT_AS_NOT_FREE):
10382         Make `gcc -fstrict-aliasing' work properly.
10383
10384 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10385
10386         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10387         (mswindows_delete_device): Call CoUnnitialize().
10388
10389         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10390
10391 2000-02-25    <CraigL@DyCon.com>
10392
10393         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10394         <errno.h>.
10395
10396         * sysdep.c: This extern declaration for environ prevents MinGW
10397         from finding the variable in CRTDLL.DLL.
10398
10399         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10400         windows headers.
10401         (SHGFI_EXETYPE): ..
10402         (WM_MOUSEWHEEL): ..
10403         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10404         definitions.
10405         (MMRESULT): Removed, now defined in cygwin's windows headers.
10406         (TIMECAPS): ..
10407         (uid_t,gid_t,pid_t,ssize_t): ..
10408         (_timeb): Removed, MinGW defines both _timeb and timeb.
10409         (HAVE_H_ERRNO): Added.
10410         (HAVE_TZNAME): Added, configure is not detecting this.
10411
10412 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10413
10414         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10415         * syntax.c (syntax_match): Use it.
10416
10417         * cmds.c: Import auto-fill-chars from FSF Emacs.
10418         (Vauto_fill_chars): New variables.
10419         (internal_self_insert): Check Vauto_fill_chars.
10420         (vars_of_cmds):
10421         Declare auto-fill-chars as a Lisp variable and initialize it.
10422
10423 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10424
10425         * fileio.c (Fmake_symbolic_link):
10426         (Ffile_symlink_p):
10427         Run handlers even if local machine doesn't have symlinks.
10428
10429 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10430
10431         * event-msw.c (mswindows_drain_windows_queue):
10432         Don't generate paint magic events for non-XEmacs frames.
10433
10434 2000-03-05  Andy Piper  <andy@xemacs.org>
10435
10436         * redisplay.c (redisplay_frame): generate_displayable_area and
10437         friends assumes that we are not in GC, we therefore have to make
10438         sure that this doesn't happen.
10439
10440         * gutter.c (calculate_gutter_size): generate_displayable_area
10441         assumes that we are not in GC, we therefore have to make sure that
10442         this doesn't happen.
10443
10444 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10445
10446         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10447
10448 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10449
10450         * redisplay.c (regenerate_window): Make sure we set a sane value
10451         for end_pos even if we jump out of the loop.
10452         (regenerate_window): Answer Ben's question :-).
10453         (start_end_of_last_line): Add may_error argument.
10454         (start_of_last_line):
10455         (end_of_last_line): Pass may_error = 0.
10456         (end_of_last_line_may_error): New function.
10457         (pixel_to_glyph_translation): Use it, so we don't crash in
10458         event_to_glyph.
10459
10460 2000-03-04  Andy Piper  <andy@xemacs.org>
10461
10462         * window.h (struct window): add gutter_extent_modiff.
10463
10464         * window.c (allocate_window): zero out gutter_extent_modiff.
10465
10466         * redisplay.h: declare sync_display_line_structs.
10467
10468         * redisplay.c (add_glyph_rune): add a better comment.
10469
10470         * redisplay-output.c (sync_display_line_structs): made non-static.
10471         (compare_runes): remove unneccesary glyph cachel access.
10472
10473         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10474
10475         * gutter.c (output_gutter): don't output the gutter if extent
10476         changes only involve extents in buffers. use 4 sets of display
10477         lines.
10478         (gutter_extent_signal_changed_region_maybe): new function. Mark
10479         extents in gutters as changed.
10480         (update_frame_gutters): use 4 sets of display lines.
10481         (reset_gutter_display_lines): ditto.
10482         (free_frame_gutters): ditto.
10483         (redraw_exposed_gutter): force output of gutters.
10484
10485         * frame.h (struct frame): add 4 sets of gutter display lines.
10486
10487         * extents.c: (extent_changed_for_redisplay): signal changes to
10488         extents in strings in the gutter as well as extents in buffers.
10489
10490 2000-03-02  Andy Piper  <andy@xemacs.org>
10491
10492         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10493
10494         * frame.c (Fmake_frame): make sure the gutters get initialized
10495         after the frame is visible.
10496         (set_frame_selected_window): re-arrange compilation macros a
10497         little.
10498         (change_frame_size_1): mark gutters changed.
10499
10500         * device.c (Fset_device_class): mark gutters changed.
10501
10502 2000-03-01  Andy Piper  <andy@xemacs.org>
10503
10504         * window.c (window_top_frame_gutter_height): deleted.
10505         (window_bottom_frame_gutter_height): ditto.
10506         (window_left_frame_gutter_height): ditto.
10507         (window_right_frame_gutter_height): ditto.
10508         (window_top_gutter_height): don't use them.
10509         (window_bottom_gutter_height): ditto.
10510         (window_left_gutter_width): ditto.
10511         (window_right_gutter_width): ditto.
10512         (Fsplit_window): ditto.
10513         (Fwindow_pixel_edges): don't use border dimensions here.
10514
10515         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10516         (update_scrollbar_instance): ditto.
10517
10518         * redisplay.c (generate_modeline): don't take gutters into account.
10519         (generate_modeline): ditto.
10520         (redisplay_frame): small gutter display optimization.
10521
10522         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10523
10524         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10525         gutters into account.
10526
10527         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10528         for window position and type.
10529
10530         * gutter.c (get_gutter_coords): fix for frame gutters.
10531         (update_frame_gutters): update frame geometry if the gutters have
10532         changed.
10533         (init_frame_gutters): record current gutter geometries.
10534
10535         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10536         var.
10537         (mswindows_widget_instantiate): ditto.
10538
10539         * frame.h (struct frame): add current_gutter_bounds.
10540
10541         * frame.c (change_frame_size_1): position window and minibuffer
10542         appropriately taking into account the frame gutters.
10543
10544         * frame-x.c: (x_initialize_frame_size): take into account the
10545         frame gutters.
10546
10547 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10548
10549         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10550
10551 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10552
10553         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10554
10555 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10556
10557         * file-coding.c (reset_decoding_stream): Clear previous
10558         detection state when autodetect.
10559
10560 2000-02-29  Didier Verna  <didier@xemacs.org>
10561
10562         * extents.c (set_extent_glyph_1): don't require extents to be
10563         attached.
10564
10565 2000-02-27  Andy Piper  <andy@xemacs.org>
10566
10567         * gutter.c (Fset_default_gutter_position): don't default left and
10568         right gutter visibility to t.
10569         (Fset_default_gutter_position): run
10570         default-gutter-position-changed-hook.
10571         (syms_of_gutter): add default-gutter-position-changed-hook.
10572
10573 2000-02-26  Andy Piper  <andy@xemacs.org>
10574
10575         * specifier.c (Fmake_specifier): add gutter references.
10576
10577         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10578
10579         * lisp.h: declare Fvalid_plist_p.
10580
10581         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10582         as changed.
10583         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10584         well as its visibility so that it gets reconstructed.
10585         (construct_window_gutter_spec): new function. Construct a string
10586         to be displayed in the gutter from a plist of strings. Take care
10587         to only use elements that are declared as visible.
10588         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10589         WINDOW_GUTTER.
10590         (gutter_validate): allow plists of strings in the specifier.
10591         (gutter_specs_changed): construct the real_gutter from the gutter
10592         specs using construct_window_gutter_spec.
10593         (gutter_visible_validate): gutter-visible is a new specifier type.
10594         (Fgutter_visible_specifier_p): new function for the new specifier.
10595         (syms_of_gutter): declare gutter-visible and
10596         Fgutter_visible_specifier_p.
10597         (specifier_type_create_gutter): intitalize new gutter-visible
10598         specifier.
10599         (reinit_specifier_type_create_gutter): ditto.
10600         (specifier_vars_of_gutter): use new specifier type for gutter
10601         visibility.
10602         (init_frame_gutters): construct real_gutter correctly.
10603         (Fgutter_specifier_p): beef up documentation.
10604         (Fgutter_size_specifier_p): ditto.
10605
10606         * winslots.h: add real_gutter slots.
10607
10608 2000-02-25  Andy Piper  <andy@xemacs.org>
10609
10610         * device-msw.c: Be kind to older cygwin versions. From Raymond
10611         Toy <toy@rtp.ericsson.se>.
10612
10613         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10614         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10615
10616 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10617
10618         * elhash.c (MARK_OBJ): Practice macro hygiene.
10619
10620 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10621
10622         * miscplay.c: s/__inline__/inline/g;
10623         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10624         (get_device_compdc): INLINE ==> static inline
10625         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10626         find -name '*.h' | \
10627         xargs global-replace \
10628         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10629
10630 2000-02-25  Andy Piper  <andy@xemacs.org>
10631
10632         * window.c (window_top_frame_gutter_height): new function.
10633         (window_top_window_gutter_height): ditto.
10634         (window_top_gutter_height): use them.
10635         (window_bottom_frame_gutter_height): new function.
10636         (window_bottom_window_gutter_height): ditto.
10637         (window_bottom_gutter_height): use them.
10638         (window_left_window_gutter_width): new function.
10639         (window_left_frame_gutter_width): ditto.
10640         (window_left_gutter_width): use them.
10641         (window_right_window_gutter_width): new function.
10642         (window_right_frame_gutter_width): ditto.
10643         (window_right_gutter_width): use them.
10644         (window_pixel_height): new function. calulate window pixel height
10645         with frame gutter involvement.
10646         (Fsplit_window): calculate new sizes taking frame gutters into
10647         account.
10648         (window_char_height_to_pixel_height): don't include frame gutters.
10649         (window_char_height): use window_pixel_height.
10650         (window_pixheight): rename from window_pixel_height.
10651         (change_window_height): use it.
10652         (window_pixel_height_to_char_height): don't include frame gutters.
10653         (window_char_width_to_pixel_width): ditto.
10654
10655 2000-02-25  Andy Piper  <andy@xemacs.org>
10656
10657         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10658         if it is.
10659
10660 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10661
10662         * alloc.c (staticpro):
10663         (staticpro_nodump):
10664         (dumpstruct):
10665         (dumpopaque):
10666         (pdump_wire):
10667         (pdump_wire_list):
10668         (compact_string_chars):
10669         (pdump_dump_wired):
10670         Convert:  if (foo) abort();  ==>  assert (! foo);
10671
10672         * eldap.c (Fldap_search_basic):
10673         (Fldap_add):
10674         (Fldap_modify):
10675         (Fldap_delete):
10676         Fix compiler warnings, and possible crashes if (random) return
10677         value were to be used.
10678
10679 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10680
10681         * device-msw.c: Workaround ResetDC failure.
10682
10683         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10684         applying a devmode.
10685
10686         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10687         (mswindows_text_width): Do not start printer page.
10688
10689         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10690
10691         * glyphs-msw.c: Added image methods to msprinter console and
10692         msprinter-specific image instantiation.
10693
10694 2000-02-20  Mike Alexander  <mta@arbortext.com>
10695
10696         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10697         to avoid crashes when selection-sets-clipboard is on
10698         (mswindows_own_selection): ditto
10699
10700 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10701
10702         * glyphs-msw.c:
10703         * redisplay-msw.c (get_frame_dc):
10704         (get_frame_compdc):
10705         * console-msw.h:
10706         * device-msw.c (mswindows_init_device):
10707         (mswindows_delete_device):
10708         (msprinter_init_device):
10709         (msprinter_delete_device):
10710         * frame-msw.c (mswindows_init_frame_1):
10711         (mswindows_delete_frame):
10712         (msprinter_init_frame_3):
10713         (msprinter_delete_frame): Move compatible DC to device object from
10714         frame object, for both mswindows and msprinter. Only one at a time
10715         is needed, it is a real waste to have one per frame!
10716
10717 2000-02-23  Andy Piper  <andy@xemacs.org>
10718
10719         * glyphs.c: add dynamic width and height elements.
10720         (image_instance_equal): ditto.
10721
10722         * glyphs-widget.c (widget_query_geometry): calculate width and
10723         height dynamically if required.
10724         (initialize_widget_image_instance): initialize dynamic dimensions.
10725         (widget_instantiate): pick-up dynamic dimensions.
10726
10727         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10728         dynamic determination. Add appropriate macros.
10729
10730         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10731         dimensions safe.
10732         (WINDOW_GUTTER_SIZE): ditto.
10733         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10734
10735         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10736         inline.
10737         (get_frame_dc): ditto.
10738
10739         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10740         here.
10741
10742 2000-02-23  Martin Buchholz <martin@xemacs.org>
10743
10744         * XEmacs 21.2.31 is released.
10745
10746 2000-02-22  Ben Wing <ben@xemacs.org>
10747
10748         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10749
10750 2000-02-22  Andy Piper  <andy@xemacs.org>
10751
10752         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10753
10754 2000-02-21  Mike Sperber <mike@xemacs.org>
10755
10756         * .dbxrc:
10757         * .gdbinit:
10758         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10759         variables.
10760
10761 2000-02-21  Mike Sperber <mike@xemacs.org>
10762
10763         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10764
10765 2000-02-21  Martin Buchholz <martin@xemacs.org>
10766
10767         * XEmacs 21.2.30 is released.
10768
10769 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10770
10771         Performance hacking.
10772         * *.c (syms_of_*):
10773         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10774         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10775         * emacs.c (main_1):
10776         * lisp.h (DEFUN):
10777         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10778         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10779         * symeval.h (DEFVAR_SYMVAL_FWD):
10780         * symbols.c (guts_of_unbound_marker):
10781         Make all c_readonly objects also lisp_readonly and marked for life.
10782         * lrecord.h (struct lrecord_implementation):
10783         Document flags better.
10784         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10785         * lrecord.h (DECLARE_LRECORD):
10786         * lrecord.h (XSETRECORD):
10787         * lrecord.h (RECORDP):
10788         * lrecord.h (RECORD_TYPEP):
10789         * lrecord.h (RECORD_MARKER): New.
10790         * lrecord.h (error_check_*):
10791         * lrecord.h (CONCHECK_NONRECORD):
10792         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10793         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10794         * lrecord.h (set_lheader_implementation):
10795         * lrecord.h (enum lrecord_type): New.
10796         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10797         * alloc.c (disksave_object_finalization_1):
10798         * alloc.c (mark_object):
10799         * alloc.c (lrecord_type_index):
10800         * alloc.c (tick_lcrecord_stats):
10801         * alloc.c (Fgarbage_collect):
10802         * alloc.c (init_alloc_once_early):
10803         * alloc.c (pdump_load):
10804         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10805         * alloc.c (lrecord_type_index): Delete.
10806         Make lisp object type indexes be constant.
10807           Makes (byte-compile) 5% faster.
10808         Put all marker functions into their own array.
10809           Makes (garbage-collect) 5% faster.
10810         Optimize SYMBOL_VALUE_MAGIC_P.
10811           Makes (byte-compile) 2-3% faster.
10812         * config.h.in (gc_checking_assert): New.
10813         * alloc.c: Use gc_checking_assert().
10814         * .dbxrc: Make compatible with new object type implementation.
10815         * .gdbinit: Make compatible with new object type implementation.
10816         * alloc.c: Delete all symbols defined only for debugging, such as
10817         Lisp_Type_Vector and lrecord_charset.
10818
10819 2000-02-21  Andy Piper  <andy@xemacs.org>
10820
10821         * gui-msw.c (Fmswindows_shell_execute): fix file location
10822         problems.
10823
10824         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10825         unshowing so that set_window_buffer doesn't undo
10826         kill_buffer_hook's hard work.
10827
10828         * glyphs-widget.c (tab_control_query_geometry): don't count the
10829         first item when calculating geometry.
10830
10831         * glyphs.c (map_subwindow): remove redundant code.
10832         (update_frame_subwindows): be more circumspect about when to
10833         update subwindows.
10834
10835         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10836         when items haven't changed. Update faces if faces have changed as
10837         well as just the widget face.
10838         (x_tab_control_update): Update faces if faces have changed as well
10839         as just the widget face.
10840
10841 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10842
10843         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10844         registration.
10845         (build_syscolor_string): Use mswindows_color_to_string to try to
10846         get a named color.
10847         (mswindows_device_system_metrics): Reverse the foreground and
10848         background colors so that they match the documentation.
10849
10850         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10851         they match the default Windows palette.
10852         (mswindows_color_to_string): New function.
10853
10854 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10855
10856         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10857
10858 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10859
10860         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10861         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10862
10863         * symbols.c (init_symbols_once_early): Removed obsolete
10864         DATA_SEG_BITS related kludge.
10865         (defvar_magic): Ditto.
10866
10867         * malloc.c: Removed obsolete DATA_SEG_BITS
10868         * ralloc.c: Ditto.
10869         * mem-limits.h: Ditto.
10870
10871         * Makefile.in.in: Removed obsolete HAVE_SHM
10872         * emacs.c: Ditto.
10873
10874 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10875
10876         *  device-msw.c (mswindows_delete_device): Free DDE string
10877         handles.
10878
10879 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10880
10881         * keymap.c (get_keyelt):
10882         * unexnt.c (unexec):
10883         * vm-limit.c (memory_warnings):
10884         * ntheap.c (recreate_heap):
10885         * ntheap.h (UNINIT_PTR):
10886         * select-msw.c (Fmswindows_get_clipboard):
10887         (Fmswindows_set_clipboard):
10888         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10889         * objects-msw.c:
10890         * menubar-msw.c (displayable_menu_item):
10891         * glyphs-msw.c:
10892         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10893         * sysdep.c (sys_subshell):
10894         * process-nt.c (nt_create_process):
10895         * nt.c (normalize_filename):
10896         (dostounix_filename):
10897         (unixtodos_filename):
10898         * ntproc.c (win32_executable_type):
10899         * ntplay.c (play_sound_data_1):
10900         (play_sound_file):
10901         * editfns.c (get_home_directory):
10902         * event-msw.c (struct winsock_stream):
10903         (mswindows_dde_callback):
10904         * device-msw.c (msprinter_init_device):
10905         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10906
10907         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10908         mswindows_clear_toolbar were swapped!
10909
10910         * objects-msw.c:(colormap_t):
10911         (fontmap_t):
10912         * emacs.c (struct standard_args): Fixed const jumble.
10913
10914         * glyphs-widget.c (update_widget): Fixed comparison notation.
10915
10916         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10917
10918         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10919         __declspec(noreturn) syntax.
10920
10921 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10922
10923         * eldap.c (Fldap_open):
10924         (Fldap_search_basic):
10925         (Fldap_add):
10926         (Fldap_modify):
10927         Use new coding system conversion macros.
10928
10929 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10930
10931         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10932
10933 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10934
10935         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10936         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10937
10938         * eldap.c (Qadd, Qreplace): New constant symbols
10939         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10940         interruptions by XEmacs signals
10941         Remove unnecessary calls to slow_down_interrupts and
10942         speed_up_interrupts
10943         (Fldap_search_basic): Renamed from Fldap_search_internal
10944         Added new optional parameter VERBOSE that triggers the
10945         display of progress messages
10946         Remove unnecessary calls to slow_down_interrupts and
10947         speed_up_interrupts
10948         LDAP result code analysis rewritten
10949         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10950         (syms_of_eldap): Define the new symbols and functions
10951
10952
10953 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10954
10955         * realpath.c: Determine PATH_MAX maximally portably.
10956
10957         * insdel.c (bytecount_to_charcount): Optimize.
10958         The function used to be optimized for entirely ASCII sequences.
10959         Now it is optimized for successive characters from the same
10960         charset.  This also wins big for _mostly_ ASCII sequences.
10961
10962         * fileio.c (Ffile_truename): convert return from realpath() using
10963         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10964         - Rewrite GCPROing slightly.
10965
10966         * sysdep.c (sys_open): Do filename conversion, like all other
10967         sys_* functions.  Fixes bug:
10968         (let ((file-name-coding-system 'iso-8859-2))
10969            (write-region x y latin2-name))
10970         ==> writes filename using internal encoding.
10971
10972 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10973
10974         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10975         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10976         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10977         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10978         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10979         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10980         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10981         (CONST_IF_NOT_DEBUG): Delete.
10982         * alloc.c (this_one_is_unmarkable): Delete.
10983         (mark_object): Don't check for this_one_is_unmarkable. Use the
10984         c_readonly flag instead.
10985         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10986
10987 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10988
10989         * event-msw.c (mswindows_drain_windows_queue):
10990         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10991         away redundant repaint events.
10992
10993 2000-02-17  Andy Piper  <andy@xemacs.org>
10994
10995         * redisplay.h: declare mark_redisplay_structs.
10996
10997         * redisplay.c (redisplay_window):
10998         (redisplay_frame): don't check subwindows_state_changed.
10999         (mark_redisplay): mark gutters here.
11000
11001         * glyphs.c: (instantiate_image_instantiator): always layout if we
11002         haven't done so already.
11003         (allocate_image_instance): don't mark as dirty.
11004         (update_subwindow): bind inhibit_quit.
11005
11006         * gutter.c (mark_gutters): new function.
11007
11008         * glyphs-x.c (x_update_widget): Always resize to get round a
11009         widget bug.
11010
11011         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11012         breaking absolutely everything.
11013
11014         * gutter.h: declare mark_gutters.
11015
11016 2000-02-16  Martin Buchholz <martin@xemacs.org>
11017
11018         * XEmacs 21.2.29 is released.
11019
11020 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11021
11022         * fns.c (size_bit_vector): Fix computation of the size.
11023
11024 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11025
11026         * *.[ch]: Change CONST to const globally.
11027         find -name '*.[ch]' | \
11028         xargs global-replace \
11029         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11030         - Remove vestigial references to CONST_IS_LOSING
11031
11032 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11033
11034         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11035         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11036         events instead of dispatching them directly.
11037         (mswindows_handle_paint): New function to do repainting.
11038         (mswindows_wnd_proc):
11039         (emacs_mswindows_handle_magic_event): Call above function.
11040
11041 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11042
11043         * objects-msw.c (mswindows_create_font_variant): Return the new
11044         font handle.
11045         (initialize_font_instance): Get font metrics from the underlined
11046         variant of the font to cope with the case where the underlined
11047         font has a bigger descent.
11048
11049 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11050
11051         * gui.c (gui_item_accelerator): Return the first underlined
11052         character in item name.
11053
11054 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11055
11056         * lisp.h: Added Qprinter.
11057
11058         * general.c (syms_of_general): Initialized it.
11059
11060         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11061         (get_frame_dc):
11062         (get_frame_compdc): Made inline.
11063
11064         * console.h (struct console_methods): Added eject_page method.
11065
11066         * frame.h: Added FRAME_DISPLAY_P and friends.
11067         Aligned backslahes in many macros in more readable fashion.
11068         Added page_number to struct frame, and an accessor macro
11069         for it.
11070
11071         * defice.h: Added DEVICE_DISPLAY_P and friends.
11072
11073         * device.c (Fdevice_printer_p): Used these.
11074
11075         * frame.c (allocate_frame_core): Initialize page number.
11076         (Fprint_job_page_number):
11077         (Fprint_job_eject_page): Implemented.
11078
11079         * frame-msw.c (msprinter_eject_page): Added method.
11080         (msprinter_start_page): Added.
11081
11082         * window.c (Fwindow_truncated_p): Fixed docstring.
11083         (Fwindow_last_line_visible_height): Implemented.
11084
11085 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11086
11087         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11088
11089 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11090
11091         * syntax.c (scan_words): Always advance at least one character.
11092
11093 2000-02-13  Andy Piper  <andy@xemacs.org>
11094
11095         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11096         to make sure the glyph is in the cachels.
11097
11098         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11099         global image instance flag.
11100         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11101         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11102
11103         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11104         (Fset_image_instance_property): mark layout as changed.
11105         (invalidate_glyph_geometry_maybe): mark layout as changed.
11106         (glyph_width): use new NEEDS_LAYOUT macro.
11107         (glyph_ascent): ditto.
11108         (glyph_descent): ditto.
11109         (glyph_height): ditto.
11110         (image_instance_layout): mark layout as clean after laying out.
11111         (update_subwindow): don't mark layout as clean here.
11112
11113         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11114         should no longer be needed.
11115
11116         * glyphs-x.c (x_update_widget): sanitize asserts.
11117         (x_finalize_image_instance): sanitize assignment to widgets.
11118
11119         * glyphs-widget.c (widget_instantiate): don't need to clear the
11120         layout flag here.
11121
11122 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11123
11124         * sysdep.c (getcwd): Use standard prototype.
11125         * sysdep.h (getcwd): Use standard prototype.
11126
11127         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11128         (sequence, start, end).
11129         Remove redundant type checking.
11130         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11131         view of `caller-protects') to avoid a crash where the real fix was
11132         found elsewhere.
11133
11134 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11135
11136         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11137
11138         * s/sol2.h: Remove feature macro initialization.
11139
11140         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11141         (vector_hash): New.  Code from internal_hash.
11142         * lrecord.h:
11143         Fix up allocation subsystem comments.
11144
11145         * config.h.in: Add __EXTENSIONS__ for Solaris.
11146
11147         * systime.h (EMACS_GETTIMEOFDAY): New.
11148         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11149         Remove Solaris-specific code.
11150         Use void* for the (ignored) second arg for gettimeofday().
11151
11152         * elhash.c (hash_table_hash): Implement it, finally.
11153         * elhash.c:  Use hashcode_t.
11154
11155         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11156         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11157
11158         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11159         * fns.c (size_bit_vector):
11160         * alloc.c (size_vector):
11161         (make_vector_internal):
11162         (make_bit_vector_internal):
11163         (sweep_bit_vectors_1):
11164         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11165
11166 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11167
11168         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11169         Include strings.h to avoid warnings for bzero and strcasecmp.
11170
11171 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11172
11173         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11174         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11175
11176         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11177         sequence.
11178
11179 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11180
11181         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11182         use a value field instead.
11183         (symbol_value_forward_forward): Use value field.
11184         (DEFVAR_SYMVAL_FWD): Use value field.
11185         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11186         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11187         (DEFVAR_CONST_INT): Ditto.
11188         (DEFVAR_BOOL): Ditto.
11189         (DEFVAR_CONST_BOOL): Ditto.
11190         (DEFVAR_INT_MAGIC): Ditto.
11191         (DEFVAR_BOOL_MAGIC): Ditto.
11192
11193         * symbols.c (guts_of_unbound_marker): Use value field.
11194         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11195         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11196
11197         * lisp.h: Declare dumpopaque and noninteractive1.
11198
11199         * alloc.c (dumpopaque): Added.
11200         (pdump_dump_opaquevec): Added.
11201         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11202         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11203         noninteractive.
11204
11205 2000-02-10  Andy Piper  <andy@xemacs.org>
11206
11207         * glyphs.c (image_instance_layout): if the size changes, mark it
11208         as such.
11209
11210         * redisplay-output.c (redisplay_output_layout): Update the
11211         subwindow here.
11212         (redisplay_output_subwindow): ditto.
11213
11214         * glyphs.c (update_subwindow): make sure we reset flags for
11215         layouts as well as everything else.
11216
11217         * glyphs-widget.c (layout_layout): don't need to set the instances
11218         dimensions here.
11219
11220 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11221
11222         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11223         not HAVE_DLOPEN, which is a lower-level thing.
11224
11225         * .cvsignore: Ignore gmon.out
11226
11227 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11228
11229         * .cvsignore: Ignore portable dumper xemacs.dmp file
11230
11231 2000-02-09  Andy Piper  <andy@xemacs.org>
11232
11233         * redisplay-output.c (redisplay_output_layout): be more clever
11234         about when we output based on the changed flags.
11235
11236         * glyphs.h (struct image_instantiator_methods): add update_method.
11237         (struct Lisp_Image_Instance): add changed flags. Declare new
11238         macros for manipulating them.
11239
11240         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11241         (image_instance_parent_glyph): find an image_instance's parent
11242         glyph or image_instance.
11243         (image_instance_layout): mark the size as changed.
11244         (set_image_instance_dirty_p): new function. mark an image
11245         instance, plus all of its parents, as dirty.
11246         (Fset_image_instance_property): use it.
11247         (Fglyph_animated_timeout_handler): use it.
11248         (update_subwindow): call update_widget and device methods for
11249         update_subwindow. Mark all changed flags as clean.
11250         (Fresize_subwindow): mark size as changed.
11251
11252         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11253         failures.
11254         (x_update_subwindow): only resize subwindows here.
11255         (x_update_widget): new function. Update all changed properties of
11256         a widget.
11257         (x_resize_subwindow): deleted.
11258         (x_widget_set_property): deleted.
11259         (x_progress_gauge_set_property): deleted.
11260         (x_progress_gauge_update): new function. Implement recorded
11261         changes.
11262         (x_tab_control_update): ditto.
11263         (x_tab_control_set_property): deleted.
11264         (console_type_create_glyphs_x): declare new functions.
11265         (image_instantiator_format_create_glyphs_x): ditto.
11266
11267         * glyphs-widget.c (widget_set_property): mark text changed.
11268         (update_widget): new function. Update properties of a widget.
11269         (widget_instantiate): for layouts make sure we set their
11270         children's parent correctly.
11271         (tab_control_set_property): new function. Record changes that will
11272         take place under redisplay's control.
11273         (progress_gauge_set_property): ditto.
11274         (image_instantiator_progress_guage): declare new functions.
11275         (image_instantiator_tab_control): ditto.
11276
11277         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11278         now.
11279         (mswindows_update_widget): new function. Update all properties on
11280         a widget that have changed.
11281         (mswindows_button_update): new function. Update a button's set
11282         state.
11283         (mswindows_tab_control_update): new function. Update the items in
11284         a tab.
11285         (mswindows_tab_control_set_property): deleted.
11286         (mswindows_progress_gauge_update): new function. Update the
11287         progress gauge's progress.
11288         (mswindows_widget_set_property): deleted. This is all done
11289         asynchronously now.
11290         (mswindows_progress_gauge_set_property): ditto.
11291         (console_type_create_glyphs_mswindows): declare new methods.
11292         (image_instantiator_format_create_glyphs_mswindows): ditto.
11293
11294         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11295         (msprinter_set_frame_properties): ditto.
11296
11297         * console.h (struct console_methods): Add update_widget_method.
11298
11299 2000-02-09  Andy Piper  <andy@xemacs.org>
11300
11301         * gui-msw.c (Fmswindows_shell_execute): Make
11302         mswindows-shell-execute industrial strength.
11303
11304 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11305
11306         * lrecord.h: Make macro argument `props' match member function `plist'.
11307         * fns.c (Fget):
11308         * fns.c (Fput):
11309         * fns.c (Fremprop):
11310         * fns.c (Fobject_plist):
11311         * alloc.c:
11312         * symbols.c:
11313         Object property list frobbing cleanup.
11314         - Allow any lisp object (compared with `eq'), not just symbols, as
11315           keys in object plists.
11316         - Move symbol plist frobbing into symbols.c, where it belongs.
11317         - Move string plist frobbing into alloc.c, where it belongs.
11318         - Everything's an lrecord now, so no need to test for symbolp, etc.
11319         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11320
11321         * extents.c: Reorder code to remove declarations.
11322
11323         * frame.h (store_in_alist): Remove useless declaration.
11324
11325 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11326
11327         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11328         * config.h.in: Add HAVE_XCONVERTCASE.
11329
11330 2000-02-07  Andy Piper  <andy@xemacs.org>
11331
11332         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11333         it breaks many things.
11334
11335 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11336
11337         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11338         actually can start a common comment type.
11339         * src/syntax.h (SYNTAX_END_P): ditto for end.
11340
11341 2000-02-07  Martin Buchholz <martin@xemacs.org>
11342
11343         * XEmacs 21.2.28 is released.
11344
11345 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11346
11347         * event-Xt.c (x_keysym_to_character): New.
11348         (maybe_define_x_key_as_self_inserting_character): New.
11349         (x_has_keysym): New.
11350         Auto-define all keys on the keyboard as self-insert-key.
11351
11352 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11353
11354         * menubar.c (vars_of_menubar): A small code simplification.
11355
11356         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11357
11358         * ExternalShell.c:
11359         * ExternalClient.c:
11360         * EmacsShell-sub.c:
11361         * EmacsManager.c:
11362         * EmacsFrame.c:
11363         Use consistent style for specifying X resources.
11364
11365         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11366         This makes (dontusethis-set-symbol-value-handler) actually usable.
11367
11368         * lrecord.h (lrecord_decription_type):
11369         * alloc.c (pdump_register_sub):
11370         (pdump_dump_data):
11371         (pdump_reloc_one):
11372         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11373         Comply with XEmacs coding style.
11374         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11375         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11376
11377         * keymap.c (Faccessible_keymaps):
11378         Make (accessible-keymaps map "\C-h") do the Right Thing.
11379         Make (accessible-keymaps map []) do the Right Thing.
11380         Make (accessible-keymaps map "") do the Right Thing.
11381         (check_keymap_definition_loop): New function.
11382         (keymap_store_internal): Keep luser from shooting self in foot,
11383           via (define-key ctl-x-4-map "p" global-map).
11384         Remove fullness slot from struct Lisp_Keymap, since hash tables
11385         are now reliable.
11386         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11387
11388 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11389
11390         * redisplay.c (init_redisplay): Fix small memory leak.
11391         * elhash.h:
11392         * elhash.c (pdump_reorganize_hash_table):
11393         Rename from reorganize_hash_table. Change prototype.
11394         Reuse the original memory for hentries.  Save 100k.
11395         * alloc.c (PDUMP_READ): new macro.
11396         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11397         * alloc.c: No need to #ifndef before #undef.
11398
11399         * print.c: Allow debug_print() to print readably by modifying
11400         debug_print_readably.  Use consistent variable names.
11401
11402         * .dbxrc: Try to get things to work even if stopped in a function
11403         without source available by explicitly specifying source files.
11404 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11405
11406         * unexnt.c (_start): Removed bogus code which caused loading heap
11407         from differrent executable file.
11408         Removed bogus assignment to _fmode, which caused inconsistencies.
11409
11410 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11411
11412         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11413         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11414         Do not preliminary `#define signal sigset'.
11415
11416         * systime.h: Do not prototype environ on windows nt and cygwin,
11417         this conflicts with system header.
11418
11419         * syssignal.h: Use correct define for WINDOWSNT
11420
11421         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11422         with system header.
11423
11424         * sysdep.c (near start of file): Fixed commentary and rearranged
11425         ifdefs in readable order.
11426         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11427         (start_of_text):
11428         (end_of_text):
11429         (end_of_data): Do not compile in if using PDUMP.
11430
11431         * symsinit.h: Prototyped vars_of_nt().
11432
11433         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11434         (find_child_console): Use it.
11435         (sys_kill): Use it.
11436
11437         * ntheap.h: Do not extern os_subtype.
11438
11439         * ntheap.c (cache_system_info): Do not cache unneeded:
11440         nt_major_version, nt_minor_version and os_subtype.
11441         (recreate_heap): Do not compile in when PDUMPing.
11442
11443         * nt.c (geteuid and friends): Use the new varibale
11444         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11445         (init_user_info): Removed the above mentioned hackery.
11446         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11447         stat has been fixed in the C runtime.
11448         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11449
11450         * file-coding.c (struct file_coding_dump): Do not define
11451         ucs_to_mule_table in the struct if not MULE.
11452         (struct struct lrecord_description fcd_description_1): Do not dump
11453         the above.
11454
11455         * emacs.c (main_1): Call vars_of_nt().
11456         (right before Fdump_emacs_data): Don't need lastfile if using both
11457         portabe dumper and system malloc.
11458
11459         * alloc.c (Fmemory_limit): Conditionalized out.
11460         (pdump): Use OPEN_BINARY for the portable dump file.
11461         (pdump_load): Ditto.
11462
11463 2000-02-02  Mike Alexander  <mta@arbortext.com>
11464
11465         * nt.c (convert_time): Set tm_isdst before calling mktime and
11466         avoid calling it at all if the compiler supports 64 bit integers.
11467         Also initialize utc_base_ft before using it.
11468
11469 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11470
11471         * frame.c (change_frame_size_1): Take f->internal_border_width
11472         into consideration when calculating the width of the frame.
11473
11474 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11475
11476         * window.c (frame_min_height):
11477         (frame_size_valid_p):
11478         (frame_pixsize_valid_p): Added.
11479         (check_frame_size): Generalized.
11480
11481         * window.h: Prototyped the above.
11482
11483         * lisp.h:
11484         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11485         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11486         Deleted Vwin32_* and Vbinary_process_* unused variables.
11487
11488         * device-msw.c (msprinter_init_device): Do not get printer font
11489         list; Added DEVMODE functions.
11490
11491         * frame-msw.c: Added lots of printer code.
11492
11493         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11494         general.c.
11495
11496         * console-msw.h: Added more msprinter device private slots.
11497
11498 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11499
11500         * event-msw.c (key_needs_default_processing_p): Added.
11501         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11502
11503 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11504
11505         * glyphs.c (image_instance_layout): Mark image instance as clean
11506         after layout.
11507         (glyph_dirty_p): Removed redundant function.
11508         (invalidate_glyph_geometry_maybe): Added.
11509         (update_glyph_cachel_data): Call it.
11510
11511         * glyphs.h: Prototyped it.
11512
11513         * redisplay.c (add_glyph_rune): Call it.
11514         (redisplay_window): Reset glyphs cachels when frame faces have
11515         changed, thus forcing recomputation of built-in border glyphs.
11516
11517 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11518
11519         * Makefile.in.in: Make portable dumper and purify play well together.
11520         Add imperfect, but better than nothing, support for pdump.
11521         Remove xemacs.dmp when temacs is re-generated.
11522         Don't ignore errors when dumping xemacs.
11523
11524         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11525
11526 2000-01-28  Andy Piper  <andy@xemacs.org>
11527
11528         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11529         (setup_normal_frame): ditto.
11530         (setup_frame_without_minibuffer): ditto.
11531         (setup_minibuffer_frame): ditto.
11532         (delete_frame_internal): ditto.
11533         (Fmake_frame_invisible): ditto.
11534         (Ficonify_frame): ditto.
11535
11536         * window.h: change Fset_window_buffer signature.
11537
11538         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11539         (Fset_window_buffer): allow recording of buffer if the window is
11540         the selected window.
11541         (window_loop): Use new Fset_window signature.
11542
11543 2000-01-23  Daniel Pittman  <daniel@danann.net>
11544
11545         * config.h.in: Added template for `HAVE_ATHENA_3D'
11546
11547 2000-01-29  Andy Piper  <andy@xemacs.org>
11548
11549         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11550
11551         * gutter.c (output_gutter): Don't output if the window isn't live.
11552
11553 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11554
11555         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11556         of 01/12/00: Moved SetFocus back here where it belongs.
11557
11558 2000-01-23  Andy Piper  <andy@xemacs.org>
11559
11560         * s/cygwin32.h: declare printer things.
11561
11562 2000-01-26  Andy Piper  <andy@xemacs.org>
11563
11564         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11565         Alexander.
11566
11567 2000-01-24  Andy Piper  <andy@xemacs.org>
11568
11569         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11570         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11571
11572         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11573
11574         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11575
11576         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11577
11578         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11579         (mswindows_output_display_block): Avoid local shadows.
11580
11581         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11582         (mswindows_enqueue_mouse_button_event): ditto.
11583         (mswindows_handle_gui_wm_command): remove declaration.
11584
11585         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11586         warnings.
11587
11588         * console-msw.h: Avoid shadows.
11589         (mswindows_get_toolbar_button_text):
11590         (emacs_mswindows_create_stream_pair):
11591         (emacs_mswindows_delete_stream_pair):
11592         (mswindows_handle_toolbar_wm_command): declare.
11593
11594         * device-msw.c (build_syscolor_string): Avoid shadows.
11595
11596 2000-01-23  Andy Piper  <andy@xemacs.org>
11597
11598         * glyphs-widget.c (widget_instantiate): reverse the items for
11599         layouts so that children are in the expected order.
11600
11601 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11602
11603         * ralloc.c: safe_bcopy ==> memmove
11604         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11605         * s/msdos.h: Remove BCOPY macros.
11606         * insdel.c (gap_right): Remove BCOPY conditional code.
11607         * insdel.c (gap_left): Remove BCOPY conditional code.
11608         XEmacs demands a working ANSI C compiler - hence memmove.
11609
11610         * regex.c (regex_compile): Remove accidental use of trigraphs.
11611
11612 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11613
11614         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11615         event timestamp.
11616
11617 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11618
11619         * event-msw.c (mswindows_drain_windows_queue): Added the
11620         parameter.
11621         (mswindows_need_event): Commented the call to
11622         mswindows_drain_windows_queue().
11623         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11624         only.
11625
11626         * console-msw.h: Moved a few function prototypes here from
11627         event-msw.c.
11628
11629         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11630         parameter from unsigned short to unsigned long.
11631         (Fmswindows_shell_execute): Added return value.
11632
11633 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11634
11635         * sysdep.c (init_system_name):
11636           process-unix.c (unix_canonicalized_host_name):
11637         Don't call freeaddrinfo() if getaddrinfo() fails.
11638
11639         * process-unix.c (unix_open_unix_network_stream):
11640         Moved the code to get a port # into address loop.
11641
11642 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11643
11644         * buffer.c (reinit_vars_of_buffer):
11645         The right place to initialize conversion_in_dynarr and
11646         conversion_out_dynarr.
11647
11648         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11649
11650         * process-unix.c (unix_canonicalize_host_name): Muleize.
11651         (unix_open_network_stream): Muleize.
11652
11653         * buffer.h: Fix up prototypes for ralloc.c functions.
11654
11655 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11656         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11657         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11658                 instead of gethostbyname()
11659         * process-unix.c: In unix_canonicalize_host_name() and
11660                 unix_open_network_stream(), add code to use getaddrinfo()
11661                 instead of gethostbyname().
11662
11663 2000-01-27  Daniel Pittman <daniel@danann.net>
11664
11665         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11666         libs when built with flat Athena.
11667
11668 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11669
11670         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11671         Use coding standards for function prototypes.
11672
11673 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11674
11675         * dialog-msw.c (push_lisp_string_as_unicode):
11676         * doc.c (unparesseuxify_doc_string):
11677         * dired.c (Fuser_name_completion_1):
11678         * dired.c (Fuser_name_all_completions):
11679         * dired.c (free_user_cache):
11680         * dired.c (user_name_completion):
11681         * console-x.c (get_display_arg_connection):
11682         * minibuf.c (clear_echo_area_internal):
11683         * minibuf.c (echo_area_append):
11684         * eldap.c (Fldap_open):
11685         * eldap.c (Fldap_search_internal):
11686         * frame-x.c (x_set_frame_text_value):
11687         * frame-x.c (x_set_frame_properties):
11688         * frame-x.c (x_create_widgets):
11689         * redisplay-tty.c (term_get_fkeys_1):
11690         * objects-x.c (x_parse_nearest_color):
11691         * objects-x.c (x_valid_color_name_p):
11692         * objects-x.c (x_initialize_font_instance):
11693         * objects-x.c (x_list_fonts):
11694         * objects-x.c (x_find_charset_font):
11695         * tooltalk.c (Fadd_tooltalk_message_arg):
11696         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11697         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11698         * process-unix.c (unix_create_process):
11699         * ntproc.c (sys_spawnve):
11700         * sound.c (Fplay_sound_file):
11701         * sound.c (Fplay_sound):
11702         * buffer.c (init_initial_directory):
11703         * buffer.c (init_buffer):
11704         * editfns.c (init_editfns):
11705         * editfns.c (Ftemp_directory):
11706         * editfns.c (Fuser_full_name):
11707         * editfns.c (uncache_home_directory):
11708         * editfns.c (get_home_directory):
11709         * editfns.c (Fuser_home_directory):
11710         * editfns.c (Fformat_time_string):
11711         * editfns.c (Fcurrent_time_string):
11712         * gui-x.c (button_item_to_widget_value):
11713         * database.c (Fopen_database):
11714         * event-Xt.c (x_to_emacs_keysym):
11715         * event-Xt.c (x_event_to_emacs_event):
11716         * event-Xt.c (describe_event_window):
11717         * event-msw.c (mswindows_wnd_proc):
11718         * glyphs-eimage.c (jpeg_instantiate):
11719         * glyphs-eimage.c (gif_instantiate):
11720         * glyphs-eimage.c (png_instantiate):
11721         * glyphs-eimage.c (tiff_instantiate):
11722         * glyphs-x.c (xbm_instantiate_1):
11723         * glyphs-x.c (x_xbm_instantiate):
11724         * glyphs-x.c (x_xface_instantiate):
11725         * glyphs-x.c (autodetect_instantiate):
11726         * glyphs-x.c (cursor_font_instantiate):
11727         * glyphs-x.c (x_widget_instantiate):
11728         * glyphs-x.c (x_widget_set_property):
11729         * glyphs-x.c (x_widget_property):
11730         * glyphs-x.c (BUILD_GLYPH_INST):
11731         * print.c (write_string_to_stdio_stream):
11732         * print.c (output_string):
11733         * print.c (Falternate_debugging_output):
11734         * print.c (Fexternal_debugging_output):
11735         * glyphs-msw.c (extract_xpm_color_names):
11736         * glyphs-msw.c (mswindows_xpm_instantiate):
11737         * glyphs-msw.c (bmp_instantiate):
11738         * glyphs-msw.c (resource_name_to_resource):
11739         * glyphs-msw.c (mswindows_resource_instantiate):
11740         * glyphs-msw.c (xbm_instantiate_1):
11741         * glyphs-msw.c (mswindows_xbm_instantiate):
11742         * glyphs-msw.c (mswindows_xface_instantiate):
11743         * glyphs-msw.c (mswindows_widget_instantiate):
11744         * glyphs-msw.c (add_tree_item):
11745         * glyphs-msw.c (add_tab_item):
11746         * glyphs-msw.c (mswindows_combo_box_instantiate):
11747         * glyphs-msw.c (mswindows_widget_property):
11748         * glyphs-msw.c (mswindows_combo_box_property):
11749         * glyphs-msw.c (mswindows_widget_set_property):
11750         * console.c (stuff_buffered_input):
11751         * objects-msw.c (mswindows_initialize_color_instance):
11752         * objects-msw.c (mswindows_valid_color_name_p):
11753         * objects-msw.c (mswindows_list_fonts):
11754         * objects-msw.c (mswindows_font_instance_truename):
11755         * bytecode.c (optimize_compiled_function):
11756         * select-x.c (symbol_to_x_atom):
11757         * select-x.c (x_atom_to_symbol):
11758         * select-x.c (hack_motif_clipboard_selection):
11759         * select-x.c (selection_data_to_lisp_data):
11760         * select-x.c (lisp_data_to_selection_data):
11761         * select-x.c (Fx_get_cutbuffer_internal):
11762         * select-x.c (Fx_store_cutbuffer_internal):
11763         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11764         * buffer.h (TO_INTERNAL_FORMAT): New function.
11765         * emacs.c (make_arg_list_1):
11766         * emacs.c (make_argc_argv):
11767         * emacs.c (main_1):
11768         * emacs.c (Fdump_emacs):
11769         * emacs.c (split_string_by_emchar_1):
11770         * file-coding.h:
11771         * lisp.h:
11772         * lstream.h:
11773         * symsinit.h:
11774         * device-x.c (x_init_device):
11775         * device-x.c (Fx_valid_keysym_name_p):
11776         * device-x.c (Fx_get_font_path):
11777         * device-x.c (Fx_set_font_path):
11778         * glyphs.c (bitmap_to_lisp_data):
11779         * glyphs.c (pixmap_to_lisp_data):
11780         * alloc.c (make_ext_string): Use coding system arguments.  Update
11781         all callers.
11782         * alloc.c (build_string):
11783         * callproc.c (child_setup):
11784         * callproc.c (init_callproc):
11785         * fileio.c (lisp_strerror):
11786         * fileio.c (directory_file_name):
11787         * fileio.c (Fexpand_file_name):
11788         * fileio.c (Ffile_truename):
11789         * fileio.c (Fsysnetunam):
11790         * fileio.c (Fdo_auto_save):
11791         * sysdep.c (sys_readdir):
11792         * tests.c: New file.  Allow adding C tests.
11793         Replace GET_* macros with a more comprehensible and flexible
11794         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11795         Modify all calls.
11796         Any coding system can be used to do format conversion.
11797         Eliminate enum external_data_format.
11798         Eliminate convert_to_external_format.
11799         Eliminate convert_to_internal_format.
11800         Make sure file-name, keyboard, terminal, and ctext are always
11801         defined as coding systems or aliases.  Make
11802         file-name-coding-system, terminal-coding-system, and
11803         keyboard-coding-system magical variables that are equivalent to
11804         defining the corresponding coding system aliases.
11805
11806         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11807         * file-coding.c (Fcoding_system_alias_p): New function.
11808         * file-coding.c (Fcoding_system_aliasee): New function.
11809         * file-coding.c (append_suffix_to_symbol): New function.
11810         * file-coding.c (dangling_coding_system_alias_p): New function.
11811         * file-coding.c (Ffind_coding_system):
11812         * file-coding.c (Fcopy_coding_system):
11813         * file-coding.c (encode_coding_no_conversion):
11814         * file-coding.c (syms_of_file_coding):
11815         * file-coding.c (vars_of_file_coding):
11816         Rewrite coding system alias code.
11817         Allow nested aliases, like symbolic links.
11818         Allow redefinition of coding system aliases.
11819         Prevent existence of dangling coding system aliases.
11820
11821         * dired.c (Fuser_name_completion_1):
11822         * dired.c (Fuser_name_all_completions):
11823         A crash would happen if user did QUIT in the middle of building
11824         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11825
11826         * lisp.h:
11827         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11828
11829         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11830         an unsigned char *.  Update all callers.
11831
11832 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11833
11834         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11835
11836 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11837
11838         * elhash.c (hentry_description): Use more portable definition.
11839         (resize_hash_table): Initialize new hentries using
11840         xnew_array_and_zero, thereby simplifying the code.
11841
11842         * mule-charset.c (make_charset): Make sure entire object is
11843         initialized, to avoid Purify warnings.
11844
11845         * alloc.c (resize_string): Fix unlikely crash with big strings.
11846
11847 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11848
11849         * realpath.c (xrealpath):
11850         Don't call getwd().
11851
11852 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11853
11854         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11855
11856 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11857
11858         * unexelfsgi.c (unexec): Change the way we decide which segment
11859         should be extended.
11860
11861         Assumption that .bss section should be outside the PT_LOADable
11862         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11863         it's present) is inside the 'data' segment. This would fail the
11864         test which was used to find a segment to grow and cover new
11865         heap. Instead of this assumption, I created another one - on IRIX
11866         the segment to grow should start below .bss and it's address
11867         should extent above the end of .bss. Once this segment is
11868         identified, it's grown to accommodate the new heap and new
11869         zero-length .bss section is added at the end of .data2.
11870
11871 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11872
11873         * eval.c (Feval): Wrong number of arguments should use original
11874         function, not the indirect_function version of it.
11875
11876 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11877
11878         * glyphs-x.c (x_button_instantiate): Don't add image if
11879         it is not a pixmap.
11880         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11881         is relative.
11882
11883 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11884
11885         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11886         declaration.
11887         (DEFVAR_INT_MAGIC): Ditto.
11888         (DEFVAR_BOOL_MAGIC): Ditto.
11889         * glyphs.h: Reindent backslash.
11890
11891 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11892
11893         * glyphs-widget.c (layout_query_geometry):
11894         (layout_layout): Use correct types for gheight, gwidth.
11895
11896 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11897
11898         * EmacsManager.c (QueryGeometry): Purified.
11899
11900 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11901
11902         * alloc.c (make_float): Make sure entire object is initialized, to
11903         avoid Purify warnings.
11904         (pdump_register_sub): Remove useless assignment.
11905         (pdump): Use xmalloc, not malloc.
11906         (pdump_load): Use xmalloc, not malloc.
11907
11908 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11909
11910         * callproc.c:
11911         * dired-msw.c:
11912         * fileio.c:
11913         * process-nt.c:
11914         * redisplay-msw.c:
11915         * sysdep.c: Removed redundant #include <windows.h>
11916
11917 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11918
11919         * frame.c (delete_frame_internal): Do not delete device when its
11920         implementation so declares.
11921         (delete_frame_internal): Set device selected frame to nil when
11922         last frame goes away.
11923
11924         * device-msw.c (msprinter_device_system_metrics): Implemented.
11925         (mswindows_device_system_metrics): Added 'device-dpi property.
11926
11927         * device.c: (Fdevice_printer_p): Added.
11928         Added 'offset-workspace device metric.
11929
11930         * console.h (device_metrics): Declared DM_offset_workspace.
11931
11932 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11933
11934         * fileio.c (Ffile_truename): Remove pointless and confusing
11935         initialization of elen.
11936
11937         * glyphs-widget.c: Compiler warning fixes.
11938
11939 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11940
11941         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11942         instead of a Lisp_Object as argument to make it consistent with
11943         the other LIVE_P macros.
11944         (CHECK_LIVE_PROCESS): New macro.
11945
11946         * process.c: Declare Qprocess_live_p.
11947         (Fprocess_live_p): New function.
11948         (create_process): Use PROCESS_LIVE_P.
11949         (read_process_output): Ditto.
11950         (set_process_filter): Ditto.
11951         (Fdelete_process): Ditto.
11952         (kill_buffer_processes): Ditto
11953         (process_send_signal): Use CHECK_LIVE_PROCESS.
11954         (Fprocess_input_coding_system): Check whether process is still
11955         alive (fix PR#1061).
11956         (Fprocess_output_coding_system): Ditto.
11957         (Fprocess_coding_system): Ditto.
11958         (Fset_process_input_coding_system): Ditto.
11959         (Fset_process_output_coding_system): Ditto.
11960
11961 2000-01-23  Andy Piper  <andy@xemacs.org>
11962
11963         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11964         layout and widget.
11965
11966         * glyphs.c (mark_image_instance): take into account changed
11967         image_instance format.
11968         (image_instance_equal): ditto.
11969         (image_instance_hash): ditto.
11970
11971         * glyphs-widget.c (widget_instantiate): Incorporate layout
11972         instantiation here. Delay layout of the layout until later.
11973         (layout_instantiate): deleted.
11974         (layout_query_geometry): new function. get the geometry of a
11975         layout.
11976         (layout_layout): layout a layout dynamically.
11977         (image_instantiator_widget): New function - splitting up
11978         image_instantiator_format_create_glyphs_widget for netwinder
11979         compilation.
11980         (image_instantiator_buttons):
11981         (image_instantiator_edit_fields):
11982         (image_instantiator_combo_box):
11983         (image_instantiator_scrollbar):
11984         (image_instantiator_progress_guage):
11985         (image_instantiator_tree_view):
11986         (image_instantiator_tab_control):
11987         (image_instantiator_labels):
11988         (image_instantiator_layout): ditto.
11989         (image_instantiator_format_create_glyphs_widget): Call preceding
11990         functions.
11991
11992 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11993
11994         * process.c (Fset_process_coding_system):
11995         * device-x.c (Fx_keysym_hash_table):
11996         Docstring fixes.
11997
11998         * lstream.c (Lstream_write): Return documented value, not 0.
11999
12000         * fileio.c (directory_file_name):
12001         (Fsubstitute_in_file_name):
12002         (Fsubstitute_insert_file_contents_internal):
12003         (Fwrite_region_internal):
12004         * emacs.c:
12005         * sysdep.c:
12006         * getloadavg.c:
12007         * systty.h:
12008         Remove vestigial APOLLO-conditional code.
12009
12010 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12011
12012         * getpagesize.h: Add guard macros.
12013         * libsst.h: Add guard macros.
12014         * libst.h: Add guard macros.
12015         * line-number.h: Add guard macros.
12016         * ndir.h: Add guard macros.
12017         * sysfloat.h: Add guard macros.
12018         * sysfile.h: Add guard macros.
12019         * sysproc.h: Add guard macros.
12020         * syswait.h: Add guard macros.
12021         * xintrinsic.h: Add guard macros.
12022         * xintrinsicp.h: Add guard macros.
12023         * xmmanager.h: Add guard macros.
12024         * xmmanagerp.h: Add guard macros.
12025         * xmprimitive.h: Add guard macros.
12026         * xmu.h: Add guard macros.
12027         * gpmevent.h: Add copyright statement. Add guard macros.
12028         * miscplay.h: Add guard macros.
12029         * *.h: Use consistent C-standards-approved guard macro names.
12030
12031         * opaque.c (make_opaque): Switch parameter order.
12032         * opaque.h (make_opaque): Switch parameter order.
12033         Update all callers.
12034         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12035
12036         * config.h.in (type_checking_assert): Added.
12037         (bufpos_checking_assert): Added.
12038
12039 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12040
12041         * alloc.c: Harmless pdump changes.
12042         - Use countof().
12043         - spell alignment correctly.
12044         * sysdep.c: Use countof()
12045
12046 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12047
12048         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12049         initially_selected_for_input() console method, default to 0.
12050         (semi_canonicalize_console_connection): Try to delegate to
12051         canonicalize_console_connection if no such console method.
12052         (canonicalize_console_connection): Vice versa.
12053         (print_console): Do not print nil connection.
12054
12055         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12056         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12057         (XDEVIMPF_FRAMELESS_OK): Added.
12058         (CONSOLE_INHERITS_METHOD): Added.
12059
12060         * console-msw.c (mswindows_canonicalize_console_connection):
12061         Added.
12062         (mswindows_canonicalize_device_connection): Added.
12063
12064         * console-msw.h (struct msprinter_device): Added this struct and
12065         accessor macros.
12066         (mswindows_device): Made fontlist a lisp object.
12067
12068         * device.c (semi_canonicalize_device_connection):  Try to delegate
12069         to canonicalize_device_connection if no such console method.
12070         (canonicalize_device_connection): Vice versa.
12071         (print_device): Do not print nil connection.
12072
12073         * device-msw.c (mswindows_init_device): Call InitCommonControls
12074         when have widgets.
12075         (mswindows_delete_device): Removed fontlist deallocation.
12076         (mswindows_mark_device): Added.
12077
12078         * events.c (event_equal): Added abort() at unreached code.
12079         (event_hash): Ditto.
12080
12081         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12082         fallback tags of Windows devices.
12083
12084         * general.c (syms_of_general): Initialized Qmsprinter.
12085
12086         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12087         of fallback tags of Windows devices.
12088
12089         * lisp.h: Declared Qmsprinter.
12090
12091         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12092         of strings.
12093         (mswindows_list_fonts): Ditto.
12094         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12095         that it can be used by both mswindows and msprinter devices.
12096         (initialize_font_instance): Added.
12097         (mswindows_initialize_font_instance): Use it.
12098         (msprinter_initialize_font_instance): Added.
12099
12100         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12101         and implementation flags check.
12102         (redisplay_without_hooks): Changed the call to the above.
12103         (Fredraw_device): Ditto.
12104         (Fredisplay_device): Ditto.
12105
12106         * redisplay-msw.c (get_frame_dc): Implemented.
12107         (get_frame_compdc): Implemented.
12108         (many functions): Use the two functions above to get device
12109         contexts, ether for a window or a printer.
12110
12111 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12112
12113         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12114         initialization here.
12115         (init_symbols_once_early): Call it.
12116         * emacs.c (main_1): Call it.
12117         * symsinit.h: Declare it.
12118
12119 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12120
12121         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12122         Lisp_Object.
12123         (pdump_backtrace): Ditto.
12124         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12125         (pdump_get_entry): Abort if trying to register a null pointer.
12126         (pdump_dump_data): Cleanup types when relocating.
12127         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12128         (pdump_dump_rtables): Remove bad casts.
12129         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12130         Lisp_Object instead of a EMACS_INT for the hashtable
12131         reorganization.
12132
12133 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12134
12135         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12136
12137         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12138
12139         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12140
12141         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12142
12143 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12144
12145         * faces.h (FACE_STRIKETHRU_P): Added.
12146
12147         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12148         of font variants.
12149
12150         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12151         (mswindows_set_dc_font): New function, aware of font variants,
12152         separated from mswindows_update_dc.
12153
12154         * objects-msw.h (struct mswindows_font_instance_data): Added
12155         definition.
12156
12157         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12158         cached fonts and the data structure.
12159         (mswindows_initialize_font_instance): Added creation of font data
12160         structure.
12161         (mswindows_print_font_instance): Print at least something.
12162         (mswindows_create_font_variant): Implemented.
12163         (mswindows_get_hfont): Implemented.
12164
12165 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12166
12167         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12168         prototyping problem with msvc.
12169
12170         * emacs.c (main_1): added syms_of_gui_mswindows() call
12171
12172         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12173         syms_of_gui_mswindows() function
12174
12175         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12176
12177 2000-01-18  Martin Buchholz <martin@xemacs.org>
12178
12179         * XEmacs 21.2.27 is released.
12180
12181 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12182
12183         * glyphs-eimage.c (struct tiff_error_struct):
12184         (tiff_error_func):
12185         (tiff_warning_func):
12186         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12187
12188         * unexmips.c:
12189         * unexhp9k3.c:
12190         * unexfreebsd.c:
12191         * unexec.c: Remove vestigial Lucid C code.
12192         * unexalpha.c:
12193         * unexaix.c:
12194         * termcap.c:
12195         * libsst.c: Ansify.
12196         Remove declarations of errno and strerror().
12197
12198         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12199
12200         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12201
12202 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12203
12204         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12205         Optimize.
12206
12207 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12208
12209         * md5.c:
12210         * file-coding.c:
12211         * file-coding.h:
12212         Change enum eol_type to eol_type_t.
12213
12214 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12215
12216         * gui.c (get_gui_callback): Check cons before accessing car.
12217
12218 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12219
12220         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12221         (XSETSPECIFIER_TYPE): Ditto.
12222
12223 2000-01-17  Didier Verna  <didier@xemacs.org>
12224
12225         * redisplay.c (generate_fstring_runes): compute string size in
12226         characters, not bytes.
12227
12228 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12229
12230         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12231
12232 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12233
12234         * print.c (print_error_message): Call print_prepare().
12235
12236 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12237
12238         * .dbxrc: Renamed from dbxrc.
12239
12240         * events.c (event_to_character):
12241         Use `assert (foo)' instead of `if (!foo) abort()'
12242
12243         * .gdbinit (xtype): Add documentation.
12244         * .gdbinit (check-temacs): New function.
12245         * .gdbinit (check-xemacs): New function.
12246         * dbxrc (check-xemacs): New function.
12247         * dbxrc (check-xemacs): New function.
12248
12249 2000-01-14  Andy Piper  <andy@xemacs.org>
12250
12251         * glyphs-widget.c (widget_query_geometry): Make sure that we
12252         calculate default dimensions correctly.
12253
12254 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12255
12256         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12257
12258         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12259         pdump_wire'd variable.
12260
12261         * emacs.c: (main_1): Conditionalized calls to
12262         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12263
12264 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12265
12266         * window.c (Fset_window_configuration):
12267         * sysdep.c (_start):
12268         * input-method-motif.c (res):
12269         * event-Xt.c (Xt_process_to_emacs_event):
12270         Simple compiler warning fixes.
12271
12272         * bytecode.c (funcall_compiled_function): Use the original
12273         function symbol on the backtrace list in preference to the
12274         compiled_function object in error messages.
12275
12276 2000-01-13  Andy Piper  <andy@xemacs.org>
12277
12278         * glyphs-x.c (update_widget_face): Make sure we update the widget
12279         background as well as foreground.
12280
12281 2000-01-13  Andy Piper  <andy@xemacs.org>
12282
12283         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12284         fields to subwindow.
12285         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12286         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12287         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12288         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12289
12290         * glyphs-widget.c (check_valid_tab_orientation): new function.
12291         (initialize_widget_image_instance): zero orientation and
12292         justification.
12293         (widget_instantiate): pick up orientation.
12294         (tab_control_query_geometry): return appropriate values for
12295         vertical tabs.
12296
12297         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12298         appropriate creation flags for left, right and bottom tabs.
12299
12300         * s/cygwin32.h: add tab definitions.
12301
12302 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12303
12304         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12305         frame upon hiding a subwindow.
12306         (mswindows_button_instantiate): Changed the push button style to
12307         BS_PUSHBUTTON.
12308         (mswindows_button_instantiate): Removed button BS_NOTIFY
12309         style.
12310         (mswindows_button_instantiate): Removed redundant check for
12311         a disabled gui item.
12312         (mswindows_button_instantiate): Made use of WS_TABSTOP
12313         consistent: "operable" controls (edit, button, tree, scroll) have
12314         this style, "display-only" ones (static, progress gauge) do
12315         not. This style is currently ignored by XEmacs though. Also,
12316         removed the WS_EX_CONTROLPARENT style - it is not for children,
12317         it is for their parents!
12318         (mswindows_edit_field_instantiate): Ditto.
12319         (mswindows_progress_gauge_instantiate): Ditto.
12320         (mswindows_tree_view_instantiate): Ditto.
12321         (mswindows_tab_control_instantiate): Ditto.
12322         (mswindows_scrollbar_instantiate): Ditto.
12323         (mswindows_combo_box_instantiate): Ditto.
12324         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12325         style to the "clip" window.
12326         (mswindows_button_instantiate): Removed compilation warning by
12327         equally typing terms of the ?: operator.
12328
12329 2000-01-12  Didier Verna  <didier@xemacs.org>
12330
12331         * redisplay.c (generate_fstring_runes): new parameter holding the
12332         last modeline-format extent.
12333         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12334         extent, fill the glyph block with it.
12335         (generate_fstring_runes): handle these parameters.
12336         (generate_formatted_string_db): ditto.
12337
12338         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12339         glyphs'extents in the modeline.
12340
12341 1999-01-11  Mike Woolley  <mike@bulsara.com>
12342
12343         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12344         256Mb, as a workaround for the non-starting problem many people
12345         have experienced.
12346
12347 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12348
12349         * console-tty.c (Fset_console_tty_output_coding_system):
12350         Force redrawing tty frame.
12351
12352 2000-01-10  Didier Verna  <didier@xemacs.org>
12353
12354         * redisplay.c (generate_fstring_runes): fix size computation bug.
12355
12356 2000-01-09  William M. Perry <wmperry@aventail.com>
12357
12358         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12359
12360 2000-01-09  Andy Piper  <andy@xemacs.org>
12361
12362         * glyphs-msw.c: index -> i to avoid shadows.
12363         (xbm_create_bitmap_from_data): make static.
12364         (check_valid_string_or_int): deleted.
12365         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12366
12367         * glyphs-x.c (x_update_subwindow): remove unused args.
12368
12369         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12370         back pointer - this is done in allocate_image_instance.
12371         (query_string_font): return Qnil to make the compiler happy.
12372         (unmap_subwindow): set to ~0 to make the compiler happy.
12373         (glyph_query_geometry): comment out until used.
12374         (glyph_layout): ditto.
12375
12376 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12377
12378         * insdel.c (signal_after_change): Remove extraneous unbind_to().