3fd3f3f350e316e6fa4e6c8bc2d875fa0dc04ac4
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (complex_vars_of_mule_charset): Change
4         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
5         the second revised version.
6
7 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * mule-charset.c (Vcharset_ucs_smp): New variable.
10         (Vcharset_ucs_sip): New variable.
11         (Qucs_smp): New variable.
12         (Qucs_sip): New variable.
13         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
14         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
15         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
16         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
17         `ucs-bmp'; addn new coded-charset `ucs-smp' and `ucs-sip'; change
18         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
19
20         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
21         (LEADING_BYTE_UCS_SIP): New macro.
22         (MIN_CHAR_SMP): New macro.
23         (MAX_CHAR_SMP): New macro.
24         (MIN_CHAR_SIP): New macro.
25         (MAX_CHAR_SIP): New macro.
26
27 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
28
29         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
30         utf-2000.
31
32 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
35         value; don't store value into `encoding_table' of `Lisp_Charset'.
36         (mark_charset): `encoding_table' was deleted.
37         (charset_description): Likewise.
38         (make_charset): Likewise.
39         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
40         `put_char_ccs_code_point'.
41
42         * chartab.h (Fput_char_attribute): New EXFUN.
43
44         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
45         is unified with normal symbol space.
46         (Fget_char_attribute): Likewise.
47         (Fput_char_attribute): Likewise; behavior of
48         `put_char_ccs_code_point' is changed.
49
50         * char-ucs.h: Include "elhash.h".
51         (Vchar_attribute_hash_table): New external variable.
52         (struct Lisp_Charset): Delete `encoding_table'.
53         (CHARSET_ENCODING_TABLE): New implementation; refer
54         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
55         `Lisp_Charset'.
56
57 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
58
59         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
60         (cs) == 0.
61
62 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * text-coding.c (char_encode_big5): Prefer charset-g1 than
65         `chinese-big5'.
66
67 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
68
69         * chartab.c (uint8_byte_table_description): New constant.
70         (uint8-byte-table): Use `uint8_byte_table_description'.
71         (uint16_byte_table_description): New constant.
72         (uint16-byte-table): Use `uint16_byte_table_description'.
73
74 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
77         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
78
79 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
80
81         * mule-charset.c (Vcharset_ucs_ks): New variable.
82         (Qucs_ks): New variable.
83         (syms_of_mule_charset): Add new symbol `ucs-ks'.
84         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
85
86         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
87
88 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
91         (Fdecode_char): Likewise.
92
93         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
94         chartab.h.
95         (Fdefine_char): Modify for Fdecode_char.
96         (Ffind_char): Likewise.
97
98         * mule-charset.c (Fdecode_char): Add new optional argument
99         `defined-only'.
100         (Fdecode_builtin_char): Modify for `Fdecode_char'.
101
102 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
105         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
106         (allocate_coding_system): Initialize initial-charsets of
107         CODESYS_BIG5 in XEmacs UTF-2000.
108         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
109         CODESYS_BIG5 in XEmacs UTF-2000.
110         (decode_coding_big5): Use initial-charset-g0 and -g1 of
111         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
112
113         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
114         variables.
115         (Qideograph_hanziku_{1 .. 12}): Likewise.
116         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
117         .. 12}'.
118         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
119         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
120         `ideograph-hanziku-{1 .. 12}'.
121
122         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
123         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
124         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
125         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
126         (DECODE_DEFINED_CHAR): New inline function.
127         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
128
129 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * mule-charset.c (Vcharset_china3_jef): Renamed from
132         `Vcharset_japanese_jef_china3'.
133         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
134         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
135         `{MIN|MAX}_CHAR_JEF_CHINA3'..
136         (syms_of_mule_charset): Rename `china3-jef' from
137         `japanese-jef-china3'.
138         (complex_vars_of_mule_charset): Likewise; rename
139         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
140
141         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
142         `LEADING_BYTE_JEF_CHINA3'.
143         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
144         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
145
146 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * mule-charset.c (encode_builtin_char_1): Comment out special code
149         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
150
151         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
152         (MAX_CHAR_MOJIKYO_0): Comment out.
153         (MIN_CHAR_CBETA): Changed to 0x00E20000.
154         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
155         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
156         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
157
158 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
161         (Qideograph_cbeta): New variable.
162         (encode_builtin_char_1): Comment out special code for
163         coded-charset `mojikyo' and `japanese-jef-china3'.
164         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
165         (complex_vars_of_mule_charset): Add new coded-charset
166         `ideograph-cbeta'.
167
168         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
169         (MIN_CHAR_CBETA): New macro.
170         (MAX_CHAR_CBETA): New macro.
171
172 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
175         (LEADING_BYTE_JEF_CHINA3): New macro.
176         (MIN_CHAR_JEF_CHINA3): New macro.
177         (MAX_CHAR_JEF_CHINA3): Likewise.
178         (DECODE_CHAR): Fixed.
179
180 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
183         (Qjapanese_jef_china3): New variable.
184         (encode_builtin_char_1): Support `japanese-jef-china3'.
185         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
186         (complex_vars_of_mule_charset): Add new coded-charset
187         `japanese-jef-china3'.
188
189 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
192         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
193         94^4, 96^3, 96^4, 128^n and 256^n set.
194         (put_char_table): Use `XCHARSET_CELL_RANGE'.
195         (map_char_table): Likewise.
196
197 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
200         UTF-2000.
201
202 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
203
204         * chartab.h (get_char_id_table): New inline function.
205
206         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
207         function.
208
209 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * chartab.h (decode_char_table_range): New prototype in XEmacs
212         UTF-2000.
213         (put_char_id_table): New inline function in XEmacs UTF-2000.
214
215         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
216         function.
217         (decode_char_table_range): Delete static declaration in XEmacs
218         UTF-2000.
219
220 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * chartab.c (put_char_id_table): Use `put_char_table'.
223
224 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
227         (map_over_uint16_byte_table): Likewise.
228         (map_over_byte_table): Likewise.
229         (map_char_table): Modify for `map_over_uint8_byte_table',
230         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
231         UTF-2000.
232
233 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * chartab.c (struct map_char_table_for_charset_arg): New
236         structure.
237         (map_char_table_for_charset_fun): New function.
238         (map_char_table): Use `map_char_table' for encoding_table of
239         `range->charset'.
240
241 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * chartab.c (map_char_table): Check a character is found in
244         range->charset instead of non default value is defined in
245         char-table when range is CHARTAB_RANGE_ROW.
246
247 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * chartab.c (map_char_id_table): Deleted.
250         (Fmap_char_attribute): Use `map_char_table' instead of
251         `map_char_id_table'.
252
253 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
256         UTF-2000.
257         (update_syntax_table): Deleted in XEmacs UTF-2000.
258
259         * syntax.c (find_defun_start): Use `syntax_table' instead of
260         `mirror_syntax_table' in XEmacs UTF-2000.
261         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
262         UTF-2000.
263         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
264         XEmacs UTF-2000.
265         (Fmatching_paren): Likewise.
266         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
267         in XEmacs UTF-2000.
268         (find_start_of_comment): Likewise.
269         (find_end_of_comment): Likewise.
270         (Fforward_comment): Likewise.
271         (scan_lists): Likewise.
272         (char_quoted): Likewise.
273         (Fbackward_prefix_chars): Likewise.
274         (scan_sexps_forward): Likewise.
275         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
276         (update_syntax_table): Likewise.
277
278         * search.c (skip_chars): Use `syntax_table' instead of
279         `mirror_syntax_table' in XEmacs UTF-2000.
280         (wordify): Likewise.
281         (Freplace_match): Likewise.
282
283         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
284         `mirror_syntax_table' in XEmacs UTF-2000.
285         (WORDCHAR_P_UNSAFE): Likewise.
286         (re_match_2_internal): Likewise.
287
288         * font-lock.c (find_context): Use `buf->syntax_table' instead of
289         `buf->mirror_syntax_table' in XEmacs UTF-2000.
290
291         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
292         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
293
294         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
295         XEmacs UTF-2000.
296
297         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
298         UTF-2000.
299         (print_char_table): Print `default_value' in XEmacs UTF-2000.
300         (char_table_description): Delete `mirror_table' in XEmacs
301         UTF-2000.
302         (fill_char_table): Don't call `update_syntax_table' in XEmacs
303         UTF-2000.
304         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
305         (Fcopy_char_table): Likewise.
306         (put_char_table): Don't call `update_syntax_table' in XEmacs
307         UTF-2000.
308
309         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
310         `buf->mirror_syntax_table' in XEmacs UTF-2000.
311         (casify_region_internal): Likewise.
312
313         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
314
315         * buffer.c (common_init_complex_vars_of_buffer): Don't use
316         `mirror_syntax_table' in XEmacs UTF-2000.
317
318         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
319         `buf->mirror_syntax_table' in XEmacs UTF-2000.
320         (Fexpand_abbrev): Likewise.
321
322 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
325
326 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
329         (map_over_uint16_byte_table): Likewise.
330         (map_over_byte_table): Likewise.
331         (get_char_id_table): Refer `cit->default_value'.
332         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
333         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
334         of character-id ranges.
335         (mark_char_table): Mark `ct->default_value'.
336         (char_table_description): Add `default_value'.
337         (fill_char_table): Use `default_value'.
338         (decode_char_table_range): Decode `nil' as
339         `CHARTAB_RANGE_DEFAULT'.
340         (get_char_id_table): Refer `cit->default_value'.
341         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
342         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
343         temporary hack; check value of char-table is bound or not.
344         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
345
346         * chartab.h (struct Lisp_Char_Table): Add new member
347         `default_value' in XEmacs UTF-2000.
348         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
349         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
350         UTF-2000.
351
352 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * chartab.h (Lisp_Char_ID_Table): Deleted.
355
356         * chartab.c (char_table_description): Fix typo.
357         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
358         `Lisp_Char_ID_Table'.
359
360 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
363         `CHAR_ID_TABLE_P'.
364
365         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
366         `CHAR_ID_TABLE_P'.
367
368         * chartab.h (XCHAR_ID_TABLE): Deleted.
369         (XSETCHAR_ID_TABLE): Deleted.
370         (CHAR_ID_TABLE_P): Deleted.
371
372         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
373         `CHAR_ID_TABLE_P'.
374         (Fget_composite_char): Likewise.
375         (put_char_table): Likewise.
376         (add_char_attribute_alist_mapper): Fixed.
377         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
378         `CHAR_ID_TABLE_P'.
379         (Fget_char_attribute): Likewise.
380         (Fget_char_attribute): Likewise.
381         (Fmap_char_attribute): Likewise.
382
383         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
384         `CHAR_ID_TABLE_P'.
385         (encode_char_1): Likewise.
386
387 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
388
389         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
390         `XCHAR_ID_TABLE'.
391
392         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
393         instead of `XCHAR_ID_TABLE'.
394         (remove_char_ccs): Likewise.
395
396         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
397         `XCHAR_ID_TABLE'.
398         (Fget_composite_char): Likewise.
399         (Fchar_variants): Likewise.
400         (put_char_table): Likewise.
401         (add_char_attribute_alist_mapper): Likewise.
402         (Fchar_attribute_alist): Likewise.
403         (Fget_char_attribute): Likewise.
404         (Fput_char_attribute): Likewise.
405         (Fmap_char_attribute): Likewise.
406         (Fmap_char_attribute): Likewise.
407
408         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
409         `XCHAR_ID_TABLE'.
410         (encode_char_1): Likewise.
411
412 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
413
414         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
415         `Lisp_Char_ID_Table'.
416         (mark_char_id_table): Deleted.
417         (print_char_id_table): Likewise.
418         (char_id_table_equal): Likewise.
419         (char_id_table_hash): Likewise.
420         (char_id_table_description): Likewise.
421         (char_id_table): Likewise.
422         (make_char_id_table): Use `Fmake_char_table' and
423         `fill_char_table'.
424         (get_char_id_table): Use `Lisp_Char_Table' instead of
425         `Lisp_Char_ID_Table'.
426         (put_char_id_table): Likewise.
427         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
428         `XCHAR_ID_TABLE'.
429         (Fremove_char_attribute): Likewise.
430         (syms_of_chartab): Don't define type `char-id-table'.
431
432         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
433         (char_id_table): Likewise.
434         (GC_CHAR_ID_TABLE_P): Likewise.
435         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
436         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
437         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
438         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
439         (get_char_id_table): Use `Lisp_Char_Table' instead of
440         `Lisp_Char_ID_Table'.
441         (put_char_id_table_0): Likewise.
442         (put_char_id_table): Likewise.
443
444 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
445
446         * chartab.h: Lisp_Byte_Table related codes are moved from
447         chartab.h.
448
449         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
450
451 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
452
453         * chartab.h: Don't include "chartab.h".
454         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
455         (Lisp_Char_ID_Table): Likewise.
456         (char_id_table): Likewise.
457         (XCHAR_ID_TABLE): Likewise.
458         (XSETCHAR_ID_TABLE): Likewise.
459         (CHAR_ID_TABLE_P): Likewise.
460         (GC_CHAR_ID_TABLE_P): Likewise.
461         (get_char_id_table): Likewise.
462
463         * char-ucs.h: Include "chartab.h".
464         (struct Lisp_Char_ID_Table): Moved to chartab.h.
465         (Lisp_Char_ID_Table): Likewise.
466         (char_id_table): Likewise.
467         (XCHAR_ID_TABLE): Likewise.
468         (XSETCHAR_ID_TABLE): Likewise.
469         (CHAR_ID_TABLE_P): Likewise.
470         (GC_CHAR_ID_TABLE_P): Likewise.
471         (get_char_id_table): Likewise.
472
473 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
474
475         * chartab.c (copy_uint8_byte_table): New function.
476         (copy_uint16_byte_table): New function.
477         (copy_byte_table): New function.
478         (map_over_uint8_byte_table): Modify to avoid huge numbers of
479         characters to call.
480         (map_over_uint16_byte_table): Likewise.
481         (map_over_byte_table): Likewise.
482         (get_byte_table): Move prototype to chartab.h.
483         (put_byte_table): Likewise.
484         (put_char_id_table_0): Moved to chartab.h.
485         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
486         (char_table_entry_equal): Likewise.
487         (char_table_entry_hash): Likewise.
488         (char_table_entry_description): Likewise.
489         (char_table_entry): Likewise.
490         (make_char_table_entry): Likewise.
491         (copy_char_table_entry): Likewise.
492         (get_non_ascii_char_table_value): Likewise.
493         (map_over_charset_ascii): Likewise.
494         (map_over_charset_control_1): Likewise.
495         (map_over_charset_row): Likewise.
496         (map_over_other_charset): Likewise.
497         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
498         (print_char_table): Likewise.
499         (char_table_equal): Likewise.
500         (char_table_hash): Likewise.
501         (char_table_description): Likewise.
502         (fill_char_table): Likewise.
503         (Fcopy_char_table): Likewise.
504         (get_char_table): Likewise.
505         (Fget_range_char_table): Likewise.
506         (put_char_table): Likewise.
507         (map_char_table): Likewise.
508         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
509         UTF-2000.
510
511 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
512
513         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
514         `Vauto_fill_chars' in XEmacs UTF-2000.
515
516         * chartab.h (get_byte_table): New prototype [moved from
517         chartab.c].
518         (put_byte_table): Likewise [moved from chartab.c].
519         (put_char_id_table_0): New inline function [moved from chartab.c].
520         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
521         (Lisp_Char_Table_Entry): Likewise.
522         (char_table_entry): Likewise.
523         (XCHAR_TABLE_ENTRY): Likewise.
524         (XSETCHAR_TABLE_ENTRY): Likewise.
525         (CHAR_TABLE_ENTRYP): Likewise.
526         (CHECK_CHAR_TABLE_ENTRY): Likewise.
527         (NUM_ASCII_CHARS): Likewise.
528         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
529         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
530
531 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * chartab.c (get_char_id_table): Change interface.
534         (put_char_id_table_0): New function.
535         (put_char_id_table): Change interface; new implementation.
536         (Fget_composite_char): Modify for interface change of
537         `get_char_id_table'.
538         (Fchar_variants): Likewise.
539         (add_char_attribute_alist_mapper): Likewise.
540         (Fchar_attribute_alist): Likewise.
541         (Fget_char_attribute): Likewise.
542         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
543         as same as character as the first argument like `put-char-table';
544         modify for interface change of `put_char_id_table'.
545         (Fremove_char_attribute): Modify for interface change of
546         `put_char_id_table'.
547
548 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * text-coding.c: Sync up with XEmacs 21.2.41.
551         (COMPOSE_ADD_CHAR): Modify for interface change of
552         `get_char_id_table'.
553
554         * mule-charset.c (put_char_ccs_code_point): Modify for interface
555         change of `put_char_id_table'.
556         (remove_char_ccs): Likewise.
557
558         * chartab.h (put_char_id_table): Change interface.
559
560         * char-ucs.h (get_char_id_table): Change interface.
561         (charset_code_point): Modify for interface change of
562         `get_char_id_table'.
563         (encode_char_1): Likewise.
564
565 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
568         argument `ccs'.
569         (map_over_uint16_byte_table): Likewise.
570         (map_over_byte_table): Likewise.
571         (map_char_id_table): Add new argument `range' like
572         `map_char_table'.
573         (Fmap_char_attribute): Add new argument `range' like
574         `Fmap_char_table'.
575
576 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
577
578         * chartab.c (map_over_uint8_byte_table): Change interface of
579         mapping function to use struct chartab_range instead of Emchar.
580         (map_over_uint16_byte_table): Likewise.
581         (map_over_byte_table): Likewise.
582         (map_char_id_table): Likewise.
583         (struct slow_map_char_id_table_arg): Deleted.
584         (slow_map_char_id_table_fun): Deleted.
585         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
586         function `slow_map_char_table_fun' instead of struct
587         `slow_map_char_id_table_arg' and function
588         `slow_map_char_id_table_fun'.
589
590 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
591
592         * mule-charset.c: Move char-it-table related codes to chartab.c.
593         (Vutf_2000_version): Moved to chartab.c.
594         (Fdefine_char): Likewise.
595         (Ffind_char): Likewise.
596         (syms_of_mule_charset): Move types `uint8-byte-table',
597         `uint16-byte-table', `byte-table' and `char-id-table' to
598         chartab.c; move functions `char_attribute_list,
599         `find_char_attribute_table, `char_attribute_alist,
600         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
601         `map_char_attribute, `define_char, `find_char, `char_variants and
602         `get_composite_char to chartab.c; move symbols `=>ucs',
603         `->decomposition', `compat', `isolated', `initial', `medial',
604         `final', `vertical', `noBreak', `fraction', `super', `sub',
605         `circle', `square', `wide', `narrow', `small' and `font' to
606         chartab.c.
607         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
608         setting codes for `Vcharacter_composition_table' and
609         `Vcharacter_variant_table' to chartab.c.
610         (complex_vars_of_mule_charset): Move setting code for
611         `Vchar_attribute_hash_table' to chartab.c.
612
613         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
614         (make_char_id_table): New prototype.
615         (put_char_id_table): Likewise.
616         (Fget_char_attribute): Likewise.
617
618         * chartab.c: Move char-id-table related code from mule-charset.c.
619         (Vutf_2000_version): Moved from mule-charset.c.
620
621         * char-ucs.h (Qucs): New external variable.
622         (put_char_ccs_code_point): New prototype.
623         (remove_char_ccs): Likewise.
624
625 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
626
627         * mule-charset.c (Vcharset_ucs_jis): New variable.
628         (Qucs_jis): Likewise.
629         (syms_of_mule_charset): Add new symbol `ucs-jis'.
630         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
631
632         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
633
634 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * mule-charset.c (map_over_uint8_byte_table): New function.
637         (map_over_uint16_byte_table): Likewise.
638         (map_over_byte_table): Likewise.
639         (map_char_id_table): Likewise.
640         (slow_map_char_id_table_fun): Likewise.
641         (Fmap_char_attribute): Likewise.
642         (syms_of_mule_charset): Add new function `map-char-attribute'.
643
644 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
645
646         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
647         (syms_of_mule_charset): Add new function `find-char'.
648
649 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
652         XEmacs UTF-2000.
653         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
654         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
655         XEmacs UTF-2000.
656         (complex_vars_of_mule_charset): Add new coded-charset
657         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
658         `ideograph-gt-pj-*'.
659
660         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
661
662 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * mule-charset.c (encode_builtin_char_1): Purge codes about
665         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
666         {MIN|MAX}_CHAR_HEBREW.
667         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
668         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
669
670         * char-ucs.h (MIN_CHAR_GREEK): Purged.
671         (MAX_CHAR_GREEK): Purged.
672         (MIN_CHAR_CYRILLIC): Purged.
673         (MAX_CHAR_CYRILLIC): Purged.
674         (MIN_CHAR_HEBREW): Commented out.
675         (MAX_CHAR_HEBREW): Likewise.
676
677 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * mule-charset.c (Qto_ucs): New variable.
680         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
681         (Fdefine_char): Likewise.
682         (syms_of_mule_charset): Add new symbol `=>ucs'.
683
684 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * mule-charset.c (Fdecode_char): Fixed.
687
688 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
689
690         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
691         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
692         "tcvn5712-1".
693
694 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * mule-charset.c (Vcharset_ucs_big5): New variable.
697         (Qucs_big5): Likewise.
698         (syms_of_mule_charset): Add new symbol `ucs-big5'.
699         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
700
701         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
702
703 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * mule-charset.c (decode_builtin_char): Check Big5 code range
706         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
707
708 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
711         (Qchinese_gb12345): Likewise.
712         (Fdecode_builtin_char): Fixed.
713         (syms_of_mule_charset): Add `chinese-gb12345'.
714         (complex_vars_of_mule_charset): Add coded-charset
715         `chinese-gb12345'.
716
717         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
718         (LEADING_BYTE_CHINESE_GB12345): New macro.
719
720 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
723         and `latin-viscii-upper' for `latin-viscii'.
724
725 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule-charset.c (Fdecode_builtin_char): Comment out
728         regularization code for ISO-IR GR representation.
729
730 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * mule-charset.c (decode_builtin_char): New function; renamed from
733         `make_builtin_char'; return -1 instead of signal.
734         (Fdecode_builtin_char): Use `decode_builtin_char'.
735
736         * char-ucs.h (decode_builtin_char): New prototype; renamed from
737         `make_builtin_char'.
738         (DECODE_CHAR): Use `decode_builtin_char' instead of
739         `make_builtin_char'; use mapping table of `chinese-big5' for
740         `chinese-big5-{1,2}'.
741
742 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * text-coding.c (char_encode_big5): New function.
745         (char_finish_big5): Likewise.
746         (reset_encoding_stream): Use `char_encode_big5' and
747         `char_finish_big5' for CODESYS_BIG5.
748         (mule_encode): Don't use `encode_coding_big5'.
749         (encode_coding_big5): Deleted.
750
751 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
754         0x81- in XEmacs UTF-2000.
755         (detect_coding_big5): Likewise.
756
757 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
758
759         * mule-charset.c (Fdefine_char): Don't use a CCS property to
760         generate character-id if the CCS property does not have
761         corresponding predefined character.
762         (make_builtin_char): Return -1 if corresponding predefined
763         character is not found.
764         (Fdecode_char): Return nil if corresponding character is not
765         found.
766         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
767         don't map to builtin ucs space.
768
769 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
772         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
773
774 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * mule-charset.c (Vcharset_ideograph_gt): New variable.
777         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
778         (Qideograph_gt): Likewise.
779         (Qideograph_gt_pj_{1..11}): Likewise.
780         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
781         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
782         `ideograph-gt-pj-11'.
783         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
784         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
785         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
786
787         * char-ucs.h (LEADING_BYTE_GT): New macro.
788         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
789         (MIN_CHAR_GT): Likewise.
790         (MAX_CHAR_GT): Likewise.
791
792 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
793
794         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
795         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
796
797         * doprnt.c (unsigned_int_converters): Add `c'.
798         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
799
800         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
801         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
802         `MIN_CHAR_MOJIKYO'.
803         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
804         (MAX_CHAR_MOJIKYO_0): New macro.
805         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
806
807 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * mule-charset.c (Fdefine_char): Delete cemented out code.
810         (encode_builtin_char_1): Modify for new allocation of builtin
811         Mojikyo characters.
812
813         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
814
815 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * mule-charset.c (Vcharset_ucs_cns): New variable.
818         (Qucs_cns): New variable.
819         (syms_of_mule_charset): Add new symbol `ucs-cns'.
820         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
821
822 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
823
824         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
825
826 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
827
828         * search.c (search_buffer): Make `charset_base_code' as
829         character-id >> 6 to eliminate the corresponding last byte in
830         UTF-8 representation [I'm not sure it is right thing].
831         (boyer_moore): Likewise.
832
833 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
834
835         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
836         representation in MULE.
837
838 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * text-coding.c (Fmake_coding_system): Use
841         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
842         `EXTERNAL_PROPERTY_LIST_LOOP'.
843
844 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * text-coding.c (decode_output_utf8_partial_char): New function.
847         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
848
849 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
850
851         * text-coding.c (decode_coding_utf8): Output original byte
852         sequence if it is broken; change order of conditions.
853
854         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
855         of conditions.
856
857         * mb-multibyte.h (BYTE_ASCII_P):
858         Use bit ops for char-signedness safety.
859         (BYTE_C0_P): Use bit ops for char-signedness safety.
860         (BYTE_C1_P): Use bit ops for char-signedness safety.
861
862         * character.h: (XCHAR_OR_CHAR_INT):
863         Always use inline function.
864         Remove redundant type checking assert() - XINT will abort quite
865         nicely.
866
867 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
868
869         * text-coding.c: (Fencode_shift_jis_char):
870         (Fencode_big5_char):
871         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
872         Replace 0 with '\0' when working with bytes.
873         Replace initial "(" with "\(" in docstrings.
874
875         (Fmake_coding_system):
876         When type is ccl and value is vector, register it with a proper
877         symbol.  And checks whether the given ccl program is valid.
878         (mule_decode): When calling ccl_driver, if src indicates
879         NULL pointer, set an empty string instead.
880         (mule_encode): Likewise.
881
882         (detect_eol_type):
883         (detect_coding_sjis):
884         (decode_coding_sjis):
885         (detect_coding_big5):
886         (decode_coding_big5):
887         (detect_coding_ucs4):
888         (decode_coding_ucs4):
889         (detect_coding_utf8):
890         (decode_coding_utf8):
891         (detect_coding_iso2022):
892         (decode_coding_iso2022):
893         (decode_coding_no_conversion):
894         (mule_decode):
895         Make all detecting and decoding functions take an Extbyte * arg.
896         (text_encode_generic):
897         (encode_coding_big5):
898         (encode_coding_no_conversion):
899         (mule_encode):
900         Make all encoding functions take a Bufbyte * arg.
901         Use size_t instead of unsigned int for memory sizes.
902         Only cast to unsigned char whenever dereferencing Extbyte *.
903
904         (struct lrecord_description fcd_description_1): Use countof.
905         (complex_vars_of_file_coding):
906         Use countof instead of sizeof.
907         Use CHECK_NATNUM instead of CHECK_INT.
908
909 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * mule-charset.c (Fget_char_attribute): Add new optional argument
912         `default-value'.
913         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
914         (remove_char_ccs): Likewise.
915
916 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
917
918         * text-coding.c (char_encode_shift_jis): New implementation in
919         UTF-2000.
920         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
921         ...)'.
922
923         * mule-charset.c (Vcharset_chinese_big5): New variable in
924         UTF-2000.
925         (Qchinese_big5): New variable in UTF-2000.
926         (BIG5_SAME_ROW): New macro in UTF-2000.
927         (make_builtin_char): Use builtin characters of
928         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
929         characters of `Vcharset_chinese_big5'.
930         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
931         (complex_vars_of_mule_charset): Add new coded-charset
932         `chinese-big5' in UTF-2000.
933
934         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
935         (Vcharset_chinese_big5): New external variable declaration.
936         (Vcharset_japanese_jisx0208_1990): Likewise.
937
938 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
941         function.
942         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
943
944 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
947         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
948         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
949         `mojikyo-pj-*'.
950
951 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
954
955 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
958         to 0.17.
959
960 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
961
962         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
963         for `CHARSET_BY_ATTRIBUTES'.
964         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
965         `CHARSET_BY_ATTRIBUTES'.
966
967         * text-coding.c (struct decoding_stream): Rename member `CH' to
968         `CPOS'.
969         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
970         (decode_coding_sjis): Likewise.
971         (decode_coding_big5): Likewise.
972         (decode_coding_ucs4): Likewise.
973         (decode_coding_utf8): Likewise.
974         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
975         `CHARSET_BY_ATTRIBUTES'.
976         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
977         `str->counter'; decode 3, 4 bytes sets.
978         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
979         sets.
980         (decode_coding_no_conversion): Use `str->cpos' instead of
981         `str->ch'.
982
983         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
984         (Qmojikyo_2022_1): New variable.
985         (make_charset): Don't use `CHARSET_TYPE_*'.
986         (range_charset_code_point): Support coded-charset
987         `mojikyo-2022-1'.
988         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
989         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
990         `CHARSET_BY_ATTRIBUTES'.
991         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
992         `CHARSET_BY_ATTRIBUTES'.
993         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
994         (complex_vars_of_mule_charset): Add new coded-charset
995         `mojikyo-2022-1'.
996
997         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
998         interface; changed to inline function.
999
1000         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1001         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1002         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1003         (CHARSET_TYPE_94): Deleted.
1004         (CHARSET_TYPE_94X94): Deleted.
1005         (CHARSET_TYPE_96): Deleted.
1006         (CHARSET_TYPE_96X96): Deleted.
1007         (CHARSET_TYPE_128): Deleted.
1008         (CHARSET_TYPE_128X128): Deleted.
1009         (CHARSET_TYPE_256): Deleted.
1010         (CHARSET_TYPE_256X256): Deleted.
1011         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1012         to inline function.
1013         (DECODE_MOJIKYO_2022): New inline function.
1014         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1015         `Vcharset_mojikyo_2022_1'.
1016
1017 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1020         instead of `EQ'.
1021         (put_byte_table): Likewise.
1022         (char_id_table_equal): Use `get_byte_table' [new implementation].
1023
1024 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1025
1026         * mule-charset.c: Include <limits.h> in UTF-2000.
1027         (BT_UINT8_MIN): New macro in UTF-2000.
1028         (BT_UINT8_MAX): New macro in UTF-2000.
1029         (BT_UINT8_t): New macro in UTF-2000.
1030         (BT_UINT8_nil): New macro in UTF-2000.
1031         (BT_UINT8_unbound): New macro in UTF-2000.
1032         (INT_UINT8_P): New inline function in UTF-2000.
1033         (UINT8_VALUE_P): New inline function in UTF-2000.
1034         (UINT8_ENCODE): New inline function in UTF-2000.
1035         (UINT8_DECODE): New inline function in UTF-2000.
1036         (mark_uint8_byte_table): New function in UTF-2000.
1037         (print_uint8_byte_table): New function in UTF-2000.
1038         (uint8_byte_table_equal): New function in UTF-2000.
1039         (uint8_byte_table_hash): New function in UTF-2000.
1040         (make_uint8_byte_table): New function in UTF-2000.
1041         (uint8_byte_table_same_value_p): New function in UTF-2000.
1042         (BT_UINT16_MIN): New macro in UTF-2000.
1043         (BT_UINT16_MAX): New macro in UTF-2000.
1044         (BT_UINT16_t): New macro in UTF-2000.
1045         (BT_UINT16_nil): New macro in UTF-2000.
1046         (BT_UINT16_unbound): New macro in UTF-2000.
1047         (INT_UINT16_P): New inline function in UTF-2000.
1048         (UINT16_VALUE_P): New inline function in UTF-2000.
1049         (UINT16_ENCODE): New inline function in UTF-2000.
1050         (UINT16_DECODE): New inline function in UTF-2000.
1051         (UINT8_TO_UINT16): New inline function in UTF-2000.
1052         (mark_uint16_byte_table): New function in UTF-2000.
1053         (print_uint16_byte_table): New function in UTF-2000.
1054         (uint16_byte_table_equal): New function in UTF-2000.
1055         (uint16_byte_table_hash): New function in UTF-2000.
1056         (make_uint16_byte_table): New function in UTF-2000.
1057         (uint16_byte_table_same_value_p): New function in UTF-2000.
1058         (print_byte_table): New function in UTF-2000.
1059         (byte-table): Use `print_byte_table' as printer.
1060         (make_byte_table): Delete second argument `older'.
1061         (byte_table_same_value_p): New function in UTF-2000.
1062         (copy_byte_table): Deleted.
1063         (get_byte_table): New function in UTF-2000.
1064         (put_byte_table): New function in UTF-2000.
1065         (print_char_id_table): New function in UTF-2000.
1066         (char-id-table): Use `print_char_id_table' as printer.
1067         (make_char_id_table): Delete second argument `older'.
1068         (get_char_id_table): Use `get_byte_table [new implementation].
1069         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1070         implementation].
1071         (Ffind_char_attribute_table): New function in UTF-2000.
1072         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1073         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1074         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1075         (syms_of_mule_charset): Add new function
1076         `find-char-attribute-table' in UTF-2000.
1077
1078         * lrecord.h (enum lrecord_type): Add
1079         `lrecord_type_uint16_byte_table' and
1080         `lrecord_type_uint8_byte_table'.
1081
1082         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1083         (Lisp_Uint8_Byte_Table): New type.
1084         (XUINT8_BYTE_TABLE): New macro.
1085         (XSETUINT8_BYTE_TABLE): New macro.
1086         (UINT8_BYTE_TABLE_P): New macro.
1087         (GC_UINT8_BYTE_TABLE_P): New macro.
1088         (struct Lisp_Uint16_Byte_Table): New structure.
1089         (Lisp_Uint16_Byte_Table): New type.
1090         (XUINT16_BYTE_TABLE): New macro.
1091         (XSETUINT16_BYTE_TABLE): New macro.
1092         (UINT16_BYTE_TABLE_P): New macro.
1093         (GC_UINT16_BYTE_TABLE_P): New macro.
1094
1095 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1096
1097         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1098         (Vcharacter_ideographic_strokes_table): Deleted.
1099         (Vcharacter_total_strokes_table): Deleted.
1100         (Vcharacter_morohashi_daikanwa_table): Deleted.
1101         (Vcharacter_decomposition_table): Deleted.
1102         (Qname): Deleted because it is duplicated.
1103         (Qideographic_radical): Deleted.
1104         (Qideographic_strokes): Deleted.
1105         (Qtotal_strokes): Deleted.
1106         (Qmorohashi_daikanwa): Deleted.
1107         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1108         `ideographic-radical', `ideographic-strokes', `total-strokes',
1109         `morohashi-daikanwa' and `->decomposition'.
1110         (Fget_char_attribute): Likewise.
1111         (Fput_char_attribute): Likewise; use `make-vector' instead of
1112         `make_older_vector' for `->decomposition' value.
1113         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1114         `ideograph-daikanwa'.
1115         (syms_of_mule_charset): Delete builtin symbols `name',
1116         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1117         `morohashi-daikanwa'.
1118         (vars_of_mule_charset): Don't setup
1119         `Vcharacter_ideographic_radical_table',
1120         `Vcharacter_ideographic_strokes_table',
1121         `Vcharacter_total_strokes_table',
1122         `Vcharacter_morohashi_daikanwa_table' and
1123         `Vcharacter_decomposition_table'.
1124
1125 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1126
1127         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1128         `make_older_vector', `make_vector_newer_1' and
1129         `make_vector_newer'.
1130
1131         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1132         `make_older_vector' and `make_vector_newer'.
1133
1134         * config.h.in (HAVE_GGC): New macro.
1135
1136 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * mule-charset.c (struct char_attribute_list_closure): New
1139         structure in UTF-2000.
1140         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1141         (Fchar_attribute_list): Likewise.
1142         (Fset_charset_mapping_table): Use `make_vector_newer'.
1143         (Fdecode_builtin_char): New function in UTF-2000.
1144         (syms_of_mule_charset): Add new function `char-attribute-list' and
1145         `decode-builtin-char' in UTF-2000.
1146
1147         * lisp.h (make_vector_newer): New prototype.
1148
1149         * alloc.c (make_vector_newer_1): New function.
1150         (make_vector_newer): New function.
1151
1152 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1153
1154         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1155         50100)'.
1156
1157 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1158
1159         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1160         (Vcharacter_attribute_table): Deleted.
1161         (Vcharacter_name_table): Deleted.
1162         (put_char_attribute): Deleted.
1163         (remove_char_attribute): Deleted.
1164         (struct char_attribute_alist_closure): New structure.
1165         (add_char_attribute_alist_mapper): New function.
1166         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1167         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1168         (Fget_char_attribute): Likewise.
1169         (Fput_char_attribute): Likewise.
1170         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1171         of `remove_char_attribute'.
1172         (Fdefine_char): Return character.
1173         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1174         and `Vcharacter_name_table'.
1175         (complex_vars_of_mule_charset): Likewise
1176         `Vchar_attribute_hash_table'.
1177
1178 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1179
1180         * character.h (CHARC_CHARSET): New macro.
1181         (CHARC_CHARSET_ID): New macro.
1182         (CHARC_CODE_POINT): New macro.
1183         (CHARC_COLUMNS): New macro.
1184         (CHARC_TO_CHAR): New inline function.
1185         (CHARC_EQ): New inline function.
1186         (CHARC_ASCII_EQ): New inline function.
1187         (CHARC_IS_SPACE): New inline function.
1188         (ASCII_TO_CHARC): New inline function.
1189
1190         * char-ucs.h (encode_char_2): Deleted.
1191         (ENCODE_CHAR): Use `encode_char_1' again.
1192         (breakup_char_1): Likewise.
1193         (CHAR_TO_CHARC): New inline function.
1194
1195         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1196
1197 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1198
1199         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1200         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1201         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1202         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1203         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1204         `CHARC_IS_SPACE'.
1205         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1206
1207         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1208         `CHARC_CODE_POINT'.
1209         (x_output_display_block): Use `CHARC_CHARSET' and
1210         `CHARC_ASCII_EQ'.
1211
1212         * redisplay-tty.c (tty_output_display_block): Use
1213         `CHARC_ASCII_EQ'.
1214         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1215
1216         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1217
1218         * insdel.c (find_charsets_in_charc_string): Use
1219         `CHARC_CHARSET_ID'.
1220         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1221         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1222         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1223         (convert_charc_string_into_malloced_string): Likewise.
1224
1225 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1228         instead of <Emchar_dynarr *> for buf; use
1229         `convert_bufbyte_string_into_charc_dynarr' instead of
1230         `convert_bufbyte_string_into_emchar_dynarr'; use
1231         `find_charsets_in_charc_string' instead of
1232         `find_charsets_in_emchar_string'.
1233
1234         * redisplay.h:
1235         - Include "character.h".
1236         (struct rune): New member `cglyph'; delete member `chr'.
1237
1238         * redisplay.c (redisplay_text_width_charc_string): New function;
1239         delete `redisplay_text_width_emchar_string'.
1240         (rtw_charc_dynarr): New variable; renamed from
1241         `rtw_emchar_dynarr'.
1242         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1243         `rtw_emchar_dynarr'; use
1244         `convert_bufbyte_string_into_charc_dynarr' instead of
1245         `convert_bufbyte_string_into_emchar_dynarr'; use
1246         `redisplay_text_width_charc_string' instead of
1247         `redisplay_text_width_emchar_string'.
1248         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1249         instead of `rtw_emchar_dynarr'; use
1250         `convert_bufbyte_string_into_charc_dynarr' instead of
1251         `convert_bufbyte_string_into_emchar_dynarr'.
1252         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1253         `redisplay_text_width_charc_string' instead of
1254         `redisplay_text_width_emchar_string'.
1255         (create_text_block): Modify for <struct rune> change.
1256         (generate_formatted_string_db): Likewise.
1257         (create_string_text_block): Likewise.
1258         (pixel_to_glyph_translation): Likewise.
1259
1260         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1261         instead of <const Emchar *>.
1262         (x_text_width): Likewise.
1263         (x_output_display_block): Use <Charc_dynarr *> instead
1264         <Emchar_dynarr *>; modify for <structure rune> change.
1265         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1266         *>.
1267
1268         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1269         <const Emchar *>; use `charc_string_displayed_columns' instead of
1270         `emchar_string_displayed_columns'.
1271         (tty_output_display_block): Use <Charc_dynarr *> instead of
1272         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1273         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1274         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1275         `tty_output_emchar_dynarr_dynarr'.
1276         (tty_output_charc_dynarr): New function; delete
1277         `tty_output_charc_dynarr'.
1278
1279         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1280         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1281         <Emchar_dynarr *> for buf; use
1282         `convert_bufbyte_string_into_charc_dynarr' instead of
1283         `convert_bufbyte_string_into_emchar_dynarr'.
1284
1285         * frame.c (title_string_charc_dynarr): New variable; renamed from
1286         `title_string_emchar_dynarr'.
1287         (generate_title_string): Use `title_string_charc_dynarr' instead
1288         of `title_string_emchar_dynarr'; use
1289         `convert_charc_string_into_malloced_string' instead of
1290         `convert_emchar_string_into_malloced_string'.
1291         (init_frame): Use `title_string_charc_dynarr' instead of
1292         `title_string_emchar_dynarr'.
1293
1294         * console.h:
1295         - Include "character.h".
1296         (struct console_methods): Use <const Charc *> instead of <const
1297         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1298         <Emchar_dynarr *> in output_string_method.
1299
1300         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1301         <Emchar_dynarr *>.
1302
1303         * console-stream.c (stream_text_width): Use <const Charc *>
1304         instead of <const Emchar *>.
1305
1306         * character.h (Charc_dynarr): New type.
1307
1308         * char-ucs.h (structure Charc): New structure; define new type
1309         `Charc'.
1310
1311         * char-lb.h (DECODE_CHAR): New inline function.
1312         (encode_char_1): New inline function.
1313         (ENCODE_CHAR): New macro.
1314         (structure Charc): New structure; define new type `Charc'.
1315
1316         * char-1byte.h (Vcharset_control_1): New macro.
1317         (Vcharset_latin_iso8859_1): New macro.
1318         (DECODE_CHAR): New inline function.
1319         (encode_char_1): New inline function.
1320         (ENCODE_CHAR): New macro.
1321         (structure Charc): New structure; define new type `Charc'.
1322
1323         * insdel.c (find_charsets_in_charc_string): New function; delete
1324         `find_charsets_in_emchar_string'.
1325         (charc_string_displayed_columns): New function; delete
1326         `emchar_string_displayed_columns'.
1327         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1328         `convert_bufbyte_string_into_emchar_dynarr'.
1329         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1330         `convert_charc_string_into_bufbyte_dynarr'.
1331         (convert_charc_string_into_malloced_string): New function; delete
1332         `convert_charc_string_into_malloced_string'.
1333
1334         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1335         `find_charsets_in_emchar_string'.
1336         (charc_string_displayed_columns): New prototype; delete
1337         `emchar_string_displayed_columns'.
1338         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1339         `convert_charc_string_into_bufbyte_dynarr'.
1340         (convert_charc_string_into_malloced_string): New prototype; delete
1341         `convert_charc_string_into_malloced_string'.
1342
1343 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1344
1345         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1346
1347 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1348
1349         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1350
1351         * char-ucs.h: Use <short> for <Charset_ID>.
1352
1353         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1354         <Charset_ID>.
1355
1356 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1357
1358         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1359         to 0.16.
1360
1361 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1362
1363         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1364         variable.
1365         (Qmorohashi_daikanwa): New variable.
1366         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1367         for `morohashi-daikanwa' attribute.
1368         (Fget_char_attribute): Likewise.
1369         (Fput_char_attribute): Likewise.
1370         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1371         has the same value of `ideograph-daikanwa'.
1372         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1373         (vars_of_mule_charset): Setup
1374         `Vcharacter_morohashi_daikanwa_table'.
1375
1376 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1377
1378         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1379         attributes.
1380         (add_charset_to_list_mapper): Add `key' instead of
1381         `XCHARSET_NAME (value)' to return aliases.
1382
1383 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1384
1385         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1386         variable.
1387         (Vcharacter_ideographic_strokes_table): New variable.
1388         (Qideographic_radical): New variable.
1389         (Qideographic_strokes): New variable.
1390         (Fchar_attribute_alist): Use
1391         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1392         attribute; use `Vcharacter_ideographic_strokes_table' for
1393         `ideographic-strokes' attribute.
1394         (Fget_char_attribute): Likewise.
1395         (Fput_char_attribute): Likewise.
1396         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1397         `ideographic-strokes'.
1398         (vars_of_mule_charset): Setup
1399         `Vcharacter_ideographic_radical_table' and
1400         `Vcharacter_ideographic_strokes_table'.
1401
1402 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1405         (Qtotal_strokes): New variable.
1406         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1407         `total-strokes' attribute.
1408         (Fget_char_attribute): Likewise.
1409         (Fput_char_attribute): Likewise.
1410         (syms_of_mule_charset): Add new symbol `total-strokes'.
1411         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1412
1413 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1414
1415         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1416         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1417         are found.
1418         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1419         `->decomposition' attribute.
1420         (Fput_char_attribute): Likewise.
1421         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1422
1423 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1424
1425         * mule-charset.c (decoding_table_check_elements): New function.
1426         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1427
1428 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * mule-charset.c (Fset_charset_mapping_table): Use
1431         `put_char_ccs_code_point'.
1432
1433 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * mule-charset.c (decoding_table_put_char): New inline function.
1436         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1437
1438 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1441         (XCHARSET_BYTE_SIZE): New macro.
1442         (decoding_table_remove_char): New inline function.
1443         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1444         `decoding_table_remove_char'.
1445         (remove_char_ccs): Use `decoding_table_remove_char'.
1446         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1447
1448 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1449
1450         * mule-charset.c (Vcharacter_name_table): New variable.
1451         (Qname): New variable.
1452         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1453         attribute.
1454         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1455         `Vcharacter_name_table' for `name' attribute.
1456         (Fremove_char_attribute): Use function `remove_char_ccs'.
1457         (put_char_ccs_code_point): New function.
1458         (remove_char_ccs): New function.
1459         (syms_of_mule_charset): Add new symbol `name'.
1460         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1461
1462 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * mule-charset.c (make_byte_table): Add new argument `older'.
1465         (make_char_id_table): Likewise.
1466         (copy_char_id_table): Comment out because it is not used.
1467         (put_char_id_table): Modify for `make_byte_table'.
1468         (Fput_char_attribute): Make encoding_table as older object;
1469         inherit older bit of `Vcharacter_composition_table'.
1470         (mark_charset): Don't mark `cs->encoding_table'.
1471         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1472         normal object; make `Vcharacter_composition_table' as an older
1473         object; delete staticpro for `Vcharacter_composition_table'; make
1474         `Vcharacter_variant_table' as a normal object.
1475
1476         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1477         (mark_object): Don't check older object in UTF-2000.
1478
1479         * lrecord.h (struct lrecord_header): Add new member `older' in
1480         UTF-2000.
1481         (set_lheader_implementation): Setup `SLI_header->older' in
1482         UTF-2000.
1483         (set_lheader_older_implementation): New macro in UTF-2000.
1484         (OLDER_RECORD_P): New macro in UTF-2000.
1485         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1486         (alloc_older_lcrecord): New prototype in UTF-2000.
1487         (alloc_older_lcrecord_type): New macro in UTF-2000.
1488
1489 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1490
1491         * mule-charset.c (byte_table_description): Use
1492         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1493         (char_id_table_description): Delete bogus `, 1'.
1494         (Fget_char_attribute): Refer encoding_table of each coded-charset
1495         to get value of coded-charset attribute of a character.
1496         (Fput_char_attribute): Use `make_older_vector' instead of
1497         `make_vector'; use encoding_table of each coded-charset to store
1498         value of coded-charset attribute of a character.
1499         (Fremove_char_attribute): Use encoding_table of each coded-charset
1500         to store value of coded-charset attribute of a character.
1501         (mark_charset): Mark `cs->encoding_table'; don't mark
1502         `cs->decoding_table'.
1503         (charset_description): Add description of new member
1504         `encoding_table'.
1505         (make_charset): Initialize `encoding_table'.
1506
1507         * char-ucs.h (struct Lisp_Charset): Add new member
1508         `encoding_table'.
1509         (CHARSET_ENCODING_TABLE): New macro.
1510         (XCHARSET_ENCODING_TABLE): New macro.
1511         (charset_code_point): New implementation.
1512         (encode_char_1): Likewise.
1513
1514         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1515         (disksave_object_finalization_1): Call finalizers of
1516         `all_older_lcrecords' in UTF-2000.
1517         (make_older_vector): New function in UTF-2000.
1518         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1519         UTF-2000.
1520
1521         * lisp.h (make_older_vector): New prototype in UTF-2000.
1522
1523 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1524
1525         * lrecord.h (enum lrecord_type): Rename
1526         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1527
1528         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1529         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1530         `get_char_code_table'.
1531
1532         * mule-charset.c (mark_char_id_table): Renamed from
1533         `mark_char_code_table'.
1534         (char_id_table_equal): Renamed from `char_code_table_equal'.
1535         (char_id_table_hash): Renamed from `char_code_table_hash'.
1536         (make_char_id_table): Renamed from `make_char_code_table'.
1537         (copy_char_id_table): Renamed from `copy_char_code_table'.
1538         (get_char_id_table): Renamed from `get_char_code_table'.
1539         (put_char_id_table): Renamed from `put_char_code_table'.
1540         (to_char_id): Renamed from `to_char_code'.
1541
1542         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1543         `Lisp_Char_Code_Table'.
1544         (char_id_table): Renamed from `char_code_table'.
1545         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1546         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1547         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1548         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1549         (get_char_id_table): Renamed from `get_char_code_table'.
1550
1551 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * lrecord.h (enum lrecord_type): Rename
1554         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1555
1556         * mule-charset.c (mark_byte_table): Renamed from
1557         `mark_char_byte_table'.
1558         (byte_table_equal): Renamed from `char_byte_table_equal'.
1559         (byte_table_hash): Renamed from `byte_table_hash'.
1560         (make_byte_table): Renamed from `make_byte_table'.
1561         (copy_byte_table): Renamed from `copy_char_byte_table'.
1562
1563         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1564         `Lisp_Char_Byte_Table'.
1565         (byte_table): Renamed from `char_byte_table'.
1566         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1567         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1568         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1569         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1570
1571 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1572
1573         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1574         (dfc_convert_to_internal_format): Likewise.
1575         
1576         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1577         * text-coding.c (Fcoding_system_alias_p): New function.
1578         * text-coding.c (Fcoding_system_aliasee): New function.
1579         * text-coding.c (append_suffix_to_symbol): New function.
1580         * text-coding.c (dangling_coding_system_alias_p): New function.
1581         * text-coding.c (Ffind_coding_system):
1582         * text-coding.c (Fcopy_coding_system):
1583         * text-coding.c (encode_coding_no_conversion):
1584         * text-coding.c (syms_of_file_coding):
1585         * text-coding.c (vars_of_file_coding):
1586         Rewrite coding system alias code.
1587         Allow nested aliases, like symbolic links.
1588         Allow redefinition of coding system aliases.
1589         Prevent existence of dangling coding system aliases.
1590         Eliminate convert_to_external_format.
1591         Eliminate convert_to_internal_format.
1592         
1593         * text-coding.c: Change enum eol_type to eol_type_t.
1594
1595 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1596
1597         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1598         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1599
1600         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1601         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1602
1603 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1604
1605         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1606         `ideograph-daikanwa'.
1607
1608         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1609         (Vcharset_ucs_bmp): Likewise.
1610         (Vcharset_mojikyo): Add new extern variable definition.
1611         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1612         (Vcharset_latin_iso8859_3): Likewise.
1613         (Vcharset_latin_iso8859_4): Likewise.
1614         (Vcharset_latin_iso8859_9): Likewise.
1615         (Vcharset_latin_viscii_lower): Likewise.
1616         (Vcharset_latin_viscii_upper): Likewise.
1617         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1618         `mojikyo' code-point is used to decode.
1619         (encode_char_2): New function [to convert `mojikyo' code-point to
1620         Mojikyo font encoding].
1621         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1622         (breakup_char_1): Likewise.
1623         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1624
1625 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1626
1627         * text-coding.c (Fmake_coding_system): Add document about
1628         `disable-composition' property.
1629
1630 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * text-coding.c (Qdisable_composition): New variable; delete
1633         `Qcomposite'.
1634         (Fmake_coding_system): Add new property `disable-composite';
1635         delete property `composite'.
1636         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1637         instead of `!CODING_SYSTEM_COMPOSITE'.
1638         (syms_of_file_coding): Add new symbol `disable-composition';
1639         delete symbol `composite'.
1640
1641         * file-coding.h (struct Lisp_Coding_System): Add
1642         `disable_composition'; delete `enable_composition'.
1643         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1644         `CODING_SYSTEM_COMPOSITE'.
1645         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1646         `XCODING_SYSTEM_COMPOSITE'.
1647
1648 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1649
1650         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1651         to 0.15.
1652
1653 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1654
1655         * text-coding.c (Qcomposite): New variable.
1656         (Fmake_coding_system): Add new property `composite'.
1657         (struct decoding_stream): Add `combined_char_count',
1658         `combined_chars' and `combining_table' in UTF-2000.
1659         (COMPOSE_FLUSH_CHARS): New macro.
1660         (COMPOSE_ADD_CHAR): New macro.
1661         (reset_decoding_stream): Reset `str->combined_char_count' and
1662         `str->combining_table' in UTF-2000.
1663         (decode_coding_iso2022): Modify for character-decomposition.
1664         (syms_of_file_coding): Add new symbol `composite'.
1665
1666 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1667
1668         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1669         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1670         of `Vcharacter_composition_table' if `->decomposition' property
1671         has only 1 element.
1672         (Qlatin_tcvn5712): New variable.
1673         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1674         (complex_vars_of_mule_charset): Add new coded-charset
1675         `latin-tcvn5712'.
1676
1677         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1678
1679 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1680
1681         * file-coding.h (struct Lisp_Coding_System): Add
1682         `enable_composition'.
1683         (CODING_SYSTEM_COMPOSITE): New macro.
1684         (XCODING_SYSTEM_COMPOSITE): New macro.
1685
1686 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1687
1688         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1689
1690 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1691
1692         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1693         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1694
1695 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1696
1697         * mule-charset.c (Vcharset_mojikyo): New variable.
1698         (Fdefine_char): Don't use coded-charset which does not have
1699         non-builtin character range to allocate character-id.
1700         (Qmojikyo): New variable.
1701         (syms_of_mule_charset): Add new symbol `mojikyo'.
1702         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1703
1704         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1705         (LEADING_BYTE_MOJIKYO): New macro.
1706         (MIN_CHAR_MOJIKYO): New macro.
1707         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1708         (MAX_CHAR_MOJIKYO): New macro.
1709
1710 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1711
1712         * mule-charset.c (remove_char_attribute): Fixed.
1713
1714 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1715
1716         * mule-charset.c (remove_char_attribute): New function.
1717         (Fremove_char_attribute): New function.
1718         (encode_builtin_char_1): Comment out builtin-support for
1719         greek-iso8859-7 and cyrillic-iso8859-5.
1720         (Fdecode_char): Check `code' is an integer.
1721         (syms_of_mule_charset): Add `remove-char-attribute'.
1722         (MIN_CHAR_GREEK): Deleted.
1723         (MAX_CHAR_GREEK): Likewise.
1724         (MIN_CHAR_CYRILLIC): Likewise.
1725         (MAX_CHAR_CYRILLIC): Likewise.
1726         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1727         MAX_CHAR_GREEK for `greek-iso8859-7'.
1728
1729         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1730         (MAX_CHAR_GREEK): Likewise.
1731         (MIN_CHAR_CYRILLIC): Likewise.
1732         (MAX_CHAR_CYRILLIC): Likewise.
1733
1734 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1735
1736         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1737         format is used without `ucs' property.
1738         (Fdecode_char): Fix problem with GR representation.
1739         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1740         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1741
1742 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1743
1744         * mule-charset.c (make_builtin_char): New function.
1745         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1746         (Fset_charset_mapping_table): Modify for new representation of
1747         code-point.
1748         (Fdecode_char): New function.
1749         (syms_of_mule_charset): Add new builtin function `decode-char' in
1750         UTF-2000.
1751
1752         * char-ucs.h (make_builtin_char): New prototype.
1753         (DECODE_CHAR): New inline function.
1754         (MAKE_CHAR): Use `DECODE_CHAR'.
1755
1756 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1757
1758         * text-coding.c (parse_charset_conversion_specs): Use
1759         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1760         `XCHARSET_TYPE'.
1761         (iso2022_designate): Likewise.
1762
1763         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1764         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1765
1766         * mule-charset.c (Vcharset_ucs): New variable.
1767         (print_charset): Change design; use `CHARSET_CHARS' and
1768         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1769         (make_charset): Change signature to specify `chars' and
1770         `dimension' instead of `type'.
1771         (range_charset_code_point): Modify for 256^n-set.
1772         (encode_builtin_char_1): Encode as `ucs' in default.
1773         (Fmake_charset): Modify for `make_charset'.
1774         (Fmake_reverse_direction_charset): Likewise.
1775         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1776         UTF-2000.
1777         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1778         for `make_charset'.
1779
1780         * char-ucs.h (Vcharset_ucs): New variable.
1781         (LEADING_BYTE_UCS): New macro.
1782         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1783         and `chars' to `unsigned short' from `unsigned int'.
1784         (CHARSET_TYPE): Deleted.
1785         (XCHARSET_TYPE): Deleted.
1786
1787 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1788
1789         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1790
1791         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1792         (ENCODE_CHAR): New macro.
1793
1794 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1795
1796         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1797         to 0.14 (Kawachi-Katakami).
1798
1799 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1800
1801         * text-coding.c (char_encode_shift_jis): Modify for
1802         `charset_code_point'.
1803         (char_encode_iso2022): Likewise.
1804
1805         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1806         (integer) instead of list of <Lisp_Object>s (integers) as the
1807         format of code-point of a coded-charset.
1808         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1809         (encode_builtin_char_1): New function; delete
1810         `split_builtin_char'.
1811         (charset_code_point): Return <int> instead of <Lisp_Object>.
1812         (Fsplit_char): Don't use `SPLIT_CHAR'.
1813
1814         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1815         prototype for `split_builtin_char'.
1816         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1817         (charset_code_point): Likewise.
1818         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1819         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1820
1821 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1822
1823         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1824         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1825
1826 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1827
1828         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1829
1830         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1831         (MAX_CHAR_OBS_94x94): Deleted.
1832
1833 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1834
1835         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1836
1837         * char-ucs.h (MAX_CHAR_BMP): New macro.
1838
1839 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1840
1841         * text-coding.c: Sync with r21-2-24.
1842
1843 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1844
1845         * file-coding.c: Modify for UTF-2000.
1846
1847 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1848
1849         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1850         to 0.13 (Takaida).
1851
1852 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1853
1854         * mule-charset.c (split_builtin_char): Delete builtin support for
1855         `katakana-jisx0201'.
1856         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1857         BMP area in builtin representation.
1858
1859         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1860         `Vcharset_katakana_jisx0201'.
1861
1862 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1863
1864         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1865         (Qisolated): New variable.
1866         (Qinitial): New variable.
1867         (Qmedial): New variable.
1868         (Qfinal): New variable.
1869         (Qvertical): New variable.
1870         (Qsmall): New variable.
1871         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1872         `Qvertical' and `Qsmall'.
1873         (Qmojikyo_pj_[1 .. 21]): New variable.
1874         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1875         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1876         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1877         .. 21]'.
1878
1879 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1880
1881         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1882         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1883         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1884
1885 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1886
1887         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1888         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1889         BMP.
1890         (Qjapanese_jisx0208_1990): New variable.
1891         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1892         (complex_vars_of_mule_charset): Add new coded-charset
1893         `japanese-jisx0208-1990'.
1894
1895         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1896         (MIN_CHAR_JIS_X0208_1990): New macro.
1897         (MAX_CHAR_JIS_X0208_1990): New macro.
1898
1899 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1900
1901         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1902         coded-charset is not found.
1903
1904 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1905
1906         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1907         (Fdefine_char): Use `Fmake_char'.
1908
1909 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1910
1911         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1912         (Vcharset_hiragana_jisx0208): Deleted.
1913         (Vcharset_katakana_jisx0208): Deleted.
1914         (Qideograph_daikanwa): New variable.
1915         (Qhiragana_jisx0208): Deleted.
1916         (Qkatakana_jisx0208): Deleted.
1917         (split_builtin_char): Split `ideograph-daikanwa'.
1918         (Fsplit_char): New implementation for UTF-2000.
1919         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1920         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1921         (complex_vars_of_mule_charset): Add new coded-charset
1922         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1923         `katakana-jisx0208'.
1924
1925         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1926         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1927         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1928         (MIN_CHAR_DAIKANWA): New macro.
1929         (MAX_CHAR_DAIKANWA): New macro.
1930
1931 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1932
1933         * data.c (Fstring_to_number): Don't recognize floating point if
1934         base is not 10.
1935
1936 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1937
1938         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1939
1940 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1941
1942         * mule-charset.c (Qsquare): New variable.
1943         (to_char_code): Add `Qsquare'.
1944         (syms_of_mule_charset): Add new symbol `square'.
1945
1946 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1947
1948         * mule-charset.c (Qcircle): New variable.
1949         (to_char_code): Add `Qcircle'.
1950         (syms_of_mule_charset): Add new symbol `circle'.
1951
1952 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1953
1954         * mule-charset.c (Qfont): New variable.
1955         (to_char_code): Add `Qfont'.
1956         (syms_of_mule_charset): Add new symbol `font'.
1957
1958 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1959
1960         * mule-charset.c (Qsub): New variable.
1961         (to_char_code): Add `Qsub'.
1962         (syms_of_mule_charset): Add new symbol `sub'.
1963
1964 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1965
1966         * mule-charset.c (Fput_char_attribute): Convert each element of
1967         VALUE to GL position if ATTRIBUTE is a GR-set,
1968
1969 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1970
1971         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1972         coded-charset is a GR-set.
1973
1974 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1975
1976         * mule-charset.c (Fput_char_attribute): Check each element of
1977         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1978
1979 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1980
1981         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1982         UTF-2000.
1983         (Qethiopic_ucs): New variable in UTF-2000.
1984         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1985         (complex_vars_of_mule_charset): Add new coded-charset
1986         `ethiopic-ucs' in UTF-2000.
1987
1988         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1989         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1990         9)'.
1991         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1992         10)'.
1993         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1994
1995 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1996
1997         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1998         `ascii'.
1999
2000 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2001
2002         * mule-charset.c (Vcharacter_variant_table): New variable.
2003         (Q_ucs): New variable.
2004         (Fchar_variants): New function.
2005         (Fput_char_attribute): Register `->ucs' value to
2006         `Vcharacter_variant_table'.
2007         (syms_of_mule_charset): Add new function `char-variants' and new
2008         symbol `->ucs'.
2009         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2010
2011 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2012
2013         * mule-charset.c (get_char_code_table): Allow negative character
2014         code.
2015         (put_char_code_table): Likewise.
2016         (Vcharacter_composition_table): New variable.
2017         (Q_decomposition): New variable.
2018         (Qwide): New variable.
2019         (Qnarrow): New variable.
2020         (Qcompat): New variable.
2021         (QnoBreak): New variable.
2022         (Qsuper): New variable.
2023         (Qfraction): New variable.
2024         (to_char_code): New function.
2025         (Fget_composite_char): New function.
2026         (Fput_char_attribute): Register `->decomposition' value to
2027         `Vcharacter_composition_table'.
2028         (syms_of_mule_charset): Add new function `get-composite-char', new
2029         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2030         `super' and `fraction'.
2031         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2032
2033 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2034
2035         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2036         character; copy the return value.
2037
2038 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2039
2040         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2041
2042         * mule-charset.c (range_charset_code_point): Must use make_int.
2043         (split_builtin_char): New function.
2044
2045 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2046
2047         * mule-charset.c (char_byte_table): Change name from
2048         "char-code-table" to "char-byte-table".
2049         (mark_char_code_table): New function.
2050         (char_code_table_equal): New function.
2051         (char_code_table_hash): New function.
2052         (char_code_table_description): New constant.
2053         (char_code_table): New type.
2054         (make_char_code_table): New function.
2055         (copy_char_code_table): New function.
2056         (get_char_code_table): Modify for `char_code_table' type.
2057         (put_char_code_table): Likewise.
2058         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2059         (Kashiwara).
2060
2061         * char-ucs.h (char_code_table): New type.
2062         (XCHAR_CODE_TABLE): New macro.
2063         (XSETCHAR_CODE_TABLE): New macro.
2064         (CHAR_CODE_TABLE_P): New macro.
2065         (GC_CHAR_CODE_TABLE_P): New macro.
2066         (struct Lisp_Char_Code_Table): New structure.
2067
2068 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2069
2070         * mule-charset.c (Fmake_charset): Setup byte_offset for
2071         {94|96}^n-set.
2072
2073 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2074
2075         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2076         character.
2077
2078 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2079
2080         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2081         is found.
2082
2083 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2084
2085         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2086         charset, it is regarded as a charset.
2087         (put_char_attribute): New function in UTF-2000.
2088         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2089         charset, mapping-table of the charset is modified.
2090         (Fdefine_char): New function in UTF-2000.
2091         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2092         `Fput_char_attribute'.
2093         (syms_of_mule_charset): Add new function `define-char' and new
2094         symbol `ucs' in UTF-2000.
2095         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2096
2097 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2098
2099         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2100         non-UTF-2000 configuration.
2101
2102 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2103
2104         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2105         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2106
2107         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2108         deleted.
2109         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2110         (Fset_charset_mapping_table): Likewise.
2111
2112         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2113         (CHARSET_ENCODING_TABLE): Delete.
2114         (XCHARSET_ENCODING_TABLE): Delete.
2115         (charset_code_point): New interface.
2116
2117 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2118
2119         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2120         instead of `charset_get_byte1' and `charset_get_byte2'.
2121
2122         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2123         (charset_get_byte2): Deleted.
2124
2125 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2126
2127         * char-ucs.h (SPLIT_CHAR): New inline function.
2128         (breakup_char_1): Use `SPLIT_CHAR'.
2129
2130         * mule-charset.c (range_charset_code_point): New function.
2131         (charset_code_point): New function.
2132
2133         * char-ucs.h (range_charset_code_point): New interface.
2134         (breakup_char_1): Use `range_charset_code_point'.
2135
2136 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2137
2138         * mule-charset.c (Fmake_charset): Delete unused local variable
2139         `code_offset'.
2140
2141         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2142         (breakup_char_1): Find a charset and code-point in
2143         `Vcharacter_attribute_table'.
2144
2145 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2146
2147         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2148         to 0.10 (Yao).
2149
2150 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2151
2152         * mule-charset.c (Vcharacter_attribute_table): New variable.
2153         (Fchar_attribute_alist): New function.
2154         (Fget_char_attribute): New function.
2155         (Fput_char_attribute): New function.
2156         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2157         too.
2158         (syms_of_mule_charset): Add new function `char-attribute-alist',
2159         `get-char-attribute' and `put-char-attribute'.
2160         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2161
2162 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2163
2164         * mule-charset.c (Fmake_charset): Just use
2165         `get_unallocated_leading_byte'.
2166
2167         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2168         sets; don't use final-byte based number for private sets.
2169
2170 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2171
2172         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2173         integer.
2174
2175 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2176
2177         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2178         to 0.9.
2179
2180 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2181
2182         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2183         of `CHAR_LEADING_BYTE' in UTF-2000.
2184
2185         * insdel.c (find_charsets_in_bufbyte_string): Use
2186         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2187         (find_charsets_in_emchar_string): Likewise.
2188
2189         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2190         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2191
2192         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2193         (CHAR_CHARSET_ID): New macro.
2194
2195 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2196
2197         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2198         charset-id - MIN_LEADING_BYTE.
2199         (put_char_table): Likewise.
2200
2201 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2202
2203         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2204         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2205         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2206         (CHARSET_ID_OFFSET): New macro.
2207         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2208         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2209         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2210         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2211         4).
2212         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2213         5).
2214         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2215         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2216         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2217         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2218         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2219
2220 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2221
2222         * mule-charset.c (next_allocated_leading_byte): New variable in
2223         UTF-2000.
2224         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2225         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2226         (get_unallocated_leading_byte): Simply use
2227         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2228         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2229         UTF-2000.
2230
2231         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2232         (MAX_LEADING_BYTE_PRIVATE): New macro.
2233         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2234         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2235
2236 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2237
2238         * mule-charset.c (Fmake_charset): Allocate final-byte based
2239         charset-id for 94-set, 96-set and 94x94-set.
2240
2241 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2242
2243         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2244         ambiguous `else'.
2245         (Fmake_charset): Likewise.
2246         (complex_vars_of_mule_charset): Modify the font registry of
2247         `ucs-bmp' not to match `Ethiopic-Unicode'.
2248
2249 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2250
2251         * mule-charset.c (complex_vars_of_mule_charset): Add font
2252         registory of `ucs-bmp'.
2253
2254 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2255
2256         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2257         coded-charsets in `default-coded-charset-priority-list' when
2258         breaking up a character.
2259
2260         * mule-charset.c (Vcharset_latin_viscii): New variable.
2261         (Qlatin_viscii): New variable.
2262         (make_charset): Don't use `decoding_table'.
2263         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2264         byte_offset.
2265         (Fset_charset_mapping_table): New implementation.
2266         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2267         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2268         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2269         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2270         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2271         charset `latin_viscii'.
2272
2273         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2274         (CHARSET_TYPE_94X94): Change to 1 from 2.
2275         (CHARSET_TYPE_96): Change to 2 from 1.
2276         (CHARSET_TYPE_128): New macro.
2277         (CHARSET_TYPE_128X128): Change to 5 from 4.
2278         (CHARSET_TYPE_256): New macro.
2279         (CHARSET_TYPE_256X256): Change to 7 from 5.
2280         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2281
2282 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2283
2284         * text-coding.c (char_encode_shift_jis): Refer
2285         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2286         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2287
2288         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2289         (char_byte_table_equal): New function in UTF-2000.
2290         (char_byte_table_hash): New function in UTF-2000.
2291         (char_byte_table_description): New constant in UTF-2000.
2292         (char_byte_table): New type in UTF-2000.
2293         (make_char_byte_table): New function in UTF-2000.
2294         (copy_char_byte_table): New function in UTF-2000.
2295         (make_char_code_table): New macro in UTF-2000.
2296         (get_char_code_table): New function in UTF-2000.
2297         (put_char_code_table): New function in UTF-2000.
2298         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2299         (charset_description): Add setting in UTF-2000.
2300         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2301         `CHARSET_TO_BYTE1_TABLE(cs)'.
2302         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2303         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2304         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2305         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2306         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2307         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2308         `CHARSET_TO_BYTE2_TABLE(cs)'.
2309
2310         * char-ucs.h (char_byte_table): New type.
2311         (XCHAR_BYTE_TABLE): New macro.
2312         (XSETCHAR_BYTE_TABLE): New macro.
2313         (CHAR_BYTE_TABLE_P): New macro.
2314         (GC_CHAR_BYTE_TABLE_P): New macro.
2315         (struct Lisp_Char_Byte_Table): New structure.
2316         (get_char_code_table): New interface.
2317         (Emchar_to_byte_table): Deleted.
2318         (get_byte_from_character_table): Deleted.
2319         (struct Lisp_Charset): Add `encoding_table'; delete
2320         `to_byte1_table' and `to_byte2_table'.
2321         (CHARSET_ENCODING_TABLE): New macro.
2322         (CHARSET_TO_BYTE1_TABLE): Deleted.
2323         (CHARSET_TO_BYTE2_TABLE): Deleted.
2324         (XCHARSET_ENCODING_TABLE): New macro.
2325         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2326         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2327
2328 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2329
2330         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2331         `vietnamese-viscii-*'.
2332
2333 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2334
2335         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2336         (Qvietnamese_viscii_upper): New variable.
2337         (Fdefine_charset_alias): New function.
2338         (syms_of_mule_charset): Add new function `define-charset-alias'.
2339         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2340         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2341         `latin-viscii-*'.
2342
2343 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2344
2345         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2346         (MAX_CHAR_OBS_94x94): New macro.
2347         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2348         for 94x94 sets.
2349
2350         * mule-charset.c (put_byte_from_character_table): Change unit size
2351         from 128 to 256.
2352         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2353         not defined.
2354         (Fmake_reverse_direction_charset): Modify dummy argument of
2355         `make_charset' for non-UTF-2000 environment.
2356
2357 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2358
2359         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2360
2361         * mule-charset.c (destroy_byte_from_character_table): New macro.
2362         (latin_jisx0201_to_ucs): Deleted.
2363         (latin_iso8859_2_to_ucs): Deleted.
2364         (latin_iso8859_3_to_ucs): Deleted.
2365         (latin_iso8859_4_to_ucs): Deleted.
2366         (latin_iso8859_9_to_ucs): Deleted.
2367         (latin_viscii_lower_to_ucs): Deleted.
2368         (latin_viscii_upper_to_ucs): Deleted.
2369         (mark_charset): Mark `cs->decoding_table'.
2370         (Fcharset_mapping_table): Fix DOC-string.
2371         (Fset_charset_mapping_table): New function.
2372         (syms_of_mule_charset): Add nwe function
2373         `set-charset-mapping-table'.
2374         (complex_vars_of_mule_charset): Don't setup and use
2375         `latin_*_to_ucs'.
2376
2377 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2378
2379         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2380         charset.
2381
2382 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2383
2384         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2385         (Vcharset_katakana_jisx0208): New variable.
2386         (Qhiragana_jisx0208): New variable.
2387         (Qkatakana_jisx0208): New variable.
2388         (make_charset): Add new argument `byte_offset'.
2389         (charset_get_byte1): Modify for new coded-charset definition; use
2390         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2391         `XCHARSET_BYTE_OFFSET'.
2392         (Fmake_charset): Modify for `make_charset'.
2393         (Fmake_reverse_direction_charset): Likewise.
2394         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2395         `katakana-jisx0208'.
2396         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2397         `.'  in font registry of charset `katakana-jisx0201',
2398         `latin-jisx0201', `vietnamese-viscii-lower' and
2399         `vietnamese-viscii-upper'; modify DOC-string of charset
2400         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2401         registry of charset `japanese-jisx0208' not to use font for JIS
2402         X0208:1990; add new charset `hiragana-jisx0208' and
2403         `katakana-jisx0208'.
2404
2405         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2406         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2407         (struct Lisp_Charset): Add `byte_offset'.
2408         (CHARSET_BYTE_OFFSET): New macro.
2409         (XCHARSET_UCS_MIN): New macro.
2410         (XCHARSET_UCS_MAX): New macro.
2411         (XCHARSET_CODE_OFFSET): New macro.
2412         (XCHARSET_BYTE_OFFSET): New macro.
2413         (MIN_CHAR_HIRAGANA): New macro.
2414         (MAX_CHAR_HIRAGANA): New macro.
2415         (MIN_CHAR_KATAKANA): New macro.
2416         (MAX_CHAR_KATAKANA): New macro.
2417         (MAKE_CHAR): Modify for new coded-charset definition; use
2418         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2419         `XCHARSET_BYTE_OFFSET'.
2420
2421 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2422
2423         * mule-charset.c (CHAR96): Deleted.
2424         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2425         <Lisp_Object>.
2426         (latin_iso8859_2_to_ucs): Likewise.
2427         (latin_iso8859_3_to_ucs): Likewise.
2428         (latin_iso8859_4_to_ucs): Likewise.
2429         (latin_iso8859_9_to_ucs): Likewise.
2430         (latin_viscii_lower_to_ucs): Likewise.
2431         (latin_viscii_upper_to_ucs): Likewise.
2432         (latin_tcvn5712_to_ucs): Commented out.
2433         (make_charset): Change type of argument `decoding_table' from
2434         <Emchar*> to <Lisp_Object> [vector of characters].
2435         (Fmake_charset): Modify for `make_charset'.
2436         (Fmake_reverse_direction_charset): Likewise.
2437         (Fcharset_mapping_table): New function in UTF-2000.
2438         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2439         UTF-2000.
2440         (complex_vars_of_mule_charset): Modify for type change of
2441         `*_to_ucs'; modify for `make_charset'.
2442
2443         * char-ucs.h (struct Lisp_Charset): Change type of
2444         `decoding_table' from <Emchar*> to <Lisp_Object>.
2445         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2446
2447 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2448
2449         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2450         error with non-UTF-2000-Mule.
2451
2452 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2453
2454         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2455         in lisp again].
2456         (Vcharset_chinese_cns11643_4): Likewise.
2457         (Vcharset_chinese_cns11643_5): Likewise.
2458         (Vcharset_chinese_cns11643_6): Likewise.
2459         (Vcharset_chinese_cns11643_7): Likewise.
2460         (Qchinese_cns11643_3): Likewise.
2461         (Qchinese_cns11643_4): Likewise.
2462         (Qchinese_cns11643_5): Likewise.
2463         (Qchinese_cns11643_6): Likewise.
2464         (Qchinese_cns11643_7): Likewise.
2465         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2466         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2467         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2468         (complex_vars_of_mule_charset): Likewise.
2469
2470 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2471
2472         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2473         96-set.
2474         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2475         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2476
2477 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2478
2479         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2480         0xFF60.
2481         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2482         (breakup_char_1): Likewise.
2483
2484         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2485         one of them includes the specified character.
2486
2487 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2488
2489         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2490
2491 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2492
2493         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2494
2495 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2496
2497         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2498         definition for non-UTF-2000 Mule.
2499         (latin_iso8859_3_to_ucs): Likewise.
2500         (latin_iso8859_4_to_ucs): Likewise.
2501         (latin_iso8859_9_to_ucs): Likewise.
2502         (latin_jisx0201_to_ucs): Likewise.
2503         (MIN_CHAR_THAI): Likewise.
2504         (MAX_CHAR_THAI): Likewise.
2505         (MIN_CHAR_GREEK): Likewise.
2506         (MAX_CHAR_GREEK): Likewise.
2507         (MIN_CHAR_HEBREW): Likewise.
2508         (MAX_CHAR_HEBREW): Likewise.
2509         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2510         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2511         (MIN_CHAR_CYRILLIC): Likewise.
2512         (MAX_CHAR_CYRILLIC): Likewise.
2513
2514 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2515
2516         * char-ucs.h (breakup_char_1): Use
2517         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2518         thai-tis620 and katakana-jisx0201 area.
2519
2520 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2521
2522         * char-ucs.h (breakup_char_1): Use
2523         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2524         area.
2525
2526         * text-coding.c (reset_encoding_stream): Fixed.
2527         (char_encode_ucs4): Delete `& 255'.
2528
2529         * char-ucs.h (breakup_char_1): Use
2530         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2531
2532 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2533
2534         * file-coding.c (Fmake_coding_system): Don't set up
2535         `codesys->fixed.size'.
2536         (encode_coding_no_conversion): Don't refer
2537         `str->codesys->fixed.size'.
2538
2539 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2540
2541         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2542         (latin_a_char_to_byte1): Deleted.
2543         (latin_a_char_to_byte2): Deleted.
2544
2545 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2546
2547         * mule-charset.c (make_charset): Add new argument `ucs_min',
2548         `ucs_max' and `code_offset'.
2549         (charset_get_byte1): New implementation [delete specific charset
2550         depended implementations].
2551         (Fmake_charset): Modify for `make_charset'.
2552         (Fmake_reverse_direction_charset): Likewise.
2553         (complex_vars_of_mule_charset): Likewise.
2554
2555         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2556         `code_offset'.
2557         (CHARSET_UCS_MIN): New macro.
2558         (CHARSET_UCS_MAX): New macro.
2559         (CHARSET_CODE_OFFSET): New macro.
2560         (MAKE_CHAR): Delete charset depended definitions [except
2561         katakana-jisx0201].
2562
2563 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2564
2565         * char-ucs.h (breakup_char_1): Use
2566         `Vdefault_coded_charset_priority_list' for C0-Controls,
2567         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2568
2569 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2570
2571         * char-ucs.h (charset_get_byte1): New function.
2572         (XCHARSET_GET_BYTE1): Deleted.
2573         (charset_get_byte2): New function.
2574         (XCHARSET_GET_BYTE2): Deleted.
2575         (Vdefault_coded_charset_priority_list): New external variable.
2576         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2577         `Vdefault_preferred_coded_charset_list'.
2578
2579         * mule-charset.c (charset_get_byte1): New function.
2580         (charset_get_byte2): New function.
2581         (Vdefault_coded_charset_priority_list): New variable.
2582         (vars_of_mule_charset): Add new variable
2583         `default-coded-charset-priority-list'.
2584
2585 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2586
2587         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2588         (XCHARSET_GET_BYTE2): New inline function.
2589         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2590         `XCHARSET_GET_BYTE2'.
2591
2592 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2593
2594         * mule-charset.c (make_charset): Initialize
2595         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2596         NULL if table is not defined.
2597
2598 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2599
2600         * text-coding.c (char_encode_shift_jis): Use
2601         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2602         `ucs_to_latin_jisx0201'.
2603
2604         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2605         (ucs_to_latin_iso8859_2): Deleted.
2606         (ucs_to_latin_iso8859_3): Deleted.
2607         (ucs_to_latin_iso8859_4): Deleted.
2608         (ucs_to_latin_iso8859_9): Deleted.
2609         (ucs_to_latin_viscii_lower): Deleted.
2610         (ucs_to_latin_viscii_upper): Deleted.
2611         (ucs_to_latin_tcvn5712): Deleted.
2612         (make_charset): Add new argument `decoding_table'; set up
2613         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2614         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2615         `decoding_table' is defined in UTF-2000.
2616         (Fmake_charset): Modify for `make_charset'.
2617         (Fmake_reverse_direction_charset): Likewise.
2618         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2619         and `GENERATE_96_SET'.
2620
2621         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2622         (ucs_to_latin_jisx0201): Deleted.
2623         (latin_iso8859_2_to_ucs): Deleted.
2624         (ucs_to_latin_iso8859_2): Deleted.
2625         (latin_iso8859_3_to_ucs): Deleted.
2626         (ucs_to_latin_iso8859_3): Deleted.
2627         (latin_iso8859_4_to_ucs): Deleted.
2628         (ucs_to_latin_iso8859_4): Deleted.
2629         (latin_iso8859_9_to_ucs): Deleted.
2630         (ucs_to_latin_iso8859_9): Deleted.
2631         (latin_viscii_lower_to_ucs): Deleted.
2632         (ucs_to_latin_viscii_lower): Deleted.
2633         (latin_viscii_upper_to_ucs): Deleted.
2634         (ucs_to_latin_viscii_upper): Deleted.
2635         (struct Lisp_Charset): Renamed `encoding_table' to
2636         `to_byte1_table'; add `to_byte2_table'.
2637         (CHARSET_DECODING_TABLE): New macro.
2638         (CHARSET_TO_BYTE1_TABLE): New macro.
2639         (CHARSET_TO_BYTE2_TABLE): New macro.
2640         (XCHARSET_DECODING_TABLE): New macro.
2641         (XCHARSET_TO_BYTE1_TABLE): New macro.
2642         (XCHARSET_TO_BYTE2_TABLE): New macro.
2643         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2644         tables.
2645         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2646         don't use `ucs_to_*' tables.
2647
2648 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2649
2650         * text-coding.c (Fmake_coding_system): Don't set up
2651         `codesys->fixed.size'.
2652         (encode_coding_no_conversion): Use `if' instead of `switch'.
2653
2654         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2655
2656 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2657
2658         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2659         (Fmake_charset): Modify for `make_charset'.
2660         (Fmake_reverse_direction_charset): Likewise.
2661         (complex_vars_of_mule_charset): Likewise.
2662
2663 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2664
2665         * text-coding.c (char_encode_shift_jis): Use table
2666         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2667
2668 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2669
2670         * text-coding.c (text_encode_generic): Use `if' instead of
2671         `switch'.
2672         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2673         decode JIS-Latin.
2674
2675 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2676
2677         * text-coding.c (encode_coding_sjis): Deleted.
2678         (char_encode_shift_jis): New function.
2679         (char_finish_shift_jis): New function.
2680         (reset_encoding_stream): Set up `encode_char' and `finish' for
2681         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2682         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2683         (char_encode_utf8): Treat `eol_type'.
2684
2685 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2686
2687         * file-coding.c (decode_coding_iso2022): Use
2688         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2689
2690 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2691
2692         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2693         to 0.7 (Hirano).
2694
2695 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2696
2697         * char-lb.h (CHAR_COLUMNS): New macro.
2698
2699 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2700
2701         * text-coding.c (char_encode_ucs4): New function.
2702         (char_finish_ucs4): New function.
2703         (encode_coding_ucs4): Deleted.
2704         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2705         (text_encode_generic): Delete local variable `charset' and `half'.
2706         (ucs_to_mule_table): Deleted.
2707         (mule_to_ucs_table): Deleted.
2708         (Fset_ucs_char): Deleted.
2709         (ucs_to_char): Deleted.
2710         (Fucs_char): Deleted.
2711         (Fset_char_ucs): Deleted.
2712         (Fchar_ucs): Deleted.
2713         (decode_ucs4): Deleted.
2714         (mule_char_to_ucs4): Deleted.
2715         (encode_ucs4): Deleted.
2716         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2717         (decode_coding_utf8): Likewise.
2718         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2719         (char_encode_iso2022): Fixed.
2720         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2721         `Fset_char_ucs' and `Fchar_ucs'.
2722         (complex_vars_of_file_coding): Don't initialize
2723         `ucs_to_mule_table'.
2724
2725         * objects-tty.c (tty_initialize_font_instance): Don't use
2726         `XCHARSET_COLUMNS'.
2727
2728         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2729         UTF-2000.
2730
2731         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2732         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2733
2734         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2735         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2736         (emchar_string_displayed_columns): Likewise.
2737
2738         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2739         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2740         (string_column_at_point): Likewise.
2741         (Fmove_to_column): Likewise.
2742
2743         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2744         `encoding_table' and `decoding_table'.
2745         (CHARSET_REP_BYTES): Deleted.
2746         (XCHARSET_REP_BYTES): Deleted.
2747         (XCHARSET_COLUMNS): Deleted.
2748         (CHAR_COLUMNS): New macro.
2749         (lookup_composite_char): Deleted unconditionally.
2750         (composite_char_string): Likewise.
2751
2752 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2753
2754         * char-ucs.h (Emchar_to_byte_table): New type.
2755         (get_byte_from_character_table): New function interface.
2756         (Vcharset_latin_jisx0201): New variable.
2757         (latin_jisx0201_to_ucs): New variable.
2758         (ucs_to_latin_jisx0201): New variable.
2759         (Vcharset_latin_iso8859_2): New variable.
2760         (latin_iso8859_2_to_ucs): New variable.
2761         (ucs_to_latin_iso8859_2): New variable.
2762         (Vcharset_latin_iso8859_3): New variable.
2763         (latin_iso8859_3_to_ucs): New variable.
2764         (ucs_to_latin_iso8859_3): New variable.
2765         (Vcharset_latin_iso8859_4): New variable.
2766         (latin_iso8859_4_to_ucs): New variable.
2767         (ucs_to_latin_iso8859_4): New variable.
2768         (Vcharset_latin_iso8859_9): New variable.
2769         (latin_iso8859_9_to_ucs): New variable.
2770         (ucs_to_latin_iso8859_9): New variable.
2771         (Vcharset_latin_viscii_lower): New variable.
2772         (latin_viscii_lower_to_ucs): New variable.
2773         (ucs_to_latin_viscii_lower): New variable.
2774         (Vcharset_latin_viscii_upper): New variable.
2775         (latin_viscii_upper_to_ucs): New variable.
2776         (ucs_to_latin_viscii_upper): New variable.
2777         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2778         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2779         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2780         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2781         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2782         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2783         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2784         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2785         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2786         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2787
2788         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2789         (Vcharset_latin_viscii_upper): New variable.
2790         (make_byte_from_character_table): New function.
2791         (put_byte_from_character_table): New function.
2792         (get_byte_from_character_table): New function.
2793         (CHAR96): New macro.
2794         (ucs_to_latin_jisx0201): New variable.
2795         (latin_jisx0201_to_ucs): New variable.
2796         (ucs_to_latin_iso8859_2): New variable.
2797         (latin_iso8859_2_to_ucs): New variable.
2798         (ucs_to_latin_iso8859_3): New variable.
2799         (latin_iso8859_3_to_ucs): New variable.
2800         (ucs_to_latin_iso8859_4): New variable.
2801         (latin_iso8859_4_to_ucs): New variable.
2802         (ucs_to_latin_iso8859_9): New variable.
2803         (latin_iso8859_9_to_ucs): New variable.
2804         (ucs_to_latin_viscii_lower): New variable.
2805         (latin_viscii_lower_to_ucs): New variable.
2806         (ucs_to_latin_viscii_upper): New variable.
2807         (latin_viscii_upper_to_ucs): New variable.
2808         (ucs_to_latin_tcvn5712): New variable.
2809         (latin_tcvn5712_to_ucs): New variable.
2810         (Qlatin_viscii_lower): New variable.
2811         (Qlatin_viscii_upper): New variable.
2812         (syms_of_mule_charset): Set up new symbol
2813         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2814         (complex_vars_of_mule_charset): Set up new charset
2815         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2816         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2817         `ucs_to_<CHARSET>' tables.
2818
2819 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2820
2821         * text-coding.c: New file.
2822
2823 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2824
2825         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2826
2827         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2828         (MAKE_CHAR): Modify for `ucs-bmp'.
2829         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2830         non-MULE characters of BMP.
2831
2832 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2833
2834         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2835         to 0.6.
2836
2837 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2838
2839         * lstream.h:
2840         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2841         - Include character.h for `CHAR_ASCII_P'.
2842
2843         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2844
2845         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2846         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2847
2848         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2849         (BYTE_C0_P): Likewise.
2850         (BYTE_C1_P): Likewise.
2851         (Lstream_get_emchar_1): Likewise.
2852         (Lstream_fput_emchar): Likewise.
2853         (Lstream_funget_emchar): Likewise.
2854         (copy_internal_to_external): Likewise.
2855         (copy_external_to_internal): Likewise.
2856
2857         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2858         (BYTE_C0_P): Likewise.
2859         (BYTE_C1_P): Likewise.
2860         (Lstream_get_emchar_1): Likewise.
2861         (Lstream_fput_emchar): Likewise.
2862         (Lstream_funget_emchar): Likewise.
2863         (copy_internal_to_external): Likewise.
2864         (copy_external_to_internal): Likewise.
2865
2866         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2867         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2868
2869         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2870         (BYTE_ASCII_P): Moved to mb-1byte.h.
2871
2872 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2873
2874         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2875
2876         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2877         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2878         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2879         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2880         (VALIDATE_CHARPTR_FORWARD): Likewise.
2881         (simple_charptr_emchar): Moved to mb-multibyte.h.
2882         (simple_set_charptr_emchar): Likewise.
2883         (simple_charptr_copy_char): Likewise.
2884         (non_ascii_charptr_emchar): Likewise.
2885         (non_ascii_set_charptr_emchar): Likewise.
2886         (non_ascii_charptr_copy_char): Likewise.
2887         (charptr_emchar): Moved to mb-*byte.h.
2888         (set_charptr_emchar): Likewise.
2889         (charptr_copy_char): Likewise.
2890
2891         * mb-1byte.h, mb-multibyte.h: New files.
2892
2893 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2894
2895         * mb-utf-8.h (MULTIBYTE): New macro.
2896         (MAX_EMCHAR_LEN): Moved from buffer.h.
2897         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2898
2899         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2900
2901         * mb-lb.h, multibyte.h: New files.
2902
2903         * char-1byte.h (Charset_ID): Moved from buffer.h.
2904         (MIN_LEADING_BYTE): Likewise.
2905         (LEADING_BYTE_ASCII): Likewise.
2906         (NUM_LEADING_BYTES): Likewise.
2907         (CHARSETP): Likewise.
2908         (CHARSET_BY_LEADING_BYTE): Likewise.
2909         (XCHARSET_LEADING_BYTE): Likewise.
2910         (XCHARSET_GRAPHIC): Likewise.
2911         (XCHARSET_COLUMNS): Likewise.
2912         (XCHARSET_DIMENSION): Likewise.
2913         (CHAR_CHARSET): Likewise.
2914         (CHAR_LEADING_BYTE): Likewise.
2915         (BREAKUP_CHAR): Likewise.
2916         (Vcharset_ascii): Likewise.
2917
2918         * buffer.h: Include multibyte.h unconditionally.
2919         (VALID_CHARPTR_P): Moved to multibyte.h.
2920         (ASSERT_VALID_CHARPTR): Likewise.
2921         (REAL_INC_CHARPTR): Likewise.
2922         (REAL_INC_CHARBYTIND): Likewise.
2923         (REAL_DEC_CHARPTR): Likewise.
2924         (INC_CHARPTR): Likewise.
2925         (INC_CHARBYTIND): Likewise.
2926         (DEC_CHARPTR): Likewise.
2927         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2928         (VALIDATE_CHARPTR_FORWARD): Likewise.
2929         (charptr_n_addr): Likewise.
2930         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2931         (simple_charptr_emchar): Moved to multibyte.h.
2932         (simple_set_charptr_emchar): Likewise.
2933         (simple_charptr_copy_char): Likewise.
2934         (non_ascii_charptr_emchar): Likewise.
2935         (non_ascii_set_charptr_emchar): Likewise.
2936         (non_ascii_charptr_copy_char): Likewise.
2937         (charptr_emchar): Likewise.
2938         (set_charptr_emchar): Likewise.
2939         (charptr_copy_char): Likewise.
2940         (charptr_emchar_n): Likewise.
2941         (Charset_ID): Moved to char-1byte.h.
2942         (Vcharset_ascii): Likewise.
2943         (CHAR_CHARSET): Likewise.
2944         (CHAR_LEADING_BYTE): Likewise.
2945         (LEADING_BYTE_ASCII): Likewise.
2946         (NUM_LEADING_BYTES): Likewise.
2947         (MIN_LEADING_BYTE): Likewise.
2948         (CHARSETP): Likewise.
2949         (CHARSET_BY_LEADING_BYTE): Likewise.
2950         (XCHARSET_LEADING_BYTE): Likewise.
2951         (XCHARSET_GRAPHIC): Likewise.
2952         (XCHARSET_COLUMNS): Likewise.
2953         (XCHARSET_DIMENSION): Likewise.
2954         (BREAKUP_CHAR): Likewise.
2955
2956 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2957
2958         * character.h: Add document about interface for characters.
2959
2960         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2961         (MAKE_CHAR): Delete comment about
2962         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2963         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2964         (BREAKUP_CHAR): Modify name of arguments.
2965         (CHAR_CHARSET): Modify name of argument.
2966
2967         * buffer.h: Delete document about Emchar accessors.
2968
2969 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2970
2971         * character.h (CHAR_INTP): Moved from buffer.h
2972         (CHAR_OR_CHAR_INTP): Likewise.
2973         (XCHAR_OR_CHAR_INT): Likewise.
2974         (CHECK_CHAR_COERCE_INT): Likewise.
2975
2976         * buffer.h (CHAR_INTP): Moved to character.h
2977         (CHAR_OR_CHAR_INTP): Likewise.
2978         (XCHAR_OR_CHAR_INT): Likewise.
2979         (CHECK_CHAR_COERCE_INT): Likewise.
2980
2981 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2982
2983         * character.h:
2984         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2985         - Include char-1byte.h, char-lb.h or char-ucs.h.
2986
2987         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2988
2989         * buffer.h: Include character unconditionally.
2990         (valid_char_p): Moved to char-*.h.
2991         (non_ascii_valid_char_p): Moved to char-lb.h.
2992
2993         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2994
2995 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2996
2997         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2998         in UTF-2000 because it is not ported yet and not to use
2999         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3000         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3001         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3002
3003         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3004         (CHAR_ASCII_P): Moved from character.h.
3005
3006         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3007         (CHAR_ASCII_P): Likewise.
3008         (CHAR_FIELD1_MASK): Deleted.
3009         (CHAR_FIELD2_MASK): Deleted.
3010         (CHAR_FIELD3_MASK): Deleted.
3011         (MAX_CHAR_BASIC_LATIN): New macro.
3012         (CHAR_FIELD1): Deleted.
3013         (CHAR_FIELD2_INTERNAL): Deleted.
3014         (CHAR_FIELD3_INTERNAL): Deleted.
3015         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3016         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3017         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3018         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3019         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3020         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3021         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3022         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3023         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3024         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3025         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3026         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3027         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3028         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3029         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3030         (MIN_CHAR_COMPOSITION): Deleted.
3031         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3032         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3033
3034 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3035
3036         * buffer.h: Include mb-utf-8.h in UTF-2000.
3037
3038         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3039
3040         * mb-utf-8.h: New file.
3041
3042 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3043
3044         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3045         instead of `int'.
3046
3047         * mule-charset.h, buffer.h (Charset_ID): New type.
3048
3049 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3050
3051         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3052         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3053         instead of `MULE_CHAR_PRIVATE_OFFSET',
3054         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3055         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3056         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3057
3058         * character.h (Vcharset_japanese_jisx0212): New variable
3059         definition.
3060
3061 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3062
3063         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3064         (charset_by_attributes): Delete array about direction.
3065         (latin_a_char_to_charset): New variable in UTF-2000.
3066         (latin_a_char_to_byte1): New variable in UTF-2000.
3067         (latin_a_char_to_byte2): New variable in UTF-2000.
3068         (Qucs_bmp): New variable.
3069         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3070         `Bufbyte'.
3071         (next_allocated_2_byte_leading_byte): Likewise.
3072         (non_ascii_set_charptr_emchar): Likewise.
3073         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3074         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3075         `charset_by_attributes'.
3076         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3077         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3078         and `CHARSET_BY_LEADING_BYTE'.
3079         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3080         `utf-2000-version' to `vars_of_mule_charset'.
3081         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3082         define `leading-code-private-11' in UTF-2000; move setting of
3083         `utf-2000-version' from `syms_of_mule_charset'.
3084         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3085         UTF-2000.
3086
3087         * character.h (Charset_ID): New type.
3088         (LEADING_BYTE_UCS_BMP): New macro.
3089         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3090         (CHARSET_ID_OFFSET_94): New macro.
3091         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3092         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3093         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3094         final-byte.
3095         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3096         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3097         (CHARSET_ID_OFFSET_96): New macro.
3098         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3099         CHARSET_ID_OFFSET_96 and final-byte.
3100         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3101         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3102         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3103         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3104         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3105         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3106         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3107         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3108         (LEADING_BYTE_THAI_TIS620): Likewise.
3109         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3110         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3111         (CHARSET_ID_OFFSET_94x94): New macro.
3112         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3113         CHARSET_ID_OFFSET_94x94 and final-byte.
3114         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3115         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3116         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3117         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3118         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3119         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3120         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3121         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3122         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3123         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3124         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3125         (CHARSET_TYPE_128X128): New macro.
3126         (CHARSET_TYPE_256X256): New macro.
3127         (XCHARSET_PRIVATE_P): Delete unconditionally.
3128         (charset_by_attributes): Delete array about direction.
3129         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3130         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3131         (MIN_CHAR_94): New macro.
3132         (MAX_CHAR_94): New macro.
3133         (MIN_CHAR_96): New macro.
3134         (MAX_CHAR_96): New macro.
3135         (MIN_CHAR_94x94): New macro.
3136         (MAX_CHAR_94x94): New macro.
3137         (MIN_CHAR_96x96): New macro.
3138         (MAX_CHAR_96x96): New macro.
3139         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3140         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3141         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3142         - 32)'.
3143         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3144         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3145         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3146         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3147         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3148         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3149         `XCHARSET_LEADING_BYTE' to make code-point.
3150         (latin_a_char_to_charset): New variable.
3151         (latin_a_char_to_byte1): New variable.
3152         (latin_a_char_to_byte2): New variable.
3153         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3154         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3155         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3156
3157         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3158         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3159         (find_charsets_in_emchar_string): Likewise.
3160         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3161
3162         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3163         `int'.
3164         (decode_coding_iso2022): Likewise.
3165
3166         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3167         of `unsigned char'.
3168
3169         * redisplay.c (redisplay_text_width_emchar_string): Use
3170         `Charset_ID' instead of `unsigned char'.
3171         (redisplay_frame_text_width_string): Likewise.
3172
3173         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3174         `unsigned char'.
3175
3176         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3177         instead of `unsigned char'.
3178         (face_cachel_charset_font_metric_info): Likewise.
3179
3180         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3181         (get_non_ascii_char_table_value): Likewise.
3182         (get_char_table): Likewise.
3183         (put_char_table): Likewise.
3184         (map_over_other_charset): Likewise.
3185         (map_char_table): Likewise.
3186
3187         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3188         instead of `unsigned char'.
3189
3190 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3191
3192         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3193         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3194
3195         * mule-charset.c (leading_code_private_11): Don't define in
3196         UTF-2000.
3197
3198         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3199         in UTF-2000 because it is not ported yet and not to use
3200         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3201
3202 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3203
3204         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3205
3206 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3207
3208         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3209         in UTF-2000.
3210
3211         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3212         of unsigned char to store leading-byte.
3213
3214         * chartab.c (get_non_ascii_char_table_value): Don't use
3215         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3216
3217         * file-coding.c (encode_coding_big5): Delete bogus implementation
3218         in UTF2000.
3219
3220         * character.h (LEADING_BYTE_*): Delete definition for
3221         non-UTF-2000.
3222         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3223         (LEADING_BYTE_PREFIX_P): Deleted.
3224         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3225         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3226         (BUFBYTE_LEADING_BYTE_P): Deleted.
3227         (CHARSET_PRIVATE_P): Deleted unconditionally.
3228         (rep_bytes_by_first_byte): Deleted unconditionally.
3229         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3230         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3231         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3232         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3233         (CHAR_FIELD2): Deleted.
3234         (CHAR_FIELD3): Deleted.
3235         (MAKE_CHAR): Delete definition for non-UTF-2000.
3236         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3237         (breakup_char_1): New implementation.
3238         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3239         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3240
3241 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3242
3243         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3244         condition.
3245
3246 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3247
3248         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3249         (CHARSET_PRIVATE_P): Likewise.
3250         (XCHARSET_PRIVATE_P): Likewise.
3251         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3252
3253         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3254         UTF2000.
3255         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3256
3257 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3258
3259         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3260         (NUM_LEADING_BYTES): Changed from 128 to 256.
3261         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3262         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3263         UTF2000.
3264         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3265
3266         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3267         UTF2000.
3268         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3269         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3270         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3271         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3272         (Qchinese_cns11643_3): New variable in UTF2000.
3273         (Qchinese_cns11643_4): New variable in UTF2000.
3274         (Qchinese_cns11643_5): New variable in UTF2000.
3275         (Qchinese_cns11643_6): New variable in UTF2000.
3276         (Qchinese_cns11643_7): New variable in UTF2000.
3277         (syms_of_mule_charset): Define `chinese-cns11643-3',
3278         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3279         and `chinese-cns11643-7' in UTF2000.
3280         (vars_of_mule_charset): Initialize
3281         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3282         + 1 in UTF2000.
3283         (complex_vars_of_mule_charset): Setup charset
3284         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3285         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3286
3287 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3288
3289         * mule-charset.c: Move setting for `leading-code-private-11' from
3290         `syms_of_mule_charset' to `vars_of_mule_charset'.
3291
3292 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3293
3294         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3295         and `NUM_LEADING_BYTES' in assert.
3296
3297 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3298
3299         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3300         instead of 128.
3301         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3302         `NUM_LEADING_BYTES' instead of 128.
3303
3304 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3305
3306         * mule-charset.h (charset_by_leading_byte): Use
3307         `NUM_LEADING_BYTES' instead of 128.
3308         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3309
3310         * mule-charset.c (charset_by_leading_byte): Use
3311         `NUM_LEADING_BYTES' instead of 128.
3312         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3313
3314         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3315         128.
3316
3317 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3318
3319         * mule-charset.c (syms_of_mule_charset): Update to
3320         0.4 (Shin-Imamiya).
3321
3322 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3323
3324         * file-coding.c (encode_coding_sjis): New implementation for
3325         UTF2000.  (decode_coding_sjis): Ditto.
3326
3327 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3328
3329         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3330         Don't define in UTF2000.
3331
3332         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3333         defined.
3334
3335         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3336         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3337         MULE.
3338
3339 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3340
3341         * config.h.in (CHAR_IS_UCS4): New macro.
3342
3343         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3344         conventional MULE representation.
3345         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3346
3347         * mule-charset.h: Reverted to original.
3348
3349         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3350         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3351         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3352
3353         * character.h: New file.
3354
3355         * file-coding.c (Fmake_coding_system): Set 1 to
3356         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3357         defined.
3358         (encode_coding_no_conversion): New implementation for UTF2000.
3359
3360         * file-coding.h (struct Lisp_Coding_System): Add new member
3361         `fixed.size'.
3362
3363 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3364
3365         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3366         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3367         (encode_coding_iso2022): New implementation for UTF2000.
3368
3369 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3370
3371         * mule-canna.c (c2mu): New implementation for UTF2000.
3372         (m2c): Likewise.
3373
3374 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3375
3376         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3377
3378 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3379
3380         * file-coding.c (reset_encoding_stream): Set 0 to
3381         `str->iso2022.current_char_boundary' in UTF2000.
3382         (encode_utf8): Don't define in UTF2000.
3383         (encode_coding_utf8): New implementation for UTF-8 representation
3384         of UTF2000.
3385         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3386
3387 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3388
3389         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3390
3391         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3392         UTF2000.
3393         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3394
3395         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3396
3397         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3398         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3399         as UTF-8 in UTF2000.
3400         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3401         (non_ascii_valid_char_p): Don't define in UTF2000.
3402         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3403         (Lstream_get_emchar_1): Likewise.
3404         (utf-2000-version): New variable in UTF2000.
3405
3406         * lread.c (read_escape): Add new reader `u'.
3407
3408         * insdel.c (three_to_one_table): Don't define in UTF2000.
3409         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3410         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3411         UTF2000.
3412         (bytind_to_bufpos_func): Likewise.
3413         (buffer_mule_signal_inserted_region): Likewise.
3414         (vars_of_insdel): Don't initialize `three_to_one_table'.
3415         (init_buffer_text): Use `buf->text->mule_size' instead of
3416         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3417         UTF2000.
3418
3419         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3420         UTF-8 representation in UTF2000.
3421         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3422         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3423         (decode_coding_iso2022): Don't define local variable `lb' in
3424         UTF2000; don't use LEADING_BYTE in UTF2000; use
3425         `DECODE_ADD_UCS_CHAR' in UTF2000.
3426         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3427
3428         * config.h.in (UTF2000): New macro.
3429
3430         * buffer.h (struct buffer_text): Add new member `mule_size' and
3431         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3432         (valid_char_p): Return always 1 in UTF2000.
3433         (MAX_EMCHAR_LEN): 6 in UTF2000.
3434         (three_to_one_table): Don't define in UTF2000.
3435         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3436         UTF2000.
3437         (real_bytind_to_bufpos): Likewise.
3438
3439         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3440
3441 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3442
3443         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3444         representation change.
3445         (Vutf_2000_version): New variable.
3446         (leading_code_private_11): New variable.
3447         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3448         `leading-code-private-11'.
3449
3450         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3451         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3452         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3453         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3454         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3455         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3456         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3457         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3458         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3459         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3460         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3461         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3462         (MIN_CHAR_GREEK): New macro.
3463         (MAX_CHAR_GREEK): New macro.
3464         (MIN_CHAR_CYRILLIC): New macro.
3465         (MAX_CHAR_CYRILLIC): New macro.
3466         (MIN_CHAR_HEBREW): New macro.
3467         (MAX_CHAR_HEBREW): New macro.
3468         (MIN_CHAR_THAI): New macro.
3469         (MAX_CHAR_THAI): New macro.
3470         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3471         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3472         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3473         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3474         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3475         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3476         (CHAR_FIELD2): New inline function.
3477         (CHAR_FIELD3): New inline function.
3478         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3479         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3480         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3481         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3482         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3483         (MIN_CHAR_COMPOSITION): Likewise.
3484         (CHAR_LEADING_BYTE): Modified for character representation change.
3485         (MAKE_CHAR): Likewise.
3486
3487         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3488         (Vcharset_greek_iso8859_7): Likewise.
3489         (Vcharset_cyrillic_iso8859_5): Likewise.
3490         (Vcharset_hebrew_iso8859_8): Likewise.
3491         (Vcharset_thai_tis620): Likewise.
3492         (Vcharset_katakana_jisx0201): Likewise.
3493
3494 2001-01-26  Martin Buchholz <martin@xemacs.org>
3495
3496         * XEmacs 21.2.43 "Terspichore" is released.
3497
3498 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3499
3500         Type fiddling for window_config.saved_windows_count
3501         * window.c (struct window_config): 
3502         Make saved_windows_count member unsigned.
3503         * window.c (sizeof_window_config_for_n_windows): 
3504         Make parameter unsigned.
3505         * window.c (mark_window_config):
3506         * window.c (window_config_equal):
3507         * window.c (free_window_configuration):
3508         * window.c (Fset_window_configuration):
3509         * window.c (count_windows):
3510         * window.c (Fcurrent_window_configuration):
3511         * window.c (reinit_vars_of_window):
3512         Update all callers and users.
3513
3514 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3515
3516         Alignment correctness for flexible arrays.
3517         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3518         Make alignment-correct. Add interesting comments.
3519         * alloc.c (size_vector):
3520         * alloc.c (make_vector_internal):
3521         * alloc.c (make_bit_vector_internal):
3522         * alloc.c (sweep_bit_vectors_1):
3523         * fns.c (size_bit_vector):
3524         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3525         * window.c (sizeof_window_config_for_n_windows): 
3526         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3527
3528 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3529
3530         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3531
3532 2001-01-23  Andy Piper  <andy@xemacs.org>
3533
3534         * select.c (Fown_selection_internal): pass owned_p
3535
3536         * select-msw.c (mswindows_own_selection): New Signature.
3537
3538         * console.h (struct console_methods): add owned_p to
3539         _own_selection.
3540
3541         * select-x.c (x_own_selection): pass owned_p
3542         (hack_motif_clipboard_selection): use owned_p
3543         (vars_of_select_x): new variable -
3544         x_selection_strict_motif_ownership.
3545
3546 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3547
3548         * specifier.h (specifier_data_offset): Remove pointless parens.
3549         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3550
3551 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3552
3553         Make Lisp_Object sizeof methods be alignment-correct.
3554         pdump must restore objects to the same alignment as the C compiler
3555         assumes.  It really matters on SGIs.
3556         * lstream.c (aligned_sizeof_lstream): New.
3557         (sizeof_lstream): Use aligned_sizeof_lstream.
3558         (Lstream_new): Likewise.
3559         * opaque.c (aligned_sizeof_opaque): New.
3560         (sizeof_opaque): Use aligned_sizeof_opaque.
3561         (make_opaque): Likewise.
3562         * specifier.c (aligned_sizeof_specifier): New.
3563         (sizeof_specifier): Use aligned_sizeof_specifier.
3564         (make_specifier_internal): Likewise.
3565
3566 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3567
3568         * lstream.h (struct lstream): Use max_align_t for trailing data.
3569         * specifier.h (struct Lisp_Specifier): Likewise.
3570
3571 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3572
3573         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3574         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3575         (CCL_SUSPEND): Likewise.
3576         (CCL_INVALID_CMD): Likewise.
3577         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3578         (ccl_driver): Likewise.
3579         (CCL_WRITE_CHAR): Macro hygiene.
3580         (CCL_WRITE_STRING): Macro hygiene.
3581
3582 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3583
3584         Port "portable" dumper to SunOS 4 and HP-UX.
3585         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3586         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3587         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3588
3589 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3590
3591         * lisp.h (ALIGNOF): A better definition for C++.
3592
3593 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3594
3595         Macro hygiene.
3596         Fix printf warnings: int format, long int arg.
3597         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3598         (PUSH_FAILURE_POINT): Use correct printf formats.
3599         (POP_FAILURE_POINT): Use correct printf formats.  
3600         Use do {...} while (0)
3601
3602 2001-01-20  Martin Buchholz <martin@xemacs.org>
3603
3604         * XEmacs 21.2.42 "Poseidon" is released.
3605
3606 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3607
3608         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3609
3610 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3611
3612         De-kludgify FIXED_TYPE free list frobbing.
3613         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3614         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3615         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3616         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3617         * alloc.c (LRECORD_FREE_P): New.
3618         * alloc.c (MARK_LRECORD_AS_FREE): New.
3619         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3620         * alloc.c (STRUCT_FREE_P): Deleted.
3621         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3622         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3623         * alloc.c (STRING_CHARS_FREE_P): New.
3624         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3625         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3626         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3627         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3628         * alloc.c (resize_string): Use new definitions.
3629         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3630         * alloc.c (verify_string_chars_integrity): Use new definitions.
3631         * alloc.c (compact_string_chars): Use new definitions.
3632         * alloc.c: Update monster comments.
3633         * lrecord.h (lrecord_type): Add some new lrecord types for
3634         alloc.c's use.
3635
3636 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3637
3638         Improve alignment hackery.
3639         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3640         (max_align_t): Moved from opaque.h - general purpose.
3641         (ALIGN_PTR): Use size_t, not long.
3642         * opaque.h (max_align_t): Move to lisp.h.
3643
3644 2001-01-18  Norbert Koch  <nk@LF.net>
3645
3646         * gui.h: Fix and add prototypes to fix build problems.
3647
3648 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3649
3650         temacs is going away, so `dump-temacs' is now a bad name.
3651         * .dbxrc (dump-temacs): Rename to `dmp'.
3652         * .gdbinit (dump-temacs): Rename to `dmp'.
3653
3654 2001-01-17  Andy Piper  <andy@xemacs.org>
3655
3656         * glyphs.c (print_image_instance): comment to make martin happy.
3657
3658         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3659         change.
3660
3661         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3662         activation.
3663         (mswindows_tab_control_redisplay): warning suppression.
3664
3665         * glyphs-widget.c (widget_update): re-write to cope with updated
3666         items.
3667         (widget_instantiate): use new gui_item functions.
3668         (tab_control_update): deleted.
3669         (progress_gauge_update): deleted.
3670         (image_instantiator_progress_guage): take out update reference.
3671         (image_instantiator_tree_view): ditto.
3672         (image_instantiator_tab_control): ditto.
3673
3674         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3675         Right the new way.
3676         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3677         return whether anything was changed.
3678         (update_gui_item_keywords): as it sounds.
3679
3680         * gui.h: declare widget_gui_parse_item_keywords.
3681
3682         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3683         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3684
3685 2001-01-17  Martin Buchholz <martin@xemacs.org>
3686
3687         * XEmacs 21.2.41 "Polyhymnia" is released.
3688
3689 2001-01-16  Didier Verna  <didier@xemacs.org>
3690
3691         * glyphs.c (image_instantiate): don't use fallbacks when
3692         instantiating a face's background pixmap by inheritance.
3693
3694 2001-01-14  Mike Sperber <mike@xemacs.org>
3695
3696         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3697         Conditionalize accordingly.
3698
3699 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3700
3701         * dumper.c (pdump_file_get): Fix a compiler warning.
3702
3703 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3704
3705         Make Purify happy when pdumping.
3706         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3707         iniitalizing all bits of new lisp object memory.
3708         * symbols.c (Fmake_local_variable): Likewise.
3709         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3710         * symbols.c (Fdefvaralias): Likewise.
3711         * mule-charset.c (vars_of_mule_charset): Likewise.
3712
3713 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3714         Add the `-nd' flag when running pre-dump operations under the debugger.
3715         * .dbxrc (run-temacs): Add `-nd'.
3716         * .dbxrc (update-elc): Likewise.
3717         * .dbxrc (dump-temacs): Likewise.
3718         * .gdbinit (run-temacs): Likewise.
3719         * .gdbinit (check-temacs): Likewise.
3720         * .gdbinit (update-elc): Likewise.
3721         * .gdbinit (dump-temacs): Likewise.
3722
3723 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3724
3725         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3726         export OBJECT_MODE=64
3727         configure --pdump --use-union-type=no
3728         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3729         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3730
3731         * miscplay.c (sndcnv8U_2mono):
3732         Avoid two uses of `++' in the same expression.
3733         Suppresses a GCC warning.
3734
3735 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3736
3737         Make sure future compilers don't miscompile alloc.c.
3738         * alloc.c:
3739         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3740         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3741
3742 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3743
3744         * dumper.c: A little post-pdump-rename comment fixup.
3745
3746 2001-01-09  Jerry James  <james@eecs.ku.edu>
3747
3748         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3749
3750 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3751
3752         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3753         script:
3754         #!/bin/sh
3755         replace_symbol () {
3756           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3757         }
3758
3759         replace_symbol pdump_wire_lists pdump_weak_object_chains
3760         replace_symbol pdump_wire_list dump_add_weak_object_chain
3761
3762         replace_symbol pdump_wires pdump_root_objects
3763         replace_symbol pdump_wire dump_add_root_object
3764
3765         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3766         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3767
3768         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3769         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3770         replace_symbol dumpstructinfo pdump_root_struct_ptr
3771         replace_symbol dumpstruct dump_add_root_struct_ptr
3772
3773         replace_symbol dumpopaque dump_add_opaque
3774         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3775         replace_symbol dumpopaqueinfos pdump_opaques
3776         replace_symbol dumpopaqueinfo pdump_opaque
3777
3778         replace_symbol nb_structdump nb_root_struct_ptrs
3779         replace_symbol nb_opaquedump nb_opaques
3780
3781         replace_symbol align_table pdump_align_table
3782         replace_symbol dump_header pdump_header
3783
3784         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3785         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3786
3787
3788 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3789
3790         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3791         optimizing bytecount_to_charcount().
3792
3793 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3794
3795         * config.h.in:
3796         (HAVE_DLFCN_H): Removed.
3797         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3798
3799 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3800
3801         Portable dumper maintainability improvements.
3802         * alloc.c (staticpro):
3803         * alloc.c (staticpro_nodump):
3804         * alloc.c (garbage_collect_1):
3805         * alloc.c (reinit_alloc_once_early):
3806         * alloc.c (init_alloc_once_early):
3807         * alloc.c: Move dumper functions to alloc.c.
3808         * dumper.c (pdump_backtrace):
3809         * dumper.c (pdump_dump_structs):
3810         * dumper.c (pdump_dump_opaques):
3811         * dumper.c (pdump_dump_rtables):
3812         * dumper.c (pdump_dump_wired):
3813         * dumper.c (pdump):
3814         * dumper.c (pdump_load_check):
3815         * dumper.c (pdump_load_finish):
3816         * dumper.c (pdump_file_unmap):
3817         * dumper.c (pdump_file_get):
3818         * dumper.c (pdump_resource_free):
3819         * dumper.c (pdump_resource_get):
3820         * dumper.c (pdump_file_free):
3821         * dumper.c (pdump_file_try):
3822         * dumper.c (pdump_load):
3823         Remove fixed size limits on staticpro(), staticpro_nodump(),
3824         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3825         Remove custom code for dumping lrecord_implementations_table - use
3826         dumpopaque instead.
3827         Remove (most of the) custom code for dumping staticpros - dump it
3828         like any other dynarr.
3829
3830         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3831         * dumper.c: Moved functions from alloc.c.
3832         * alloc.c (dumpstruct): Moved to dumper.c.
3833         * alloc.c (dumpopaque): Likewise.
3834         * alloc.c (pdump_wire): Likewise.
3835         * alloc.c (pdump_wire_list): Likewise.
3836
3837         * lisp.h (Dynarr_sizeof): New.
3838         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3839         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3840         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3841
3842         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3843         * lisp.h (dumpopaque): ditto.
3844         * lisp.h (pdump_wire): ditto.
3845         * lisp.h (pdump_wire_list): ditto.
3846
3847 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3848
3849         * make-src-depend (PrintPatternDeps):
3850         Use `sort' to make output independent of perl version.
3851
3852 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3853
3854         Port to Netbsd 1.5.
3855         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3856         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3857
3858 2001-01-03  Didier Verna  <didier@xemacs.org>
3859
3860         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3861         that `focus_frame' is alive before thinking of calling
3862         `redisplay_redraw_cursor' on it.
3863
3864 2001-01-08  Martin Buchholz <martin@xemacs.org>
3865
3866         * XEmacs 21.2.40 is released.
3867
3868 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3869
3870         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3871
3872 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3873
3874         * alloc.c (dbg_valmask): Make const.
3875         * alloc.c (dbg_typemask): Make const.
3876         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3877         * alloc.c (dbg_valbits): Make const.
3878         * alloc.c (dbg_gctypebits): Make const.
3879
3880 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3881
3882         * redisplay-x.c (x_bevel_area):
3883         redisplay.h (struct rune):
3884         Typo fixes in comments.
3885
3886 2001-01-05  Andy Piper  <andy@xemacs.org>
3887
3888         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3889         adjustment.
3890
3891         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3892
3893 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3894
3895         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3896
3897         * mule-ccl.c (stack_idx_of_map_multiple):
3898         Non const global data must not be initialized!
3899         Found by MIYASHITA Hisashi.
3900
3901 2001-01-02  Andy Piper  <andy@xemacs.org>
3902
3903         * frame.c (change_frame_size): make sure frame size is always
3904         marked as changed.
3905
3906         * glyphs.c (image_instance_layout): minor code reuse.
3907
3908         * window.c (Fcurrent_window_configuration): revert previous
3909         change.
3910
3911 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3912
3913         * glyphs.h:
3914         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3915
3916 2000-12-31  Andy Piper  <andy@xemacs.org>
3917
3918         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3919         when widget gets unmapped.
3920
3921         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3922         function. Make sure widgets losing focus don't just drop it.
3923         (handle_focus_event_1): record the widget with focus.
3924
3925 2000-12-31  Andy Piper  <andy@xemacs.org>
3926
3927         * window.c (allocate_window): use
3928         make_image_instance_cache_hash_table.
3929         (make_dummy_parent): ditto.
3930         (Fset_window_configuration): ditto.
3931
3932         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3933
3934         * glyphs.c (process_image_string_instantiator): use
3935         INSTANTIATOR_TYPE.
3936         (get_image_instantiator_governing_domain): ditto.
3937         (normalize_image_instantiator): ditto.
3938         (instantiate_image_instantiator): ditto.
3939         (make_image_instance_1): ditto.
3940         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3941         (instantiator_eq_equal): new function for use with instance hash
3942         tables.
3943         (instantiator_eq_hash): ditto.
3944         (make_image_instance_cache_hash_table): create a suitable hash
3945         table for storing image instances.
3946
3947         * elhash.h (hash_table_weakness): new internal weakness type
3948         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3949         declare new functions.
3950
3951         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3952         another weakness type for glyphs.
3953         (make_standard_lisp_hash_table): new function split out from
3954         make_general_lisp_hash_table.
3955         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3956         (hash_table_instantiate): ditto.
3957         (Fmake_hash_table): ditto.
3958
3959 2000-12-31  Martin Buchholz <martin@xemacs.org>
3960
3961         * XEmacs 21.2.39 is released.
3962
3963 2000-12-29  Andy Piper  <andy@xemacs.org>
3964
3965         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3966
3967         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3968         the frame has changed so that we pick up geometry changes such as
3969         menubar visibility.
3970
3971 2000-12-28  Andy Piper  <andy@xemacs.org>
3972
3973         * lastfile.c (my_ebss): make a char array so we can pad the
3974         bss. Fixes cygwin unexec.
3975
3976         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3977
3978 2000-12-26  Andy Piper  <andy@xemacs.org>
3979
3980         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3981         comments and try and be more precise about a non-/SIGIO world.
3982         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3983         SIGIO.
3984
3985         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3986         we don't normalize to zero width or height.
3987
3988 2000-12-24  Andy Piper  <andy@xemacs.org>
3989
3990         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3991
3992 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3993
3994         * s/sco5.h: SCO 5 has pty support.
3995
3996 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3997
3998         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3999         input-method-xlib.c contains whole contents of input-method-xfs.c,
4000         so we can use input-method-xlib.c's code for USE_XFONTSET
4001         using #ifdefs.
4002         * input-method-xfs.c: removed.
4003
4004 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4005
4006         * file-coding.h (enum coding_category_type): reorder enumerators to
4007         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4008         (now one greater than largest real coding_category_type enumerator).
4009         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4010         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4011         Fcoding_category_list, Fset_coding_priority_list,
4012         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4013         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4014
4015 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4016
4017         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4018         * redisplay-output.c (redisplay_output_window): Clear top of window
4019         when face is changed.
4020         * redisplay-x.c (x_redraw_exposed_window): Call
4021         redisplay_clear_top_of_window.
4022         * redisplay.h: Publish redisplay_clear_top_of_window.
4023
4024 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4025
4026         * buffer.c (Fkill_buffer): Map over all devices.
4027         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4028         (list_windows): New function.
4029         (list_all_windows): Ditto.
4030         (Freplace_buffer_in_windows): Use them.
4031
4032 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4033
4034         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4035         (Fopen_database): Use `db_create' instead of `db_open'.
4036         (syms_of_database): Initialize Qqueue.
4037
4038 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4039
4040         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4041         buffer_local_face_property.
4042         * buffer.h (struct buffer): New member buffer_local_face_property.
4043         * window.c (Fset_window_buffer):  Mark window's face as changed
4044         when buffer has buffer local face.
4045         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4046         * objects.c (color_after_change): Set buffer_local_face_property
4047         when locale of face specifier is buffer.
4048         * objects.c (font_after_change): Ditto.
4049         * objects.c (face_boolean_after_change): Ditto.
4050         * glyphs.c (image_after_change): Ditto.
4051
4052 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4053
4054         * nt.c (mswindows_fstat): Report file permissions, volume serial
4055         number, etc. Code adapted from FSF Emacs 20.7.
4056
4057 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4058
4059         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4060         of stat when we don't have symbolic links, to make sure
4061         mswindows_stat is called on mswindows.
4062
4063 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4064
4065         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4066
4067 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4068
4069         * doprnt.c (emacs_doprnt_1): More printing fixes.
4070         Make printing of numbers compatible with libc and FSF Emacs.
4071         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4072         Use the system printf to do most of the hard work of formatting,
4073         instead of doprnt_1().
4074         Calculate memory to allocate for format string.
4075         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4076         (doprnt_1): Cleaner code and documentation.
4077
4078 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4079
4080         * Makefile.in.in: Use the loop variable to install headers.
4081
4082 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4083
4084         * window.c (Fsplit_window): Don't invalidate face cache.
4085
4086 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4087
4088         * minibuf.c (Fall_completions): Undo the previous change
4089         which removed checking elements start with space.
4090
4091 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4092
4093         * mule-canna.c: Didier suppression.
4094
4095 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4096
4097         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4098         (warning suppression).  Add English comment translations.
4099
4100 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4101
4102         * unexelfsgi.c (unexec): Better test for mmap failure.
4103
4104 2000-12-05  Martin Buchholz <martin@xemacs.org>
4105
4106         * XEmacs 21.2.38 is released.
4107
4108 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4109
4110         * redisplay.c (bar-cursor): Make a user variable.
4111
4112         * symsinit.h: Add init_postgresql_from_environment.
4113
4114 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4115
4116         * regex.c: Convert to clean C.
4117
4118 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4119
4120         * realpath.c:
4121         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4122         initialization.
4123         (sys_readlink): renamed to system_readlink to avoid conflict with
4124         the other sys_readlink.
4125
4126 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4127
4128         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4129
4130 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4131
4132         * postgresql.c (init_postgresql_from_environment): new function.
4133         (vars_of_postgresql): Move code initializing Lisp variables out and
4134         into init_postgresql_from_environment.
4135         emacs.c (main_1): Call init_postgresql_from_environment if and only
4136         if running a dumped XEmacs.
4137
4138 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4139
4140         * buffer.c: Make find-file-compare-truenames default to true on
4141         windows.
4142
4143         * realpath.c (win32_abs_start):
4144         (cygwin_readlink):
4145         (win32_readlink): New functions.
4146         (xrealpath): Return really real filenames on windows.
4147
4148         * fileio.c (Ffile_truename): Make file-truename work on windows.
4149
4150 2000-11-29  Didier Verna  <didier@xemacs.org>
4151
4152         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4153         * faces.c (update_face_cachel_data): use it.
4154         * faces.c (add_face_cachel): use it. Complete background pixmap
4155         frobbing in face cache if `update_face_cachel_data' has not done so.
4156
4157 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4158
4159         * search.c (string_match_1): Don't set last_thing_searched
4160         when search failed.
4161
4162 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4163
4164         * buffer.c: Include casetab.h
4165         (common_init_complex_vars_of_buffer): Use new case-table object.
4166         * buffer.h: Include casetab.h
4167         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4168         (DOWNCASE_TABLE_OF): Ditto.
4169         * bufslots.h: Remove char-tables and add case-table.
4170         * casetab.c: Include casetab.h
4171         (CASE_TABLE_P): Removed.
4172         (mark_case_table): New function.
4173         (allocate_case_table): New function.
4174         (Fcase_table_p): Use new case-table.
4175         (case_table_char): New function.
4176         (Fget_case_table): Ditto.
4177         (Fput_case_table): Ditto.
4178         (Fput_case_table_pair): Ditto.
4179         (Fcopy_case_table): Ditto.
4180         (Fcurrent_case_table): Return case-table.
4181         (Fstandard_case_table): Return case-table.
4182         (Fset_case_table): Fix doc-string.
4183         (set_case_table): Use case-table
4184         (syms_of_casetab): DEFSUBR new functions.
4185         (complex_vars_of_casetab): Set up standard case-table.
4186         * casetab.h: New file.
4187         * editfns.c: Include casetab.h
4188         (Fcompare_buffer_substrings): Use case-table.
4189         * inline.c: Include casetab.h
4190         * lisp.h: Remove bogus extern.
4191         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4192         * search.c: Include casetab.h
4193         (TRANSLATE_ASCII): Removed.
4194         (TRANSLATE): Unconditionally translate character.
4195         (looking_at_1): Use case-table.
4196         (string_match_1): Ditto.
4197         (fast_string_match): Ditto.
4198         (search_command): Ditto.
4199         (search_buffer): Separate boyer_moore.  Check whether
4200         boyer_moore is possible.
4201         (simple_search): New function.
4202         (boyer_moore): Separated from search_buffer. Translate char.
4203
4204 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4205
4206         * regex.c (RE_TR_ASCII): Removed.
4207         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4208         (PATFETCH): Call PATFETCH_RAW.
4209         (PATFETCH_RAW): Fetch Emchar.
4210         (PATUNFETCH): Decrement charptr.
4211         (GET_BUFFER_SPACE): Rename b to buf_end.
4212         (BUF_PUSH): Ditto.
4213         (BUF_PUSH_2): Ditto.
4214         (BUF_PUSH_3): Ditto.
4215         (EXTEND_BUFFER): Ditto.
4216         (SET_LIST_BIT): Ditto.
4217         (regex_compile): Ditto.  Translate non ASCII char.
4218         (compile_range): Ditto.
4219         (re_search_2): Ditto.
4220         (re_match_2_internal): Compare Emchar.
4221         (bcmp_translate): Ditto.
4222
4223 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4224
4225         * lisp.h (basic char/int typedefs):  comment improvement.
4226
4227 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4228
4229         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4230         unstomp inhibit_site_lisp.  Improve comments.
4231
4232 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4233
4234         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4235
4236 2000-11-28  Andy Piper  <andy@xemacs.org>
4237
4238         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4239         clipped display for windows in the gutter also.
4240         (redisplay_display_boxes_in_window_p): change semantics of return
4241         codes to be more intuitive.
4242
4243         * gutter.h: declare display_boxes_in_gutter_p.
4244
4245         * gutter.c (display_boxes_in_gutter_p): new function for
4246         redisplay.
4247
4248 2000-11-22  Andy Piper  <andy@xemacs.org>
4249
4250         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4251         autodetect domain.
4252
4253 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4254
4255         * callproc.c (Fold_call_process_internal):
4256         * gpm.c (Freceive_gpm_event):
4257         (tty_get_foreign_selection): Might be just warning supression.
4258         * fileio.c (Fwrite_region_internal):
4259         (Fset_visited_file_modtime):
4260         * keymap.c (event_matches_key_specifier_p):
4261         Initialize GCPROed variable.
4262
4263         * menubar-x.c (command_builder_find_menu_accelerator):
4264         Initialize before use.
4265
4266 2000-11-23  Andy Piper  <andy@xemacs.org>
4267
4268         * unexcw.c (unexec): make the resulting executable executable.
4269
4270 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4271
4272         * doc.c (get_doc_string):
4273         Use size_t, not int, for result of XSTRING_LENGTH.
4274
4275         * cmds.c (Fdelete_char):
4276         * cmds.c (Fpoint_at_eol):
4277         * cmds.c (Fself_insert_command):
4278         Use EMACS_INT, not int, for result of XINT.
4279         Someday, someone will want to insert more than 2**31 identical characters.
4280
4281         * cmds.c (Fdelete_char):
4282         * cmds.c (Fdelete_backward_char):
4283         * syntax.c (Fforward_word):
4284         * syntax.c (Fforward_comment):
4285         Make COUNT argument optional, for consistency with forward-char et al.
4286
4287 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4288
4289         * lisp.h:
4290         * print.c (long_to_string):
4291         Return a useful value: the pointer at end of data written.
4292
4293         * doprnt.c:
4294         Use `static const char * const' for constant strings.
4295         (union printf_arg): Delete `i', `ui' members.
4296         (get_doprnt_args):
4297         (emacs_doprnt_1):
4298         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4299         Do all printf-ing via the `l' specifier.
4300         Use EMACS_INT instead of int.
4301         Optimize.
4302
4303 2000-11-20  Didier Verna  <didier@xemacs.org>
4304
4305         * faces.c (update_face_cachel_data): don't frob the background
4306         pixmap when the window is being created. The face is needed but
4307         does not exist yet.
4308
4309 2000-11-20  Andy Piper  <andy@xemacs.org>
4310
4311         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4312         messing with a debug environment.
4313
4314 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4315
4316         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4317
4318 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4319
4320         * casetab.c (Fcase_table_p): Fix compile error and crash.
4321
4322 2000-11-18  Philip Aston  <philipa@mail.com>
4323
4324         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4325
4326 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4327
4328         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4329         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4330
4331 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4332
4333         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4334         * unexelf.c: Use HAVE_ELF_H.
4335         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4336         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4337         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4338         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4339         for testing.
4340         So this is an unexelfsgi.c from a different line of development.
4341
4342 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4343
4344         * regex.c (RE_TR_ASCII): New function.
4345         (RE_TRANSLATE): Call it.
4346
4347 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4348
4349         * buffer.h (TRT_TABLE_OF): Remove assert.
4350         (IN_TRT_TABLE_DOMAIN): Removed.
4351
4352 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4353
4354         * free-hook.c (log_gcpro):
4355         (show_gcprohist): Add support for GCPRO5.
4356
4357 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4358
4359         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4360
4361 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4362
4363         * symeval.h: Declare flush_all_buffer_local_cache.
4364
4365         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4366         (flush_buffer_local_cache): Added.
4367         (flush_all_buffer_local_cache): Added.
4368
4369         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4370
4371         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4372         (pdump_dump_data): Ditto.
4373         (pdump_reloc_one): Ditto.
4374         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4375         before dumping.
4376
4377
4378 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4379
4380         * buffer.c: Remove if 0'ed entry.
4381         * buffer.h: Rewrite TRT to use char-table.
4382         * bufslots.h: Remove mirror tables.
4383         * casetab.c: Remove mirror tables.
4384         (CASE_TABLE_P): New macro.
4385         (Fcase_table_p): Element of a case table is string or char-table.
4386         (make_mirror_trt_table): Removed.
4387         (set_case_table): Setup char-table from strings for backward
4388         compatibility.
4389         * dired.c (Fdirectory_files):
4390         * dired-msw.c: (mswindows_get_files):
4391         * lisp.h: Change prototype of re_pattern_buffer.
4392         * regex.c: (RE_TRANSLATE): New macro.
4393         (TRANSLATE_P): Ditto.
4394         Change translate to type RE_TRANSLATE_TYPE.
4395         * regex.h: Define RE_TRANSLATE_TYPE
4396         * search.c (TRANSLATE): New macro.
4397         (TRANSLATE_ASCII): New macro.
4398         Translate table is changed to Lisp_Object.
4399         (signal_failure): Inhibit return.
4400
4401 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4402
4403         * device-msw.c:
4404         * eldap.c:
4405         * event-Xt.c:
4406         * event-stream.c:
4407         * print.c:
4408         Do UNGCPRO before return.
4409
4410 2000-11-14  Martin Buchholz <martin@xemacs.org>
4411
4412         * XEmacs 21.2.37 is released.
4413
4414 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4415
4416         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4417         Add comments about discarded return value.
4418
4419 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4420
4421         * callint.c:
4422         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4423
4424 2000-10-27  Andy Piper  <andy@xemacs.org>
4425
4426         * gutter.c (Fset_default_gutter_position): default left and right
4427         gutters to visible.
4428         (calculate_gutter_size): calculate resonable heuristic for left
4429         and right gutter sizes.
4430         (specifier_vars_of_gutter): change left and right gutter sizes to
4431         autodetect.
4432         (calculate_gutter_size_from_display_lines): new function.
4433         (output_gutter): check for resizing on left and right gutters.
4434         (clear_gutter): don't special case top and left gutters.
4435         (specifier_vars_of_gutter): use new signature for
4436         set_specifier_caching.
4437
4438         * glyphs-x.c (x_redisplay_widget): spelling fix.
4439         * glyphs.c (specifier_vars_of_glyphs):
4440         * menubar.c (specifier_vars_of_menubar):
4441         * redisplay.c (specifier_vars_of_redisplay):
4442         * toolbar.c (specifier_vars_of_toolbar):
4443         * window.c (specifier_vars_of_window):
4444         * scrollbar.c (specifier_vars_of_scrollbar):
4445         (complex_vars_of_scrollbar): use new signature for
4446         set_specifier_caching.
4447
4448         * specifier.c (set_specifier_caching): include recompute flag.
4449         (recompute_one_cached_specifier_in_window): always recompute if
4450         flag set.
4451         (recompute_one_cached_specifier_in_frame): ditto.
4452
4453         * specifier.h (struct specifier_caching): add recompute flag.
4454
4455 2000-10-24  Andy Piper  <andy@xemacs.org>
4456
4457         * unexcw.c (copy_executable_and_dump_data_section): add new
4458         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4459         5.0 happy.
4460
4461 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4462
4463         * console-x.h (x_device): New member modifier_release_time.
4464         * event-Xt.c (x_handle_sticky_modifiers):
4465         Bound interval modifier keys are sticky.
4466         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4467         * events.h: extern it.
4468
4469 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4470
4471         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4472
4473 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4474
4475         * event-stream.c (execute_command_event): Preserve current_events
4476         and the like when event is misc-user-event.
4477         Inhibit quit during the call to maybe_echo_keys.
4478
4479 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4480
4481         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4482         symlink when buffer is killed.
4483         (inhibit_clash_detection): New variable.
4484
4485 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4486
4487         * console.c (Fset_input_method): Trigger redisplay on tty.
4488
4489 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4490
4491         * process.c (Fprocess_status): Revert to previous behavior:
4492         (process-status "nosuchprocess") ==> nil
4493
4494 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4495
4496         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4497         Work around another GCC 2.95.2 optimizer bug.
4498
4499 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4500
4501         * process.c (Fget_process): Use LIST_LOOP_2.
4502         (kill_buffer_processes): Use LIST_LOOP_2.
4503
4504         * minibuf.c (Fall_completions):
4505         Delete old non-functional code for FSF fourth argument.
4506
4507         * frame.c (frame_matches_frame_spec):
4508         Renamed from `frame_matches_frametype'.  Update all callers.
4509         (device_matches_device_spec):
4510         Renamed from 'device_matches_console_spec'.  Update all callers.
4511
4512         * doc.c (Fsubstitute_command_keys):
4513         Remove buffer overflow crash.  Small code cleanups.
4514
4515         * casetab.c (check_case_table): Simpler code.
4516
4517         * window.c (Freplace_buffer_in_windows):
4518         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4519         (and similar implementation) as Fdelete_windows_on.
4520         Update all callers.
4521
4522         * alloc.c (Fmake_list):
4523         * alloc.c (make_vector):
4524         * alloc.c (Fmake_vector):
4525         * alloc.c (make_bit_vector):
4526         * alloc.c (Fmake_bit_vector):
4527         * alloc.c (Fbit_vector):
4528         * alloc.c (Fmake_string):
4529         * alloc.c (Fpurecopy):
4530         * alloc.c (Fmemory_limit):
4531         * buffer.c:
4532         * buffer.c (Fget_buffer):
4533         * buffer.c (Fkill_buffer):
4534         * buffer.c (complex_vars_of_buffer):
4535         * bytecode.c (Fcompiled_function_stack_depth):
4536         * callint.c (Fprefix_numeric_value):
4537         * event-stream.c:
4538         * event-stream.c (Fread_key_sequence):
4539         * casetab.c:
4540         * casetab.c (Fcase_table_p):
4541         * casetab.c (check_case_table):
4542         * casetab.c (Fset_case_table):
4543         * casetab.c (Fset_standard_case_table):
4544         * chartab.c:
4545         * chartab.c (Fchar_table_type):
4546         * chartab.c (Freset_char_table):
4547         * chartab.c (Fget_char_table):
4548         * chartab.c (Fget_range_char_table):
4549         * chartab.c (Fput_char_table):
4550         * chartab.c (Fmap_char_table):
4551         * chartab.c (Fcategory_table_p):
4552         * chartab.c (Fcheck_category_at):
4553         * chartab.c (Fchar_in_category_p):
4554         * chartab.c (Fcategory_table):
4555         * chartab.c (Fcopy_category_table):
4556         * chartab.c (Fset_category_table):
4557         * chartab.c (Fcategory_designator_p):
4558         * chartab.c (Fcategory_table_value_p):
4559         * cmds.c (Fdelete_char):
4560         * cmds.c (Fdelete_backward_char):
4561         * cmds.c (Fself_insert_command):
4562         * cmds.c (Fself_insert_internal):
4563         * console.c (Fvalid_console_type_p):
4564         * console.c (Fcdfw_console):
4565         * console.c (Fconsole_type):
4566         * console.c (Fconsole_name):
4567         * console.c (Fconsole_device_list):
4568         * console.c (Fconsole_on_window_system_p):
4569         * data.c:
4570         * data.c (Feq):
4571         * data.c (Fold_eq):
4572         * data.c (Fsubr_interactive):
4573         * data.c (Fchar_to_int):
4574         * data.c (Fint_to_char):
4575         * data.c (Fsetcar):
4576         * data.c (Fsetcdr):
4577         * data.c (Fnumber_to_string):
4578         * data.c (Fstring_to_number):
4579         * data.c (Frem):
4580         * database.c (mark_database):
4581         * database.c (finalize_database):
4582         * database.c (Fdatabase_live_p):
4583         * database.c (Fdatabasep):
4584         * device-x.c (Fx_get_resource):
4585         * device.c (Fdfw_device):
4586         * dired.c:
4587         * dired.c (Ffile_name_completion):
4588         * dired.c (Ffile_name_all_completions):
4589         * dired.c (Fuser_name_completion):
4590         * dired.c (Fuser_name_completion_1):
4591         * dired.c (Fuser_name_all_completions):
4592         * doc.c (Fdocumentation):
4593         * doc.c (Fdocumentation_property):
4594         * doc.c (Fsubstitute_command_keys):
4595         * editfns.c:
4596         * editfns.c (Fchar_to_string):
4597         * editfns.c (Fstring_to_char):
4598         * editfns.c (Ftemp_directory):
4599         * editfns.c (Finsert_char):
4600         * editfns.c (Fbuffer_substring_no_properties):
4601         * editfns.c (Fnarrow_to_region):
4602         * editfns.c (Fchar_equal):
4603         * editfns.c (Fchar_Equal):
4604         * editfns.c (Ftranspose_regions):
4605         * emacs.c (Fdump_emacs):
4606         * eval.c (Fthrow):
4607         * eval.c (Fcommand_execute):
4608         * eval.c (Fautoload):
4609         * eval.c (Fbacktrace):
4610         * eval.c (Fbacktrace_frame):
4611         * events.c:
4612         * events.c (Fcopy_event):
4613         * events.c (Fcharacter_to_event):
4614         * events.c (Fevent_button):
4615         * events.c (Fevent_process):
4616         * extents.c:
4617         * extents.c (Fnext_extent_change):
4618         * extents.c (Fextent_property):
4619         * faces.c (Ffacep):
4620         * faces.c (Fmake_face):
4621         * file-coding.c:
4622         * file-coding.c (Fencode_shift_jis_char):
4623         * file-coding.c (Fencode_big5_char):
4624         * fileio.c (Ffile_name_directory):
4625         * fileio.c (Ffile_name_nondirectory):
4626         * fileio.c (Ffile_name_as_directory):
4627         * fileio.c (Fdirectory_file_name):
4628         * fileio.c (Ffile_truename):
4629         * fileio.c (Fsubstitute_in_file_name):
4630         * fileio.c (Ffile_modes):
4631         * fileio.c (Fset_file_modes):
4632         * fileio.c (Fset_default_file_modes):
4633         * fileio.c (Fverify_visited_file_modtime):
4634         * floatfns.c (Facos):
4635         * floatfns.c (Fasin):
4636         * floatfns.c (Fatan):
4637         * floatfns.c (Fcos):
4638         * floatfns.c (Fsin):
4639         * floatfns.c (Ftan):
4640         * floatfns.c (Fbessel_j0):
4641         * floatfns.c (Fbessel_j1):
4642         * floatfns.c (Fbessel_jn):
4643         * floatfns.c (Fbessel_y0):
4644         * floatfns.c (Fbessel_y1):
4645         * floatfns.c (Fbessel_yn):
4646         * floatfns.c (Ferf):
4647         * floatfns.c (Ferfc):
4648         * floatfns.c (Flog_gamma):
4649         * floatfns.c (Fexp):
4650         * floatfns.c (Fexpt):
4651         * floatfns.c (Flog):
4652         * floatfns.c (Flog10):
4653         * floatfns.c (Fsqrt):
4654         * floatfns.c (Fcube_root):
4655         * floatfns.c (Facosh):
4656         * floatfns.c (Fasinh):
4657         * floatfns.c (Fatanh):
4658         * floatfns.c (Fcosh):
4659         * floatfns.c (Fsinh):
4660         * floatfns.c (Ftanh):
4661         * floatfns.c (Fabs):
4662         * floatfns.c (Ffloat):
4663         * floatfns.c (Flogb):
4664         * floatfns.c (Fceiling):
4665         * floatfns.c (Ffloor):
4666         * floatfns.c (Fround):
4667         * floatfns.c (Ftruncate):
4668         * floatfns.c (Ffceiling):
4669         * floatfns.c (Fffloor):
4670         * floatfns.c (Ffround):
4671         * floatfns.c (Fftruncate):
4672         * fns.c (Fstring_equal):
4673         * fns.c (Fstring_lessp):
4674         * fns.c (concat2):
4675         * fns.c (concat3):
4676         * fns.c (vconcat2):
4677         * fns.c (vconcat3):
4678         * fns.c (Fsubstring):
4679         * fns.c (Fassoc):
4680         * fns.c (Fold_assoc):
4681         * fns.c (assoc_no_quit):
4682         * fns.c (Fassq):
4683         * fns.c (Fold_assq):
4684         * fns.c (assq_no_quit):
4685         * fns.c (Frassoc):
4686         * fns.c (Fold_rassoc):
4687         * fns.c (Frassq):
4688         * fns.c (Fold_rassq):
4689         * fns.c (rassq_no_quit):
4690         * fns.c (Fremassoc):
4691         * fns.c (remassoc_no_quit):
4692         * fns.c (Fremassq):
4693         * fns.c (remassq_no_quit):
4694         * fns.c (Fremrassoc):
4695         * fns.c (Fremrassq):
4696         * fns.c (remrassq_no_quit):
4697         * fns.c (Fsort):
4698         * fns.c (Fplist_get):
4699         * fns.c (Fplist_put):
4700         * fns.c (Fplist_remprop):
4701         * fns.c (Fplist_member):
4702         * fns.c (Flax_plist_get):
4703         * fns.c (Flax_plist_put):
4704         * fns.c (Flax_plist_remprop):
4705         * fns.c (Flax_plist_member):
4706         * fns.c (Fequal):
4707         * fns.c (Fold_equal):
4708         * fns.c (Frequire):
4709         * fns.c (Fbase64_encode_region):
4710         * fns.c (Fbase64_encode_string):
4711         * fns.c (Fbase64_decode_region):
4712         * frame.c:
4713         * frame.c (frame_matches_frame_spec):
4714         * frame.c (device_matches_device_spec):
4715         * frame.c (next_frame):
4716         * frame.c (previous_frame):
4717         * frame.c (Fnext_frame):
4718         * frame.c (Fprevious_frame):
4719         * frame.c (Fframe_property):
4720         * frame.c (Fset_frame_height):
4721         * frame.c (Fset_frame_size):
4722         * frame.h:
4723         * glyphs.c:
4724         * glyphs.c (if):
4725         * glyphs.c (decode_error_behavior_flag):
4726         * glyphs.c (Fmake_image_instance):
4727         * indent.c (Findent_to):
4728         * intl.c (Fignore_defer_gettext):
4729         * keymap.c (Fkeymapp):
4730         * keymap.c (Flookup_key):
4731         * lread.c:
4732         * lread.c (Fload_internal):
4733         * lread.c (Feval_buffer):
4734         * lread.c (Feval_region):
4735         * macros.c (Fexecute_kbd_macro):
4736         * marker.c (set_marker_internal):
4737         * marker.c (Fset_marker):
4738         * marker.c (set_marker_restricted):
4739         * marker.c (Fcopy_marker):
4740         * marker.c (noseeum_copy_marker):
4741         * menubar.c:
4742         * menubar.c (Fpopup_menu):
4743         * minibuf.c:
4744         * mule-charset.c (Fcharset_name):
4745         * mule-charset.c (Fchar_charset):
4746         * mule-charset.c (Fchar_octet):
4747         * mule-charset.c (Fsplit_char):
4748         * mule-wnnfns.c (Fwnn_open):
4749         * mule-wnnfns.c (Fwnn_dict_comment):
4750         * mule-wnnfns.c (Fwnn_quit_henkan):
4751         * mule-wnnfns.c (Fwnn_word_toroku):
4752         * mule-wnnfns.c (Fwnn_word_sakujo):
4753         * mule-wnnfns.c (Fwnn_word_use):
4754         * mule-wnnfns.c (Fwnn_hindo_set):
4755         * objects.c:
4756         * objects.c (Fmake_color_instance):
4757         * objects.c (Fmake_font_instance):
4758         * print.c (Fwrite_char):
4759         * process.c:
4760         * process.c (mark_process):
4761         * process.c (print_process):
4762         * process.c (get_process_from_usid):
4763         * process.c (Fprocessp):
4764         * process.c (Fprocess_live_p):
4765         * process.c (Fget_process):
4766         * process.c (Fget_buffer_process):
4767         * process.c (get_process):
4768         * process.c (Fprocess_id):
4769         * process.c (Fprocess_name):
4770         * process.c (Fprocess_command):
4771         * process.c (init_process_io_handles):
4772         * process.c (start_process_unwind):
4773         * process.c (Fstart_process_internal):
4774         * process.c (Fopen_multicast_group_internal):
4775         * process.c (Fset_process_window_size):
4776         * process.c (read_process_output):
4777         * process.c (send_process):
4778         * process.c (Fprocess_tty_name):
4779         * process.c (Fset_process_buffer):
4780         * process.c (Fprocess_buffer):
4781         * process.c (Fprocess_mark):
4782         * process.c (set_process_filter):
4783         * process.c (Fset_process_filter):
4784         * process.c (Fprocess_filter):
4785         * process.c (Fprocess_send_region):
4786         * process.c (Fprocess_send_string):
4787         * process.c (exec_sentinel):
4788         * process.c (Fset_process_sentinel):
4789         * process.c (Fprocess_sentinel):
4790         * process.c (status_notify):
4791         * process.c (Fprocess_status):
4792         * process.c (Fprocess_exit_status):
4793         * process.c (process_send_signal):
4794         * process.c (Fprocess_send_eof):
4795         * process.c (deactivate_process):
4796         * process.c (remove_process):
4797         * process.c (Fdelete_process):
4798         * process.c (kill_buffer_processes):
4799         * process.c (Fprocess_kill_without_query):
4800         * process.c (Fprocess_kill_without_query_p):
4801         * rangetab.c:
4802         * rangetab.c (Fget_range_table):
4803         * rangetab.c (Fput_range_table):
4804         * rangetab.c (Fremove_range_table):
4805         * rangetab.c (Fclear_range_table):
4806         * search.c:
4807         * search.c (Fskip_chars_forward):
4808         * search.c (Fskip_chars_backward):
4809         * search.c (Fskip_syntax_forward):
4810         * search.c (Fskip_syntax_backward):
4811         * search.c (search_command):
4812         * search.c (Freplace_match):
4813         * search.c (Fregexp_quote):
4814         * select.c (Fown_selection_internal):
4815         * select.c (Fselection_owner_p):
4816         * select.c (Fselection_exists_p):
4817         * select.c (Fget_selection_internal):
4818         * specifier.c:
4819         * symbols.c:
4820         * symbols.c (Fintern):
4821         * symbols.c (Fintern_soft):
4822         * symbols.c (Funintern):
4823         * symbols.c (Fapropos_internal):
4824         * symbols.c (Fset_default):
4825         * syntax.c:
4826         * syntax.c (Fsyntax_table_p):
4827         * syntax.c (Fcopy_syntax_table):
4828         * syntax.c (Fset_syntax_table):
4829         * syntax.c (Fchar_syntax):
4830         * syntax.c (syntax_match):
4831         * syntax.c (Fmatching_paren):
4832         * syntax.c (Fforward_word):
4833         * syntax.c (scan_lists):
4834         * syntax.c (Fscan_lists):
4835         * syntax.c (Fscan_sexps):
4836         * syntax.c (Fparse_partial_sexp):
4837         * toolbar.c (Fcheck_toolbar_button_syntax):
4838         * tooltalk.doc:
4839         * window.c:
4840         * window.c (Fwindowp):
4841         * window.c (Fwindow_live_p):
4842         * window.c (Fwindow_point):
4843         * window.c (Fdelete_window):
4844         * window.c (Fnext_window):
4845         * window.c (Fprevious_window):
4846         * window.c (Fother_window):
4847         * window.c (window_loop):
4848         * window.c (Fget_lru_window):
4849         * window.c (Fsplit_window):
4850         * window.c (Fenlarge_window):
4851         * window.c (Fenlarge_window_pixels):
4852         * window.c (Fshrink_window):
4853         * window.c (Fshrink_window_pixels):
4854         * window.c (change_window_height):
4855         * window.c (Fwindow_configuration_p):
4856         * window.c (Fcurrent_window_configuration):
4857         * window.h:
4858         * casefiddle.c (casify_object):
4859         * casefiddle.c (Fupcase):
4860         * casefiddle.c (Fdowncase):
4861         * casefiddle.c (Fcapitalize):
4862         * casefiddle.c (Fupcase_initials):
4863         * casefiddle.c (casify_region_internal):
4864         * casefiddle.c (casify_region):
4865         * casefiddle.c (Fupcase_region):
4866         * casefiddle.c (Fdowncase_region):
4867         * casefiddle.c (Fcapitalize_region):
4868         * casefiddle.c (Fupcase_initials_region):
4869         * casefiddle.c (Fupcase_word):
4870         * casefiddle.c (Fdowncase_word):
4871         * casefiddle.c (Fcapitalize_word):
4872         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4873         Replace 0 with '\0' when working with bytes.
4874         Replace initial "(" with "\(" in docstrings.
4875
4876 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4877
4878         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4879
4880         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4881
4882 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4883
4884         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4885
4886 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4887
4888         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4889         correctly.
4890
4891 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4892
4893         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4894         (inhibit_auto_save_session): New variable.
4895         (vars_of_fileio): Declare and initialize them.
4896         * fileio.c (Fdo_auto_save): Don't create session file if
4897         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4898
4899 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4900
4901         * sgiplay.c (play_internal): C++ compilability.
4902         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4903         * callproc.c (Fold_call_process_internal):
4904         Remove unused vars `env', `first'.
4905         * scrollbar.c (update_scrollbar_instance):
4906         #### unused var `current_window'.
4907         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4908         etc. within #ifdef NOT_YET.
4909         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4910         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4911         * specifier.c (specifier_instance):
4912         #### unused var `tag'.
4913         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4914
4915 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4916
4917         * fns.c (Fbutlast):
4918         * fns.c (list_sort):
4919         * fns.c (Ffillarray):
4920         * fns.c (bytecode_nconc2):
4921         * fns.c (Fnconc):
4922         * fns.c (mapcar1):
4923         * fns.c (Fmapconcat):
4924         Be pedantically 64-bit correct.  For the time when someone will
4925         want to have a list with length > 2**32.
4926
4927         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4928         Work around MIPSpro compiler bug.
4929
4930         * process-unix.c (unix_kill_child_process): Add snarky comment.
4931         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4932
4933         * config.h.in: Oops, _getpt ==> _getpty
4934
4935 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4936
4937         * config.h.in:
4938         * regex.c:
4939         Use void*, not char*, as return type of alloca().
4940
4941         * alloc.c (free_marker): Side effect inside assert expression!
4942
4943 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4944
4945         * mule-charset.c (Fset_charset_ccl_program): To check
4946         if the given ccl program is valid, use setup_ccl_program()
4947         instead of CHECK_VECTOR().
4948         (Fmake_charset): Likewise.
4949
4950 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4951
4952         * faces.c (get_extent_fragment_face_cache_index):
4953         Fix cachel.merged_faces memory leak.
4954
4955 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4956
4957         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4958         Reset MSB of octets obtained by DECODE_SJIS
4959         because of the incompatibility with Emacs.
4960         (ccl_driver)<CCL_ENCODE_SJIS>:
4961         Set MSB of octets before passing them to
4962         ENCODE_SJIS because of the incompatibility
4963         with Emacs.
4964
4965 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4966
4967         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4968         (DECLARE_LRECORD): Undo the last change.
4969         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4970
4971 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4972
4973         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4974         the implementation to lrecord_implementations_table.
4975
4976 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4977
4978         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4979         initial value of `lrecord_type_##c_name' and
4980         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4981         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4982         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4983         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4984         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4985
4986 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4987
4988         * miscplay.c (sndcnv8S_2mono):
4989         (sndcnv2monounsigned):
4990         (sndcnvULaw_2linear):
4991         (sndcnv16swap):
4992         Remove implementation-defined behavior.
4993
4994 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4995
4996         * input-method-xlib.c: Warning suppression.
4997
4998 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4999
5000         * mule-ccl.c: Sync up with Emacs 21.0.90.
5001         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5002         Do nothing.
5003         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5004         Likewise.
5005         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5006         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5007         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5008         leading char belongs to official 2-dimensional charset.
5009         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5010         write the given character as is.  Otherwise,
5011         if it is a multibyte char, convert it by
5012         non_ascii_set_charptr_emchar, then write it.
5013         (CCL_WRITE_STRING): Likewise.
5014         (ccl_get_compiled_code): New function.
5015         (setup_ccl_program): When ccl_prog is invalid,
5016         return -1.
5017         (Fregister_code_conversion_map): New function.
5018         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5019
5020         * mule-ccl.h: Sync up with Emacs 21.0.90.
5021         (Fregister_ccl_program): export it.
5022
5023         * redisplay-msw.c (separate_textual_runs):
5024         If ccl program is not valid, don't do ccl conversion.
5025
5026         * redisplay-x.c (separate_textual_runs): Ditto.
5027
5028         * file-coding.c (Fmake_coding_system):
5029         When type is ccl and value is vector, register it
5030         with a proper symbol.  And checks whether the
5031         given ccl program is valid.
5032         (mule_decode): When calling ccl_driver, if src indicates
5033         NULL pointer, set an empty string instead.
5034         (mule_encode): Likewise.
5035
5036 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5037
5038         The following large batch of changes gets us back to a state of
5039         C++ compilability.  Extbyte is now a char, which means that
5040         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5041
5042         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5043
5044         * sound.c (Fplay_sound): Type correctness.
5045
5046         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5047         (x_get_window_property): Type correctness.
5048         (receive_incremental_selection): unsigned char ==> Extbyte
5049         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5050         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5051         (Fx_store_cutbuffer_internal): Type correctness.
5052
5053         * process-unix.c (try_to_initialize_subtty): Type correctness.
5054
5055         * objects-x.c (x_print_color_instance): Type correctness.
5056         (x_print_font_instance): Type correctness.
5057         (x_list_fonts): SExtbyte ==> Extbyte.
5058         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5059         (x_find_charset_font): SExtbyte ==> Extbyte.
5060         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5061         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5062         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5063         Use bufbyte_strcmp.
5064
5065         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5066         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5067         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5068         (BYTE_C0_P): Use bit ops for char-signedness safety.
5069         (BYTE_C1_P): Use bit ops for char-signedness safety.
5070         (CHARSET_BY_LEADING_BYTE):
5071         (CHARSET_BY_ATTRIBUTES):
5072         Always use inline function.
5073         Use type_checking_assert.
5074         Hide chlook.
5075
5076         * mule-charset.c (non_ascii_charptr_copy_char):
5077         Modify to work with both ASCII and non-ASCII characters.
5078         Improve docs and variable names.
5079         Replace over-clever fall-through switch with a simple loop.
5080         (Lstream_get_emchar_1):
5081         Replace over-clever fall-through switch with a simple loop.
5082
5083         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5084         Warning suppression.
5085
5086         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5087         the return value of Lstream_getc, which could be EOF as well.
5088
5089         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5090
5091         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5092         APIs can be used on Extbytes without casts.  Risky!
5093         (SExtbyte): Remove.
5094         (UExtbyte): Remove.
5095
5096         * input-method-xlib.c (XIM_init_device):
5097         Use Xlib.h instead of IntrinsicP.h.
5098         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5099         which will break in X11R7.
5100         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5101         to call XRegisterIMInstantiateCallback with correct types.
5102
5103         * gui-x.c (button_item_to_widget_value): Type correctness.
5104
5105         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5106
5107         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5108         (xbm_instantiate_1): Type correctness.
5109         (BUILD_GLYPH_INST):  Type correctness.
5110
5111         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5112
5113         * file-coding.c:
5114         (decode_coding_sjis):
5115         (decode_coding_big5):
5116         (decode_coding_ucs4):
5117         (decode_coding_utf8):
5118         (decode_coding_iso2022):
5119         (decode_coding_no_conversion):
5120         Make all decoding functions take an Extbyte * arg.
5121         (encode_coding_sjis):
5122         (encode_coding_big5):
5123         (encode_coding_ucs4):
5124         (encode_coding_utf8):
5125         (encode_coding_iso2022):
5126         (encode_coding_no_conversion):
5127         Make all encoding functions take a Bufbyte * arg.
5128         Use size_t instead of unsigned int for memory sizes.
5129         Only cast to unsigned char whenever dereferencing Extbyte *.
5130
5131         * doc.c (unparesseuxify_doc_string): Type correctness.
5132
5133         * console-x.c (split_up_display_spec):
5134         Rewrite without using details of internal string representation.
5135         (x_semi_canonicalize_device_connection): Type correctness.
5136
5137         * config.h.in:
5138         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5139         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5140         (HAVE_XFREE386): Removed.
5141
5142         * buffer.h (DEC_CHARPTR): `const' correctness.
5143         (bufbyte_strcmp): New.
5144         (bufbyte_memcmp): New.
5145
5146         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5147
5148         * buffer.h (XCHAR_OR_CHAR_INT):
5149         Always use inline function.
5150         Remove redundant type checking assert() - XINT will abort quite nicely.
5151
5152 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5153
5154         * search.c (Freplace_match): Set newtext to an empty string.
5155
5156 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5157
5158         * s/decosf1-3.h: Remove #include of stropts.h
5159         * s/ptx.h: Remove #include of stropts.h
5160         * s/usg5-4.h: Remove #include of stropts.h
5161         * sysproc.h:
5162         * config.h.in:
5163         Use stropts.h, not sys/stropts.h.
5164         Use strtio.h, not sys/strtio.h.
5165
5166 2000-10-04  Martin Buchholz <martin@xemacs.org>
5167
5168         * XEmacs 21.2.36 is released.
5169
5170 2000-09-21  Andy Piper  <andy@xemacs.org>
5171
5172         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5173         changes still involve copying the widget tree.
5174         (update_widget_face): make sure a change is register in the widget
5175         tree. Call update_tab_widget_face appropriately.
5176         (update_tab_widget_face): ditto.
5177         (x_tab_control_redisplay): make sure non-structural changes still
5178         involve copying the widget tree.
5179
5180 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5181
5182         * lread.c (locate_file): Check the path element is non-nil.
5183
5184 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5185
5186         * lisp.h: Warning suppression for SCO compilers.
5187
5188         * redisplay-tty.c (reset_tty_modes): Fix crash.
5189         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5190
5191 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5192
5193         Big signal/process handling overhaul.  Bugs fixed:
5194         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5195         M-x comint-kill-subjob should work for both values nil and t of
5196         process-connection-type. It was broken on most platforms.
5197         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5198         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5199         * process-unix.c: Signal/Process handling overhaul.
5200         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5201         (allocate_pty): Use all available modern methods of allocating
5202         ptys, falling back to old style BSD allocation as a last resort.
5203         Use allegedly more secure Unix98 pty allocation by default.
5204         (allocate_pty_the_old_fashioned_way): New. the last resort.
5205         (unix_create_process): Push ptem, ldterm, ttcompat where
5206         available.  Autoconfiscate.
5207         (try_to_initialize_subtty): New.
5208         (unix_kill_child_process): Proper signal handling for ptys on most
5209         platforms, using special knowledge of AIX, BSD, etc...
5210         (unix_create_process): Always disconnect_controlling_terminal() for
5211         subprocesses, whether using ptys or not.
5212         * process.h: Remove old getpt-dependent PTY code.
5213         * process.c (Fprocess_send_signal): New, obvious generic function.
5214         (decode_signal): New.
5215         (Finterrupt_process):
5216         (Fkill_process):
5217         (Fquit_process):
5218         (Fstop_process):
5219         (Fcontinue_process):
5220         (Fsignal_process): Use decode_signal.
5221         (process_send_signal):
5222         Many docstring corrections.
5223         Allow any signal to be sent to a process object.
5224         * config.h.in: Add symbols for big signal/process overhaul.
5225         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5226         * sysproc.h: Include process-related headers, where available:
5227         sys/stropts.h sys/strtio.h pty.h libutil.h
5228         * s/irix4-0.h:
5229         * s/irix5-0.h:
5230         * s/cygwin32.h:
5231         * s/gnu.h:
5232         * s/linux.h:
5233         * s/hpux.h:
5234         * s/aix3-1.h:
5235         Remove old S&M pty stuff.
5236         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5237         * systty.h: Simplify cpp hackery, improve comments.
5238         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5239
5240         * editfns.c (Fformat_time_string):
5241         Be a little more paranoid with the return value of ctime.
5242
5243         * fileio.c (check_executable):
5244         (check_writable):
5245         Use symbolic constants X_OK, W_OK.
5246
5247         * console-x.c (split_up_display_spec): Fix a warning.
5248
5249 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5250
5251         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5252         * ntproc.c (sys_spawnve): make_string ==> build_string
5253         Small clarity improvements.
5254
5255 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5256
5257         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5258
5259         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5260
5261         * config.h.in (HAVE_STRCASECMP): Remove.
5262
5263 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5264
5265         * redisplay-output.c (redisplay_output_pixmap):
5266         Cleaner and possibly more 64-bit correct code.
5267
5268 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5269
5270         * dumper.c (pdump_load_finish): move restoration of
5271         `noninteractive1' to emacs.c (main_1).
5272         * emacs.c (main_1): protect LISP-visible command-line flags
5273         from pdump_load().
5274
5275 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5276
5277         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5278         DUMP_TARGET instead of literal program names.
5279
5280 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5281
5282         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5283
5284 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5285
5286         * *: Spelling mega-patch
5287
5288 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5289
5290         * fns.c (bad_bad_turtle):
5291         Delete "Eek!" comment, since we fixed the bug to which it refers.
5292
5293 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5294
5295         * alloca.c: Replace REGISTER with register.
5296
5297 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5298
5299         * file-coding.c (ucs_to_char): Use countof.
5300
5301 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5302
5303         * file-coding.c: (ucs_to_char):
5304         (complex_vars_of_file_coding):
5305         Use countof instead of sizeof.
5306         Use CHECK_NATNUM instead of CHECK_INT.
5307
5308         * sysdep.c (strcasecmp): Remove.
5309         * device-x.c (ascii_strcasecmp): New.
5310         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5311         Avoid using non-standard non-portable strcasecmp.
5312
5313 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5314
5315         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5316         * font-lock.c: remove reference to emacsfns.h.
5317         * search.c: small doc improvement.
5318         * event-Xt.c: correct file names in comments.
5319         * console-x.h Correct file names in comments.
5320         * frame.c: Correct file names in comments.
5321         * event-stream.c: remove Energize from comments.
5322
5323 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5324
5325         * symeval.h (DEFERROR_STANDARD):
5326         (DEFERROR):
5327         (DEFSYMBOL):
5328         (DEFSYMBOL_NO_DUMP):
5329         (DEFSYMBOL_MULTIWORD_PREDICATE):
5330         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5331         (DEFKEYWORD):
5332         The construct &##name is not sensible C.
5333         Fixes compilation errors with Unixware native compiler.
5334
5335 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5336
5337         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5338         (next_frame_internal): Removed.  We now just have next_frame.
5339         (next_frame):
5340         Write a simpler and cleaner one-pass algorithm.
5341         Remove called_from_delete_device arg and #ifdefed-out code.
5342         (previous_frame):
5343         Renamed from prev_frame.  Update callers.
5344         Cleaned up to have an analogous implementation to next_frame.
5345         (other_visible_frames_internal): Remove the
5346         called_from_delete_device bogus arg, and hence, remove this
5347         function.  Just use other_visible_frames().
5348
5349         * window.c (Fnext_window):
5350         Prettify docstring.
5351         Since next_frame() is guaranteed to return a frame, remove check
5352         for nil inserted in previous patch.
5353         (Fprevious_window):
5354         Prettify docstring.
5355         Make code look more like Fnext_window.
5356         (window_loop):
5357         Respect the `console' arg when iterating through windows.
5358         Fixes bug: (get-buffer-window buffer t device) not respecting
5359         the `device' arg.
5360         This function needs more work, as others have pointed out.
5361
5362         * frame.h: Rename prev_frame to previous_frame.
5363         device_matches_console_spec no longer takes a `frame' arg.
5364
5365         * s/gnu.h:
5366         * s/linux.h:
5367         * s/hpux.h:
5368         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5369         From "Golubev I. N." <gin@mo.msk.ru>.
5370
5371         * make-src-depend: Fix typo.
5372
5373 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5374
5375         * window.c (Fnext_window):
5376         next_frame() might return nil, not a frame.
5377         Fixes this crash:
5378         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5379
5380         * frame.c (next_frame_internal):
5381         We've passed a frame if we've passed its device.
5382         Fixes this crash:
5383         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5384 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5385
5386 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5387
5388         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5389         Allow option to suppress accelerators in menu/dialog items.
5390         (populate_or_checksum_helper): Pass dialog title through above.
5391
5392 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5393
5394         * event-msw.c (mswindows_key_to_emacs_keysym):
5395         Add "pause" key, fix "menu" key.
5396
5397 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5398
5399         * eval.c (reinit_vars_of_eval):
5400         Increase max_lisp_eval_depth to 1000,
5401         required for thai-xtis.el to byte-compile under some circumstances.
5402
5403 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5404
5405         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5406         From Kenichi Handa.
5407
5408 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5409
5410         * make-src-depend: Make the generated Makefiles smaller.
5411
5412         * s/hpux.h (SETUP_SLAVE_PTY):
5413         Provide a %d in the format string for the errno argument.
5414
5415         * editfns.c (Ftemp_directory):
5416         Warning fix.
5417         Avoid buffer overrun on very long file name.
5418
5419         * input-method-xlib.c (XIM_init_device):
5420         6th parameter of XRegisterIMInstantiateCallback has different
5421         pointer types on different OSes, so simply cast to (void *).
5422
5423         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5424
5425         * sysdll.c (dll_open):
5426         shl_load will hang hard if passed a NULL filename.
5427         Simply return NULL for compatibility with dlopen.
5428         * sysdll.c: Conform to XEmacs coding standards.
5429
5430         * sysdep.c (get_pty_max_bytes):
5431         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5432
5433 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5434
5435         * tooltalk.c: Add #include <syssignal.h>
5436
5437 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5438
5439         * s/hpux.h: Don't use undefined function sigunblock().
5440
5441 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5442
5443         * config.h.in: Add HAVE_BALLOON_HELP.
5444         * emacs.c: Use HAVE_BALLOON_HELP.
5445         * Makefile.in.in (x_objs):
5446         Make Balloon Help conditional on finding shape.h.
5447
5448 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5449
5450         * syntax.c (regex_emacs_buffer_p): New variable.
5451         * syntax.h (regex_emacs_buffer_p): extern.
5452         * search.c (looking_at_1):
5453         (string_match_1):
5454         (fast_string_match):
5455         (search_buffer): Set regex_emacs_buffer_p.
5456         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5457         when before_dot, at_dot, after_dot.
5458
5459 2000-08-23  Andy Piper  <andy@xemacs.org>
5460
5461         * gui-x.c (popup_selection_callback): Only set action_occurred
5462         when we really have an image instance.
5463         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5464
5465 2000-08-23  Andy Piper  <andy@xemacs.org>
5466
5467         * gui-msw.c (mswindows_handle_gui_wm_command): set
5468         action_occurred.
5469         * gui-x.c (popup_selection_callback): ditto.
5470
5471         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5472         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5473         (struct Lisp_Image_Instance): add action_occurred flag.
5474
5475         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5476         (image_instance_changed): ditto.
5477         (reset_frame_subwindow_instance_cache): only unmap windows - do
5478         not remove them from the cache also.
5479
5480         * glyphs-widget.c (tab_control_update): better debug.
5481         (progress_gauge_update): ditto.
5482         (layout_update): ditto.
5483         (layout_instantiate): ditto.
5484         (tab_control_order_only_changed): cope with null pending items.
5485
5486         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5487         debug. Force selection of an item when an action occurred. Cope
5488         with null pending_items.
5489         (mswindows_progress_gauge_redisplay): better debug.
5490         * glyphs-x.c (x_tab_control_redisplay): ditto.
5491
5492         * redisplay.c (redisplay_frame): reset the frame cache if the
5493         frame is garbaged.
5494
5495         * window.c (Fset_window_configuration): potentially re-enable
5496         frame cache reset.
5497         (window_unmap_subwindows): need to finalize instances here since
5498         it is only used in mark_window_as_deleted.
5499
5500 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5501
5502         * nas.c (SndOpenDataForReading):
5503         nas.c (WaveOpenDataForReading):
5504         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5505         Somehow escaped from the 2000-08-14 patch.
5506
5507 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5508
5509         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5510         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5511
5512 2000-08-21  Andy Piper  <andy@xemacs.org>
5513
5514         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5515         window if it is not already displayed.
5516
5517         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5518         it is not already displayed.
5519
5520         * window.c (Fset_window_configuration): don't reset the frame
5521         cache.
5522
5523         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5524         instances from the frame cache if we are actually finalizing them.
5525         (reset_frame_subwindow_instance_cache): reset frame cache only
5526         after unmapping everything.
5527         (map_subwindow): set displayed flag after mapping.
5528
5529 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5530
5531         * data.c (indirect_function):
5532         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5533
5534         * eval.c (function_argcount):
5535         Use original function when signaling errors.
5536
5537 2000-08-18  Andy Piper  <andy@xemacs.org>
5538
5539         * frame.c (delete_frame_internal): use new
5540         free_frame_subwindow_instances name.
5541
5542         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5543         (add_tab_item): make return type correct.
5544         (mswindows_tab_control_instantiate): assert index of tab.
5545         (mswindows_tab_control_redisplay): Re-code to use
5546         gui_item_equal_sans_selected and gui_item_list_find_selected.
5547
5548         * glyphs-widget.c (tab_control_update): Correct comment.
5549
5550         * window.c (window_unmap_subwindows): use new
5551         unmap_subwindow_instance_cache_mapper.
5552         (window_unmap_subwindows_cache_mapper): deleted.
5553         (Fset_window_configuration): comparisons should now be with
5554         EQ. Preserve the subwindow instance cache across configuration
5555         changes.
5556         (allocate_window): ditto.
5557         (make_dummy_parent): ditto.
5558
5559         * glyphs.c (free_frame_subwindow_instances): rename from
5560         free_frame_subwindow_instance_cache. finalize all instances rather
5561         than just those in the display cache.
5562         (finalize_all_subwindow_instances): walk windows unmapping and
5563         finalizing subwindows.
5564         (unmap_subwindow_instance_cache_mapper): moved from
5565         window.c. Allow finalization as well as unmapping.
5566
5567         * gui.c (gui_item_list_find_selected): new function.
5568
5569         * gui.h (gui_item_list_find_selected): declare.
5570
5571         * glyphs-x.c (x_tab_control_redisplay): pick tab
5572         explicitly. Re-code to use gui_item_equal_sans_selected and
5573         gui_item_list_find_selected.
5574
5575         * glyphs-x.h: add lwlib-utils.h
5576
5577         * buffer.c (Frecord_buffer): undo previous change.
5578
5579 2000-08-09  Vin Shelton  <acs@xemacs.org>
5580
5581         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5582         possible.  Create temporary files more securely.  The patch was
5583         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5584         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5585         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5586         for details.
5587
5588 2000-08-07  Ben Wing  <ben@xemacs.org>
5589
5590         * getloadavg.c: remove duplicate (and windows-breaking)
5591         includes of fcntl.h and sys/file.h.
5592
5593         * nt.c: remove duplicate getloadavg() definition.
5594
5595         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5596         encodings.
5597
5598 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5599
5600         * eval.c (function_argcount): If function needs to be autoloaded
5601         actually use the loaded definition.
5602         GCPRO function.
5603
5604 2000-08-05  Ben Wing  <ben@xemacs.org>
5605
5606         * getloadavg.c: add prototype for getloadavg().  remove
5607         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5608         of the code).  remove duplicate header includes.
5609
5610         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5611
5612         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5613         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5614         useful load average.
5615
5616         * alloc.c (reinit_alloc_once_early): removed references to
5617         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5618         the lisp vars are the only things referencing the malloc_sbrk_*
5619         vars, and they were already if 0'd out.  these vars only exist
5620         in the older malloc.c, which is basically unused, and they're
5621         only for informational purposes.
5622
5623         * m\*.h: removed useless VIRT_ADDR_VARIES.
5624
5625         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5626
5627 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5628
5629         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5630         color if the image is a mono pixmap.
5631
5632 2000-07-30  Ben Wing  <ben@xemacs.org>
5633
5634         * Makefile.in.in (release):
5635         Remove stray @.
5636
5637         * buffer.c (directory_is_current_directory):
5638         * dired-msw.c (mswindows_get_files):
5639         * dired.c:
5640         * dired.c (Fdirectory_files):
5641         * dired.c (file_name_completion_stat):
5642         * dired.c (Ffile_attributes):
5643         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5644         preprocessor tricks, to avoid problems on some machines
5645         (e.g. SCO).
5646
5647         * callproc.c (egetenv): GC docs.
5648
5649         * console-msw.h:
5650         * console-msw.h (struct mswindows_dialog_id):
5651         * lrecord.h (lrecord_type):
5652         New object for use with MSW dialogs.
5653
5654         * console.h (struct console_methods):
5655         New enable/disable frame methods, for proper modal dialogs.
5656
5657         * device-msw.c (msprinter_default_printer): Fix to follow
5658         proper Mule conventions.
5659
5660         * device-msw.c:
5661         * device-msw.c (signal_open_printer_error):
5662         * device-msw.c (msprinter_init_device):
5663         * device-msw.c (ensure_not_printing):
5664         * device-msw.c (plist_get_margin):
5665         * device-msw.c (Fmsprinter_select_settings):
5666         * device-msw.c (finalize_devmode):
5667         * device-msw.c (Fmsprinter_settings_despecialize):
5668         * device-msw.c (signal_enum_priner_error):
5669         * extents.c (decode_extent):
5670         * extents.c (decode_map_extents_flags):
5671         * extents.c (decode_extent_at_flag):
5672         * extents.c (Fextent_at):
5673         * extents.c (Fextents_at):
5674         * extents.c (symbol_to_glyph_layout):
5675         [[[[2]]]] Use structured errors.
5676
5677         * dialog-msw.c:
5678         * dialog-msw.c (mswindows_is_dialog_msg):
5679         * dialog-msw.c (mark_mswindows_dialog_id):
5680         * dialog-msw.c (dialog_proc):
5681         * dialog-msw.c (handle_question_dialog_box):
5682         * dialog-msw.c (syms_of_dialog_mswindows):
5683         Define new object to clean up marking; use it as a dialog identifier.
5684         Call new delete-dialog-box-hook.
5685
5686         * dialog-x.c (dbox_selection_callback):
5687         * dialog-x.c (dbox_descriptor_to_widget_value):
5688         * dialog-x.c (x_make_dialog_box_internal):
5689         Call new delete-dialog-box-hook.
5690         Return an id.
5691
5692         * dialog.c:
5693         * dialog.c (syms_of_dialog):
5694         * dialog.c (vars_of_dialog):
5695         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5696
5697         * eval.c:
5698         * eval.c (signal_call_debugger):
5699         when noninteractive, output stack traces on the console instead
5700         of in a (never-seen) buffer.
5701
5702         * eval.c (signal_type_error):
5703         * eval.c (invalid_argument_2):
5704         * lisp.h:
5705         new funs for use w/structured errors.
5706
5707         * event-Xt.c:
5708         * event-Xt.c (x_to_emacs_keysym):
5709         * event-Xt.c (describe_event):
5710         * event-Xt.c (emacs_Xt_event_handler):
5711         * event-Xt.c (vars_of_event_Xt):
5712         * event-msw.c:
5713         * event-msw.c (mswindows_wnd_proc):
5714         * event-msw.c (vars_of_event_mswindows):
5715         rename {x,mswindows}-debug-events to debug-{}-events for
5716         consistency with other debug-foo variables.
5717
5718         * event-stream.c:
5719         document next-event more clearly.
5720
5721         * fileio.c (Ffile_name_directory):
5722         * fileio.c (Ffile_name_nondirectory):
5723         * fileio.c (Funhandled_file_name_directory):
5724         * fileio.c (file_name_as_directory):
5725         * fileio.c (Ffile_name_as_directory):
5726         * fileio.c (directory_file_name):
5727         * fileio.c (Fdirectory_file_name):
5728         * fileio.c (Fmake_temp_name):
5729         * fileio.c (Ffile_truename):
5730         * fileio.c (Fsubstitute_in_file_name):
5731         * fileio.c (expand_and_dir_to_file):
5732         * fileio.c (barf_or_query_if_file_exists):
5733         * fileio.c (check_executable):
5734         * fileio.c (Ffile_exists_p):
5735         * fileio.c (Ffile_writable_p):
5736         * fileio.c (Ffile_directory_p):
5737         * fileio.c (Ffile_regular_p):
5738         * fileio.c (Ffile_modes):
5739         * fileio.c (Ffile_newer_than_file_p):
5740         * fileio.c (Fverify_visited_file_modtime):
5741         * fileio.c (Fset_visited_file_modtime):
5742         * fileio.c (auto_save_1):
5743         (1). (2).
5744         fix up gcpro's.
5745
5746         * frame-msw.c:
5747         * frame-msw.c (mswindows_init_frame_1):
5748         * frame-msw.c (mswindows_enable_frame):
5749         * frame-msw.c (error_frame_unsizable):
5750         * frame-msw.c (msprinter_init_frame_1):
5751         * frame-msw.c (msprinter_init_frame_3):
5752         * frame-msw.c (console_type_create_frame_mswindows):
5753         (2).
5754         implement new enable/disable frame methods.
5755
5756         * frame-x.c:
5757         * frame-x.c (x_enable_frame):
5758         * frame-x.c (console_type_create_frame_x):
5759         implement new enable/disable frame methods.
5760
5761         * frame.c:
5762         * frame.c (Fdisable_frame):
5763         * frame.c (syms_of_frame):
5764         * frame.h (struct frame):
5765         implement new enable/disable frame methods/functions.
5766
5767         * general-slots.h:
5768         add initial-focus.
5769
5770         * glyphs-msw.c (mswindows_widget_instantiate):
5771         comment that initial-focus should be implemented.
5772
5773         * glyphs-widget.c:
5774         * glyphs-widget.c (check_valid_instantiator):
5775         * glyphs-widget.c (check_valid_orientation):
5776         * glyphs-widget.c (check_valid_tab_orientation):
5777         * glyphs-widget.c (check_valid_justification):
5778         * glyphs-widget.c (check_valid_border):
5779         * glyphs-widget.c (check_valid_callback):
5780         * glyphs-widget.c (check_valid_int_or_function):
5781         * glyphs-widget.c (check_valid_string_or_vector):
5782         * glyphs-widget.c (check_valid_item_list_1):
5783         * glyphs-widget.c (widget_validate):
5784         * glyphs-widget.c (combo_box_validate):
5785         * glyphs-widget.c (widget_instantiate):
5786         * glyphs-widget.c (syms_of_glyphs_widget):
5787         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5788         * glyphs-widget.c (image_instantiator_combo_box):
5789         * glyphs-widget.c (image_instantiator_scrollbar):
5790         * glyphs-widget.c (image_instantiator_tab_control):
5791         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5792         (2).
5793         support (unimplemented) keyword initial-focus.
5794         reindent long macros.
5795
5796         * glyphs-x.c (x_redisplay_widget):
5797         * glyphs-x.c (x_button_instantiate):
5798         * glyphs-x.c (x_button_redisplay):
5799         * glyphs-x.c (x_progress_gauge_instantiate):
5800         * glyphs-x.c (x_edit_field_instantiate):
5801         * glyphs-x.c (x_combo_box_instantiate):
5802         * glyphs-x.c (x_tab_control_instantiate):
5803         * glyphs-x.c (x_label_instantiate):
5804         * gui-x.c:
5805         * gui-x.c (button_item_to_widget_value):
5806         * gui-x.c (gui_items_to_widget_values_1):
5807         * gui-x.c (gui_item_children_to_widget_values):
5808         * gui-x.c (gui_items_to_widget_values):
5809         * gui-x.h:
5810         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5811         add new flag to gui-parsing routines to indicate whether
5812         accelerator specs should be supported.
5813
5814         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5815
5816         * glyphs.h (struct Lisp_Image_Instance):
5817         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5818         add initial-focus flag.
5819
5820         * gui.c:
5821         * gui.c (syms_of_gui):
5822         * gui.c (vars_of_gui):
5823         clean up menu-no-selection-hook.
5824
5825         * gui.h:
5826         support delete-dialog-box-hook.
5827
5828         * lread.c (Fload_internal):
5829         * lread.c (locate_file_in_directory_mapper):
5830         (1).
5831
5832         * lrecord.h:
5833         * lrecord.h (struct toolbar_button):
5834         * lrecord.h (syms_of_toolbar):
5835         document how to create a new object.
5836
5837         * menubar-msw.c (mswindows_char_is_accelerator):
5838         may be called on frames w/o menus.
5839
5840         * menubar.c (vars_of_menubar):
5841         clean up :filter docs.
5842
5843         * nt.c (readdir):
5844         * ntproc.c:
5845         (1).
5846
5847         * process-nt.c:
5848         * process-nt.c (validate_signal_number):
5849         * process-nt.c (signal_cannot_launch):
5850         * process-nt.c (nt_create_process):
5851         * process-nt.c (nt_send_process):
5852         * process-nt.c (nt_kill_child_process):
5853         * process-nt.c (nt_open_network_stream):
5854         * process-nt.c (syms_of_process_nt):
5855         (2).
5856         delete quote-handling.  call new lisp code that does it better.
5857
5858         * process-unix.c (connect_to_file_descriptor):
5859         * process-unix.c (allocate_pty):
5860         * process-unix.c (unix_send_process):
5861         * process-unix.c (unix_kill_child_process):
5862         * process-unix.c (unix_open_network_stream):
5863         * process-unix.c (unix_open_multicast_group):
5864         (1). (2).
5865
5866         * process.c:
5867         * process.c (Fstart_process_internal):
5868         (2).  need to canonicalize process path even if absolute.
5869
5870         * select-msw.c (symbol_to_ms_cf):
5871         * select-msw.c (ms_cf_to_symbol):
5872         * select-msw.c (cf_is_autofreed):
5873         * select-msw.c (mswindows_destroy_selection):
5874         * select.c:
5875         * select.c (syms_of_select):
5876         * select.h:
5877         support dibv5, fix bugs. (from Mike Alexander)
5878
5879         * select.c (Fget_selection_internal):
5880         * select.c (select_convert_out):
5881
5882         * sysdep.c:
5883         * sysdep.c (xemacs_stat):
5884         renamed.
5885
5886         * sysdep.c (mkdir):
5887         * sysdep.c (rmdir):
5888         but keep original stat() here because we provide encapsulation
5889         around these funs.
5890
5891         * sysfile.h:
5892         * sysfile.h (fstat):
5893         remove stat garbage.
5894
5895         * syswindows.h:
5896         fix X/MSW conflict.
5897         don't include tchar.h.  it's inappropriate because it makes
5898         compile-time distinctions when we want runtime distinctions.
5899         (we provide our own tchar replacements)
5900
5901         * toolbar.c:
5902         use default object printer for toolbar-button.
5903
5904         * unexcw.c:
5905         make sure we don't encapsulate.
5906
5907         * window.c (vars_of_window):
5908         emphasize that temp-buffer-show-hook is obsolete.
5909
5910 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5911
5912         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5913         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5914
5915         * events.c (Fevent_timestamp_lessp):
5916         Not 64-bit clean.  Use EMACS_INT, not int.
5917
5918 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5919
5920         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5921         unsigned int and changed the last enum to
5922         lrecord_type_last_built_in_type.
5923         (lrecord_implementations_table): changed prototype to know how
5924         long the array is supposed to be.
5925         (lrecord_type_count): new unsigned int to keep track of the
5926         current number of lisp lrecord types.
5927         (DEFINE_EXTERNAL_LRECORD):
5928         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5929         dynamic-modules to declare new lisp types. They are the same
5930         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5931         int for each new type, and increment lrecord_type_count by 1.
5932
5933         * alloc.c (lrecord_implementations_table): Changed to reference
5934         lrecord_type_last_built_in_type for the size of the array.
5935         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5936
5937 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5938
5939         * glyphs.h (check_valid_item_list): Renamed from
5940         check_valid_item_list_1.
5941
5942 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5943
5944         * select.c (Qselect_coerce): New.
5945         * select.c (Vselection_coercion_alist): New.
5946         * select.c (syms_of_select): Declare.
5947         * select.c (get-selection-internal): Use it.
5948         Use the new select-coerce functionality.
5949
5950         * select.c (select_coerce): New.
5951         * select.h (select_coerce): Declare.
5952         New function to coerce one type of data into another.
5953
5954 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5955
5956         * callproc.c (Fcall_process_internal):
5957         (Fcall_process_internal):
5958         * process-unix.c (unix_create_process):
5959         Save and restore the value of errno, so that error messages are accurate.
5960
5961 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5962
5963         * elhash.c (print_hash_table):
5964         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5965         Prettify docstrings and indentation.
5966
5967 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5968
5969         * window.c (Fwindow_pixel_edges): Subtract frame border and
5970         gutter size.
5971
5972 2000-07-31  Andy Piper  <andy@xemacs.org>
5973
5974         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5975         will acknowledge the change.
5976
5977         * glyphs.h: declare tab_control_order_only_changed.
5978
5979         * glyphs-x.c (x_tab_control_redisplay): use
5980         tab_control_order_only_changed.
5981
5982         * glyphs-widget.c (tab_control_order_only_changed): new function.
5983
5984         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5985         tab_control_order_only_changed.
5986
5987         * gui.c (gui_item_equal_sans_selected): new function.
5988         (gui_item_equal): use it.
5989
5990         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5991         :properties in favor of :items..
5992
5993         * glyphs-widget.c (check_valid_item_list): rename from
5994         check_valid_item_list_1.
5995         (check_valid_item_list_1): renamed.
5996         (combo_box_validate): deprecate :properties in favor of :items.
5997         (widget_instantiate): ditto.
5998         (tab_control_update): ditto.
5999         (image_instantiator_combo_box): ditto.
6000         (image_instantiator_tree_view): ditto.
6001         (image_instantiator_tab_control): ditto.
6002         (layout_post_instantiate): remove dead code.
6003
6004         * print.c (debug_print_no_newline): only write to debugger if in
6005         WIN32_NATIVE.
6006
6007         * elhash.c (Fmake_hash_table): update doc string.
6008
6009         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6010         messages whilst in GC. This at least stops XEmacs crashing but has
6011         the potential for wierd behaviour.
6012
6013 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6014
6015         * config.h.in:
6016         Make existence of s&m files optional.
6017
6018         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6019         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6020         * s/gnu.h: Remove HAVE_GETLOADAVG.
6021         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6022         * s/sol2.h: Remove HAVE_GETLOADAVG.
6023         * lisp.h: Remove getloadavg() declaration.
6024         * fns.c:
6025         Include <sys/loadavg.h> if available.
6026         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6027         * config.h.in:  Group together getloadavg()-related macros.
6028         Use only configure-time tests to detect getloadavg().
6029
6030 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6031
6032         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6033
6034 2000-07-25  Andy Piper  <andy@xemacs.org>
6035
6036         * syswindows.h: add tchar.h for native builds.
6037
6038         * frame.c (syms_of_frame): remove set-glyph-image.
6039
6040         * general-slots.h: add Qset_glyph_image.
6041
6042         * glyphs-widget.c (layout_update): add domain arg to
6043         set-glyph-image.
6044         (syms_of_glyphs_widget): remove set-glyph-image.
6045
6046 2000-07-23  Ben Wing  <ben@xemacs.org>
6047
6048         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6049         Vpopup_frame_list.
6050
6051 2000-07-22  Andy Piper  <andy@xemacs.org>
6052
6053         * symsinit.h: add syms_of_win32().
6054
6055         * gui-msw.c (syms_of_gui_mswindows): remove
6056         Fmswindows_shell_execute.
6057         (Fmswindows_shell_execute): moved to win32.c.
6058
6059         * emacs.c (main_1): add syms_of_win32 ().
6060
6061         * win32.c (init_potentially_nonexistent_functions): rewrite in
6062         compiler-friendly terms.
6063         (Fmswindows_shell_execute): move here from gui-msw.c.
6064         (syms_of_win32): new.
6065
6066         * device-msw.c (Fmswindows_printer_list): clean up args to
6067         EnumPrinters.
6068         Don't include tchar under cygwin or mingw.
6069         (msprinter_default_printer): make cygwin-friendly.
6070
6071 2000-07-21  Andy Piper  <andy@xemacs.org>
6072
6073         * glyphs-widget.c (image_instantiator_tree_view): use tab
6074         control's update function.
6075         (layout_property): new function. Retrieve items.
6076
6077         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6078         function. Re-populate the tree view from the pending items.
6079
6080         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6081         is designated the parent if the domain is an image instance. This
6082         is needed so that dirtiness can be cascade up the hierarchy and
6083         thus for layout children to be redisplayed correctly.
6084         (allocate_image_instance): rename glyph -> parent.
6085
6086         * redisplay.h: change redisplay_output_layout signature.
6087
6088         * redisplay-msw.c (mswindows_output_display_block): use domain
6089         arg.
6090
6091         * redisplay-x.c (x_output_display_block): use domain arg.
6092
6093 2000-07-10  Andy Piper  <andy@xemacs.org>
6094
6095         * window.c (Fset_window_configuration): add comment.
6096
6097         * redisplay-output.c (compare_runes):
6098         (redisplay_output_subwindow): redisplay rather than update subwindow.
6099         (redisplay_output_layout): ditto.
6100
6101         * redisplay-msw.c (mswindows_frame_output_end):
6102         (mswindows_frame_output_end): make defer window pos optional.
6103
6104         * lisp.h: add Flast.
6105
6106         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6107         normalize method. Change update method to be for changed
6108         instantiators. Add redisplay method. Change signature of layout
6109         method.
6110         (struct Lisp_Image_Instance): add instantiator.
6111         (IMAGE_INSTANCE_INSTANTIATOR): new.
6112         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6113         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6114         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6115
6116         * glyphs.c:
6117         (find_instantiator_differences): new function.
6118         (Fset_instantiator_property): new convenience function.
6119         (check_image_instance_structure): strictly check for vector
6120         instantiators.
6121         (normalize_image_instantiator): make non-static.
6122         (instantiate_image_instantiator): pass on dest_mask and use new
6123         signatures for image_instance_layout and friends.
6124         (mark_image_instance): mark the instantiator. Mark the subwindow
6125         face not the widget face.
6126         (image_instance_equal): add instantiator.
6127         (image_instance_hash): ditto.
6128         (allocate_image_instance): ditto.
6129         (Fset_image_instance_property): removed.
6130         (Fimage_instance_file_name): ditto.
6131         (Fcolorize_image_instance): ditto.
6132         (image_instance_layout): add offsets to be set.
6133         (update_image_instance): new function. update an image instance
6134         from its changed instantiator.
6135         (inherit_normalize): add dest_mask.
6136         (xbm_normalize): ditto.
6137         (xface_normalize): ditto.
6138         (xpm_normalize): ditto.
6139         (text_update): set_property -> update.
6140         (image_instantiate): use the glyph identity as a hash key, not the
6141         instantiator.
6142         (glyph_width): use new image_instance_layout signature.
6143         (glyph_ascent): ditto.
6144         (glyph_descent): ditto.
6145         (glyph_height): ditto.
6146         (glyph_query_geometry): ressurrect.
6147         (glyph_layout): ditto.
6148         (redisplay_subwindow): update -> redisplay.
6149         (syms_of_glyphs): add Fset_instantiator_property.
6150         (image_instantiator_format_create): set_property -> update.
6151
6152         * glyphs-x.c:
6153         (autodetect_normalize): add dest_maks to signature.
6154         (x_redisplay_subwindow): update -> redisplay.
6155         (x_redisplay_widget): ditto.
6156         (x_button_redisplay): ditto.
6157         (x_progress_gauge_redisplay): ditto.
6158         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6159         stacking order.
6160         (console_type_create_glyphs_x): update -> redisplay.
6161         (image_instantiator_format_create_glyphs_x): ditto.
6162
6163         * glyphs-widget.c:
6164         (check_valid_instantiator): disallow glyphs in the instantiator,
6165         they must now be vectors.
6166         (check_valid_instantiator_list): ditto.
6167         (glyph_instantiator_to_glyph): use internal symbol rather than
6168         intern.
6169         (widget_update): renamed from widget_set_property. Call cascaded
6170         update methods.
6171         (redisplay_widget): renamed from update_widget.
6172         (widget_layout): image_instance_layout now takes position as well
6173         as size.
6174         (widget_normalize): ditto.
6175         (widget_instantiate): ditto.
6176         (tab_control_query_geometry) ditto.:
6177         (tab_control_update): renamed from tab_control_set_property.
6178         (progress_gauge_update): set_property -> update.
6179         (layout_normalize): rewrite so that child instantiators are
6180         normalized also.
6181         (layout_update): new function. Create glyphs from the normalized
6182         children and cope with any other layout keywords. We do not
6183         instantiate children here that will be take care of by
6184         redisplay_output_layout.
6185         (layout_instantiate): call layout_update and not much else.
6186         (layout_post_instantiate): not sure whether this is needed
6187         anymore.
6188         (layout_query_geometry): query glyph geometry rather than
6189         image_instance geometry.
6190         (layout_layout): set offsets from pass in parameters. Use glyph
6191         geometry and layout functions rather than image instance ones.
6192         (native_layout_layout): ditto.
6193         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6194         (image_instantiator_widget): set_property -> update.
6195         (image_instantiator_buttons): ditto.
6196         (image_instantiator_progress_guage): ditto.
6197         (image_instantiator_tab_control): ditto.
6198         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6199         (image_instantiator_layout): add update method.
6200
6201         * glyphs-msw.c (bmp_normalize):
6202         (mswindows_resource_normalize): add dest_mask so that it can be
6203         proprogated by layout_normalize.
6204         (begin_defer_window_pos): make optional because it may not be the
6205         right thing to do and it introduces differences with X.
6206         (mswindows_unmap_subwindow): ditto.
6207         (mswindows_map_subwindow): ditto.
6208         (mswindows_redisplay_subwindow): renamed from
6209         mswindows_update_subwindow.
6210         (mswindows_redisplay_widget): ditto.
6211         (mswindows_button_redisplay): renamed from
6212         mswindows_button_update. Update is now what the instantiation
6213         function does for a changed instantiator.
6214         (mswindows_progress_gauge_instantiate): set the progress value
6215         here if appropriate.
6216         (mswindows_tab_control_redisplay): cope with re-ordering of the
6217         members of the tab widget by simply selecting the new top
6218         widget. This makes things appear ok if you click on a tab.
6219         (mswindows_combo_box_instantiate): image_instance_layout now takes
6220         position as well as size.
6221         (mswindows_progress_gauge_redisplay): renamed from
6222         mswindows_progress_gauge_update.
6223         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6224         (image_instantiator_format_create_glyphs_mswindows): ditto.
6225
6226         * glyphs-eimage.c (jpeg_normalize):
6227         (gif_normalize):
6228         (png_normalize):
6229         (tiff_normalize): add dest_mask so that it can be proprogated by
6230         layout_normalize.
6231
6232         * elhash.c:
6233         (print_hash_table):
6234         (hash_table_weakness_validate):
6235         (decode_hash_table_weakness):
6236         (Fhash_table_weakness):
6237         (Fhash_table_type):
6238         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6239
6240         * console.h (struct console_methods): move update_* to
6241         redisplay_*.
6242
6243 2000-07-20  Ben Wing  <ben@xemacs.org>
6244
6245         * *.[ch] (XSETOBJ): remove unused middle argument.
6246         lisp-disunion.h: correct wrap_object() to one argument.
6247
6248 2000-07-15  Ben Wing  <ben@xemacs.org>
6249
6250         * s/cygwin32.h:
6251         * s/cygwin32.h (CYGWIN_CONV_PATH):
6252         Add missing logb prototype for v1.1.
6253         Use post-b20 names and alias to pre-b20 names when pre-b20.
6254
6255         * s/windowsnt.h: [5].
6256
6257 2000-07-15  Ben Wing  <ben@xemacs.org>
6258
6259         * Makefile.in.in (x_objs):
6260         * Makefile.in.in (sheap_objs):
6261         * Makefile.in.in (objs):
6262         added win32.o, cosmetic cleanups.
6263
6264         * alloc.c (Fmake_byte_code):
6265         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6266         etc. macros which declare their own args now.
6267
6268         * alloc.c (syms_of_alloc):
6269         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6270
6271         * buffer.c:
6272         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6273
6274         * buffer.c (Fget_file_buffer):
6275         Fixed GCPRO problem.
6276
6277         * buffer.c (get_truename_buffer):
6278         Fixed comment about GC checking.
6279
6280         * buffer.c (syms_of_buffer):
6281         Undeclared those dedicated frame funs.
6282         [2].
6283
6284         * buffer.h:
6285         Define convenience macros for internal/external conversions.
6286         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6287         and Qenvironment_variable_encoding for cleaner code.
6288
6289         * bufslots.h:
6290         Remove dedicated-frame; in lisp.
6291
6292         * bytecode.c (funcall_compiled_function):
6293         [1].
6294
6295         * bytecode.c (syms_of_bytecode):
6296         [2].
6297
6298         * console-msw.c:
6299         * console-msw.c (mswindows_show_console): Rewrote.
6300
6301         * console-msw.c (Fmswindows_debugging_output): New.
6302         Sends to OutputDebugString (special MSWin debugger interface).
6303
6304         * console-msw.c (Fmswindows_message_box):
6305         Fixed stupid bugs so it works when called from kill-emacs.
6306
6307         * console-msw.c (syms_of_console_mswindows):
6308         Declare Fmswindows_debugging_output.
6309
6310         * console-msw.h:
6311         New MSWin prototypes.
6312
6313         * console-msw.h (struct mswindows_frame):
6314         New entry last-click-mods for improved button-modifier support.
6315
6316         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6317         New struct entry `popup' with corresponding accessor.
6318
6319         * console-x.c:
6320         * console-x.c (split_up_display_spec):
6321         * console-x.c (get_display_arg_connection):
6322         * console-x.c (x_semi_canonicalize_console_connection):
6323         * console-x.c (x_canonicalize_device_connection):
6324         [[[6]]]: Change char to more specific type.
6325         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6326
6327         * console-x.c (x_semi_canonicalize_console_connection):
6328         * console-x.c (x_canonicalize_device_connection):
6329         [[[9]]]: Fix up error signalling to use new structured error system.
6330
6331         * console-x.h:
6332         [[[4]]]: Define codesys aliases:
6333         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6334         Qx_color_name_encoding, Qx_display_name_encoding.
6335
6336         * console.h (struct console_methods):
6337         New method make_dialog_box_internal supersedes older
6338         popup_dialog_box method.
6339
6340         * data.c:
6341         Define many new errors, part of new structured errors.
6342
6343         * data.c (init_errors_once_early):
6344         * data.c (syms_of_data):
6345         [2].
6346
6347         * device-msw.c (mswindows_init_device):
6348         [[[5]]]: Cleanup to support NT 3.51.
6349
6350         * device-msw.c (decode_devmode): Cleanup.
6351
6352         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6353         * device-msw.c (mswindows_handle_print_dialog_box):
6354         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6355         * device-msw.c (syms_of_device_mswindows):
6356         Delete the dialog box primitives recently introduced by Kirill and
6357         instead interface to general dialog box interface.
6358
6359         * device-x.c:
6360         * device-x.c (compute_x_app_name):
6361         * device-x.c (x_init_device):
6362         * device-x.c (Fx_valid_keysym_name_p):
6363         * device-x.c (Fx_set_font_path):
6364         [6].
6365         [7].
6366
6367         * device.h (wrap_device): New.
6368         First of its kind; meant to replace XSETDEVICE.
6369
6370         * dialog-msw.c: Many file-dialog symbols.
6371
6372         * dialog-msw.c (mswindows_register_popup_frame): New.
6373         * dialog-msw.c (mswindows_is_dialog_msg): New.
6374         For supporting kbd traversal in dialog boxes.
6375
6376         * dialog-msw.c (dialog_proc):
6377         Support hitting ESC in dialogs.
6378
6379         * dialog-msw.c (struct):
6380         Common dialog box errors.
6381
6382         * dialog-msw.c (handle_file_dialog_box): New.
6383         Add file dialog code.
6384
6385         * dialog-msw.c (handle_question_dialog_box):
6386         Redo existing code to support new question dialog syntax.
6387
6388         * dialog-msw.c (console_type_create_dialog_mswindows):
6389         We support new dialog console method.
6390
6391         * dialog-msw.c (syms_of_dialog_mswindows):
6392         * dialog-msw.c (vars_of_dialog_mswindows):
6393         New file dialog symbols, vars.
6394
6395         * dialog-x.c:
6396         * dialog-x.c (maybe_run_dbox_text_callback):
6397         * dialog-x.c (dbox_descriptor_to_widget_value):
6398         * dialog-x.c (x_make_dialog_box_internal):
6399         * dialog-x.c (console_type_create_dialog_x):
6400         Mule-ize entire file.
6401         Redo to support question dialog syntax.
6402         [6].
6403
6404         * dialog.c:
6405         * dialog.c (Fmake_dialog_box_internal):
6406         * dialog.c (syms_of_dialog):
6407         Kill old popup-dialog-box, replace with new primitive.
6408         Just call device method or signal error.
6409
6410         * eldap.c (Fldap_open):
6411         * eldap.c (Fldap_search_basic):
6412         * eldap.c (Fldap_add):
6413         * eldap.c (Fldap_modify):
6414         [1].
6415         [7].
6416
6417         * emacs.c:
6418         * emacs.c (make_arg_list_1):
6419         * emacs.c (make_arg_list):
6420         Mule-ize call to dll_init().
6421         [6].
6422         [8].
6423
6424         * emacs.c (make_argc_argv):
6425         * emacs.c (free_argc_argv):
6426         * emacs.c (init_cmdargs):
6427         * emacs.c (main_1):
6428         * emacs.c (Fkill_emacs):
6429         * emacs.c (Fdump_emacs):
6430         Update comments about what can be used in syms_* etc.
6431         Call init_win32() when necessary.
6432         Fix up MS Win dialog box in kill-buffer to actually work right.
6433         [7].
6434
6435         * eval.c:
6436         * eval.c (For):
6437         * eval.c (Fand):
6438         * eval.c (Fprogn):
6439         * eval.c (Fprog1):
6440         * eval.c (Fprog2):
6441         * eval.c (FletX):
6442         * eval.c (Flet):
6443         * eval.c (condition_case_3):
6444         * eval.c (Feval):
6445         * eval.c (function_argcount):
6446         * eval.c (funcall_lambda):
6447         [1].
6448
6449         * eval.c (type_error): New.
6450         * eval.c (maybe_type_error): New.
6451         * eval.c (continuable_type_error): New.
6452         * eval.c (maybe_continuable_type_error): New.
6453         * eval.c (type_error_with_frob): New.
6454         * eval.c (maybe_type_error_with_frob): New.
6455         * eval.c (continuable_type_error_with_frob): New.
6456         * eval.c (maybe_continuable_type_error_with_frob): New.
6457         New functions for use with structured errors.
6458
6459         * event-Xt.c:
6460         * event-Xt.c (x_event_to_emacs_event):
6461         Buttons are now modifiers too.
6462
6463         * event-Xt.c (emacs_Xt_current_event_timestamp):
6464         Implement new event method.
6465         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6466
6467         * event-msw.c:
6468         * event-msw.c (ntpipe_shove_writer): [5].
6469         * event-msw.c (mswindows_enqueue_mouse_button_event):
6470         * event-msw.c (mswindows_drain_windows_queue):
6471         * event-msw.c (mswindows_wnd_proc): [7].
6472         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6473         * event-msw.c (mswindows_modifier_state):
6474         Throughout: support new button modifiers.
6475
6476         * event-msw.c (emacs_mswindows_current_event_timestamp):
6477         Implement new event method.
6478         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6479
6480         * event-stream.c:
6481         * event-stream.c (event_stream_current_event_timestamp): New.
6482         * event-stream.c (maybe_kbd_translate): New functionality.
6483         * event-stream.c (vars_of_event_stream):
6484         Document new kbd-translate-table functionality.
6485
6486         * event-stream.c (Fcurrent_event_timestamp): New.
6487         New primitive for use in fabricated events.
6488         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6489
6490         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6491
6492         * events.c:
6493         * events.c (Fmake_event):
6494         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6495         [1].
6496         [9].
6497
6498         * events.c (format_event_object): fix gcc warnings.
6499
6500         * events.c (Fevent_timestamp): Document new primitives.
6501
6502         * events.c (TIMESTAMP_HALFSPACE): New.
6503
6504         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6505         comparing timestamps correctly (half-space algorithm).
6506
6507         * events.c (Fevent_modifier_bits): Doc fix.
6508
6509         * events.c (Fevent_modifiers): Major doc addition.
6510         * events.c (event_x_y_pixel_internal): Typo fix.
6511         * events.c (syms_of_events): Declare new primitives.
6512
6513         * events.h:
6514         Update long comment for button modifiers, timestamps.
6515
6516         * events.h (struct event_stream):
6517         New current_event_timestamp method.
6518
6519         * extents.c:
6520         * extents.c (extent_in_region_p):
6521         * extents.c (decode_extent):
6522         * extents.c (Fset_extent_parent):
6523         * extents.c (decode_map_extents_flags):
6524         Fix gcc warnings.
6525         [9].
6526
6527         * extents.c (struct extent_at_arg):
6528         * extents.c (decode_extent_at_flag):
6529         * extents.c (extent_at_mapper):
6530         * extents.c (extent_at_bytind):
6531         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6532         * extents.c (Fextents_at): New primitive. [9].
6533         * extents.c (symbol_to_glyph_layout): [9].
6534         Support new primitive `extents-at'.
6535
6536
6537         * extents.c (get_text_property_bytind):
6538         extent_at_bytind has another arg.
6539         [9].
6540
6541         * extents.c (syms_of_extents): New primitive.
6542
6543         * file-coding.c (Fmake_coding_system): [1].
6544         * file-coding.c (subsidiary_coding_system): fix gcc warning
6545         * file-coding.c (syms_of_file_coding): [2].
6546
6547         * fileio.c (Fexpand_file_name):
6548         * fileio.c (Fsysnetunam):
6549         * fileio.c (Ffile_exists_p):
6550         * fileio.c (Ffile_executable_p):
6551         * fileio.c (Fverify_visited_file_modtime):
6552         Clean up GCPROing.
6553
6554         * fileio.c (syms_of_fileio): [2].
6555
6556         * filelock.c (lock_file_1):
6557         * filelock.c (current_lock_owner):
6558         * filelock.c (lock_if_free):
6559         * filelock.c (lock_file):
6560         * filelock.c (unlock_file):
6561         Clean up GCPROing.
6562
6563         * fns.c (concat): Fix gcc warning.
6564
6565         * fns.c (Fmember):
6566         * fns.c (Fold_member):
6567         * fns.c (Fmemq):
6568         * fns.c (Fold_memq):
6569         * fns.c (memq_no_quit):
6570         * fns.c (Fassoc):
6571         * fns.c (Fold_assoc):
6572         * fns.c (Fassq):
6573         * fns.c (Fold_assq):
6574         * fns.c (assq_no_quit):
6575         * fns.c (Frassoc):
6576         * fns.c (Fold_rassoc):
6577         * fns.c (Frassq):
6578         * fns.c (Fold_rassq):
6579         * fns.c (rassq_no_quit):
6580         * fns.c (Fdelete):
6581         * fns.c (Fold_delete):
6582         * fns.c (Fdelq):
6583         * fns.c (Fold_delq):
6584         * fns.c (delq_no_quit):
6585         * fns.c (Fremassoc):
6586         * fns.c (Fremassq):
6587         * fns.c (remassq_no_quit):
6588         * fns.c (Fremrassoc):
6589         * fns.c (Fremrassq):
6590         * fns.c (remrassq_no_quit):
6591         * fns.c (Freverse):
6592         * fns.c (mapcar1):
6593         [1].
6594
6595         * frame-msw.c (mswindows_init_frame_1):
6596         * frame-msw.c (mswindows_delete_frame):
6597         Register popups with dialog code so keyboard traversing works.
6598
6599         * frame-tty.c (tty_raise_frame_no_select): [1].
6600
6601         * frame-x.c:
6602         * frame-x.c (x_set_frame_text_value):
6603         * frame-x.c (x_set_frame_properties):
6604         * frame-x.c (x_create_widgets):
6605         [7].
6606
6607         * frame.c:
6608         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6609
6610         * frame.h (wrap_frame): New.
6611         Macro like wrap_device.
6612
6613         * general.c:
6614         * general.c (SYMBOL):
6615         * general.c (syms_of_general):
6616         Major reorg.  This is now just a wrapper and symbols themselves
6617         are listed in general-slots.h.
6618
6619         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6620         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6621
6622         * glyphs-msw.c (mswindows_native_layout_instantiate):
6623         Add DS_CONTROL so keyboard traversal will work.
6624
6625         * glyphs-widget.c:
6626         * glyphs-widget.c (syms_of_glyphs_widget):
6627         Move some symbols to general-slots.h.
6628
6629         * glyphs-x.c:
6630         * glyphs-x.c (xbm_instantiate_1):
6631         * glyphs-x.c (x_xbm_instantiate):
6632         * glyphs-x.c (x_xface_instantiate):
6633         * glyphs-x.c (autodetect_instantiate):
6634         * glyphs-x.c (cursor_font_instantiate):
6635         * glyphs-x.c (x_update_widget):
6636         * glyphs-x.c (x_widget_instantiate):
6637         * glyphs.c (bitmap_to_lisp_data):
6638         * glyphs.c (pixmap_to_lisp_data):
6639         [7].
6640
6641         * glyphs.c (syms_of_glyphs):
6642         [2].
6643
6644         * gui-x.c:
6645         * gui-x.c (print_widget_value):
6646         * gui-x.c (menu_separator_style_and_to_external):
6647         * gui-x.c (add_accel_and_to_external):
6648         * gui-x.c (button_item_to_widget_value):
6649         * gui-x.c (gui_items_to_widget_values_1):
6650         * gui-x.c (gui_items_to_widget_values):
6651         * gui-x.c (syms_of_gui_x):
6652         * gui-x.c (vars_of_gui_x):
6653         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6654         [9].
6655
6656         * gui-x.h:
6657         Muleize, prototype changes matching gui-x.c.
6658
6659         * gui.c:
6660         * gui.c (separator_string_p):
6661         * gui.c (gui_item_add_keyval_pair):
6662         * gui.c (make_gui_item_from_keywords_internal):
6663         * gui.c (signal_too_long_error):
6664         * gui.c (parse_gui_item_tree_item):
6665         * gui.c (syms_of_gui):
6666         * gui.c (vars_of_gui):
6667         * gui.h:
6668         menu-no-selection-hook moved here (used by MSWin).
6669         Move some symbols to general-slots.h.
6670         [6].
6671         [9].
6672
6673         * insdel.c (get_buffer_pos_char):
6674         * insdel.c (get_buffer_range_char):
6675         Add GC comments.
6676
6677         * keymap.c (keymap_lookup_directly):
6678         * keymap.c (keymap_store):
6679         * keymap.c (ensure_meta_prefix_char_keymapp):
6680         * keymap.c (describe_map):
6681         * keymap.h:
6682         Support new button modifiers.
6683
6684         * lisp-disunion.h (wrap_object):
6685         * lisp-disunion.h (XSETOBJ):
6686         Rename make_obj to wrap_object.
6687
6688         * lisp-union.h:
6689         * lisp-union.h (make_int):
6690         * lisp-union.h (make_char):
6691         Support wrap_object.
6692
6693         * lisp.h:
6694         * lisp.h (LIST_LOOP):
6695         * lisp.h (EXTERNAL_LIST_LOOP):
6696         * lisp.h (LIST_LOOP_2):
6697         * lisp.h (EXTERNAL_LIST_LOOP_1):
6698         * lisp.h (EXTERNAL_LIST_LOOP_2):
6699         * lisp.h (EXTERNAL_LIST_LOOP_3):
6700         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6701         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6702         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6703         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6704         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6705         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6706         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6707         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6708         * lisp.h (struct Lisp_Symbol):
6709         * lisp.h (maybe_continuable_error_with_frob):
6710         Fix up section comments.
6711         Add new types for char to indicate usage.
6712         Delete symbols auto-generated from general-slots.h.
6713         Add prototypes for structured error functions.
6714         Add long comments describing looping macros and change interface
6715         so that lvalues are automatically declared.
6716         Add NO_DECLARE macro in case callers want to declare lvalues
6717         themselves.
6718
6719         * lread.c (read_syntax_error):
6720         * lread.c (continuable_read_syntax_error):
6721         * lread.c (read_structure):
6722         * lread.c (sequence_reader):
6723         * lread.c (read_list_conser):
6724         * lread.c (read_compiled_function):
6725         Rename syntax_error and continuable_syntax_error to avoid clash
6726         with same-named structured error functions.
6727
6728         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6729         * menubar-msw.c (populate_menu_add_item):
6730         * menubar-msw.c (populate_or_checksum_helper):
6731         [5].
6732         [9].
6733
6734         * menubar-x.c:
6735         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6736         Mule-ize whole file.
6737
6738         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6739
6740         * mule-charset.c (Fmake_charset):
6741         * mule-wnnfns.c (Fwnn_set_param):
6742         [1].
6743
6744         * ntproc.c (create_child):
6745         * ntproc.c (Fwin32_set_current_locale):
6746         Add comments portending doom.
6747
6748         * objects-msw.c:
6749         * objects-msw.c (old_font_enum_callback_2):
6750         * objects-msw.c (font_enum_callback_1):
6751         * objects-msw.c (mswindows_enumerate_fonts):
6752         [5].
6753
6754         * objects-x.c:
6755         * objects-x.c (allocate_nearest_color):
6756         * objects-x.c (x_parse_nearest_color):
6757         * objects-x.c (x_initialize_color_instance):
6758         * objects-x.c (x_print_color_instance):
6759         * objects-x.c (x_finalize_color_instance):
6760         * objects-x.c (x_valid_color_name_p):
6761         * objects-x.c (x_initialize_font_instance):
6762         * objects-x.c (x_print_font_instance):
6763         * objects-x.c (valid_x_font_name_p):
6764         * objects-x.c (truename_via_FONT_prop):
6765         * objects-x.c (truename_via_random_props):
6766         * objects-x.c (truename_via_XListFonts):
6767         * objects-x.c (x_font_truename):
6768         * objects-x.c (x_font_instance_truename):
6769         * objects-x.c (x_font_instance_properties):
6770         * objects-x.c (x_list_fonts):
6771         * objects-x.c (x_find_charset_font):
6772         Mule-ize entire file.
6773         [7].
6774
6775         * objects-x.h:
6776         Mule-verify.
6777
6778         * print.c:
6779         * print.c (std_handle_out_external):
6780         * print.c (debug_print_no_newline):
6781         * print.c (syms_of_print):
6782         Output to all debugger kinds in debug-print.
6783         Fix console-output code under MSWin to actually work.
6784
6785         * process-nt.c (send_signal):
6786         * process-nt.c (nt_create_process):
6787         Use newer Unicode macros.
6788
6789         * process-unix.c (unix_create_process):
6790         * process-unix.c (unix_canonicalize_host_name):
6791         * process-unix.c (unix_open_network_stream):
6792         [7].
6793
6794         * scrollbar-x.c:
6795         Mule-verify.
6796
6797         * search.c (syms_of_search):
6798         [2].
6799
6800         * select-msw.c (mswindows_destroy_selection):
6801         Use LIST_LOOP_2.
6802
6803         * select-x.c (symbol_to_x_atom):
6804         [7].
6805
6806         * select.c (syms_of_select):
6807         [2].
6808
6809         * sound.c (Fplay_sound_file):
6810         [7].
6811
6812         * specifier.c:
6813         * specifier.c (decode_specifier_type):
6814         * specifier.c (Fvalid_specifier_locale_type_p):
6815         * specifier.c (check_valid_locale_or_locale_type):
6816         * specifier.c (decode_locale):
6817         * specifier.c (decode_locale_type):
6818         * specifier.c (decode_locale_list):
6819         * specifier.c (check_valid_domain):
6820         * specifier.c (decode_specifier_tag_set):
6821         * specifier.c (Fcanonicalize_tag_set):
6822         * specifier.c (Fdefine_specifier_tag):
6823         * specifier.c (Fspecifier_tag_predicate):
6824         * specifier.c (check_valid_inst_list):
6825         * specifier.c (check_valid_spec_list):
6826         * specifier.c (decode_how_to_add_specification):
6827         * specifier.c (check_modifiable_specifier):
6828         * specifier.c (specifier_add_spec):
6829         * specifier.c (boolean_validate):
6830         * specifier.c (display_table_validate):
6831         [9].
6832
6833         * specifier.c (syms_of_specifier):
6834         Move some symbols to general-slots.h.
6835         [2].
6836
6837         * symbols.c:
6838         * symbols.c (Fmapatoms):
6839         * symbols.c (Fapropos_internal):
6840         Add GCPROs.
6841
6842         * symbols.c (set_default_buffer_slot_variable):
6843         * symbols.c (set_default_console_slot_variable):
6844         [1].
6845
6846         * symbols.c (defsymbol_massage_name_1):
6847         * symbols.c (defkeyword_massage_name):
6848         * symbols.c (deferror_1):
6849         * symbols.c (deferror):
6850         * symbols.c (deferror_massage_name_and_message):
6851         * symeval.h:
6852         * symeval.h (DEFSYMBOL):
6853         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6854
6855         * symbols.c (syms_of_symbols):
6856         [2].
6857
6858         * symsinit.h:
6859         * symsinit.h (init_win32): New.
6860         Also new is syms_of_dialog_mswindows.
6861
6862         * syswindows.h:
6863         Add new Unicode macros, missing Cygwin wide-char functions,
6864         convenience conversion macros for Qmswindows_tstr, macros for
6865         encapsulating required MSWin <-> Cygwin filename conversions,
6866         prototype for dynamically-extracted (not in NT 3.51) functions.
6867
6868         * toolbar-x.c:
6869         Mule-verify.
6870
6871         * tooltalk.c (Fadd_tooltalk_message_arg):
6872         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6873         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6874         [7].
6875
6876         * tooltalk.c (syms_of_tooltalk):
6877         [2].
6878
6879         * unexnt.c:
6880         * unexnt.c (unexec):
6881         Fix up headers, declaration of unexec() to be more standard.
6882
6883 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6884
6885         * offix.h: Revert change to guard macros - they're used in offix.c!
6886
6887 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6888
6889         * lisp.h: Defsubred Fdelete.
6890
6891         * console-msw.h:  (msprinter_default_printer): Added.
6892
6893         * console-msw.c (msprinter_canonicalize_console_connection):
6894         (msprinter_canonicalize_device_connection): Added.
6895
6896         * device-msw.c (msprinter_default_printer):
6897         (Fmswingows_get_default_printer):
6898         (signal_enum_priner_error):
6899         (Fmswingows_printer_list): Added.
6900
6901 2000-07-19  Martin Buchholz <martin@xemacs.org>
6902
6903         * XEmacs 21.2.35 is released.
6904
6905 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6906
6907         * select-x.c (x_handle_selection_request):
6908         Text selected in xemacs and pasted into xterm failed to appear.
6909         Spelling fixes and cosmetic changes.
6910
6911 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6912
6913         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6914         XEmacs frame (fix for doubling chars in dialog boxes).
6915
6916 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6917
6918         * select.c (select_convert_in, select_convert_out):
6919         Don't call intern() every time.
6920
6921         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6922         * select.c (vars_of_select): Initialise them.
6923
6924 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6925
6926         * select.c (selection-coercible-types): New.
6927
6928         * select.c (own-selection-internal):
6929         * select.c (get-selection-internal):
6930         MULE bug fix - these should default to COMPOUND_TEXT and not
6931         STRING for MULE. I think.
6932
6933         * select.c (select_convert_out): Use selection-coercible-types
6934         to find types that we can attempt to perform coercions on.
6935
6936 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6937
6938         * mule-wnnfns.c:
6939         * mule-canna.c:
6940         Add coding: cookie to identify encoding.
6941
6942         * mule-canna.c (CANNA_mode_keys): make static.
6943         Use proper prototypes, even for functions of no arguments.
6944         Remove external prototype for Fding().
6945
6946         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6947
6948         * select.c (syms_of_select): Add missing DEFSUBR.
6949
6950 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6951
6952         * select.c (get_selection_internal, own_selection_internal):
6953         Make the type default to STRING, rather than placing a nil type
6954         into Vselection_alist.
6955
6956 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6957
6958         * gpmevent.c (tty_selection_exists_p):
6959         * gpmevent.c (tty_own_selection):
6960         Updated parameter lists.
6961
6962 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6963
6964         * select.h (selection-alist): Removed declaration.
6965
6966         * select.h (get_local_selection):
6967         * select.c (get_local_selection):
6968         Made static.
6969
6970         * select.h (convert_selection): Removed declaration.
6971         * select.c (convert_selection): Removed.
6972         This function belongs in Lisp.
6973
6974         * select.h (select_convert_in): Declare.
6975         * select.h (select_convert_out): Declare.
6976         * select.c (select_convert_in): New.
6977         * select.c (select_convert_out): New.
6978         New conversion functions for other files to call.
6979
6980         * select.h (select_notify_buffer_kill): Declare.
6981         * select.c (select_notify_buffer_kill): New.
6982         New functions that get called from kill-buffer.
6983
6984         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6985         X-specific lisp code.
6986
6987         * select.h: Declare some of the lisp-visible functions for
6988         external use.
6989
6990         * select.c (clean_local_selection_data): Removed. This was
6991         a disgusting function, and previously should have been in
6992         select-x.c in any case. The functionality is now provided
6993         in select-convert-from-integer (select.el).
6994
6995         * select.c (available-selection-types): Fixed stupidity where
6996         INTEGER and ATOM got added twice. Also add STRING when we see an
6997         extent.
6998
6999         * select.c (get-selection-internal): Removed symbol stripping. No
7000         longer causes conversion when data comes from the internal cache.
7001
7002         * select.c (syms_of_select): Added new functions.
7003
7004         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7005         error checking - previously this called abort!
7006
7007         * select-x.c (x_own_selection): Changed comment.
7008
7009         * select-x.c (x_handle_selection_request): Use select_convert_out.
7010         Don't mess with selection-alist; it's an internal variable of select.c.
7011
7012         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7013
7014         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7015         rather than messing with selection-alist.
7016
7017         * select-msw.c (mswindows_get_foreign_selection):
7018         Use TO_INTERNAL_FORMAT rather than hacking.
7019
7020 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7021
7022         * process-unix.c (unix_open_multicast_group):
7023         (unix_open_multicast_group): Remove useless casts.
7024
7025 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7026
7027         * sound.c (Fplay_sound): Fix `unused variable' warning.
7028
7029         * emacs.c (main): Use correct type for _environ on SCO5.
7030
7031 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7032
7033         * console.h (own_selection_method):
7034         * console.h (selection_exists_p_method):
7035         * console.h (available_selection_types_method): New.
7036         * console.h (register_selection_data_type_method): New.
7037         * console.h (selection_data_type_name): New.
7038
7039         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7040         function & alist to track GlobalAlloc()'d handles that need
7041         releasing when the clipboard data gets replaced or emptied.
7042
7043         * event-msw.c (mswindows_wnd_proc): Call it.
7044
7045         * lisp.h, general.c (Qappend): New symbol representing a
7046         `how-to-add' mode.
7047
7048         * select.c (own-selection-internal):
7049         * select.c (selection-exists-p):
7050         * select.c (available-selection-types): New.
7051         * select.c (register-selection-data-type): New.
7052         * select.c (selection-data-type-name): New.  New functions to deal
7053         with device-specific selection data formats.
7054         * select.c (selection-converter-out-alist): Renamed.
7055         * select.c (selection-converter-in-alist): New.
7056         * select.c (selection-appender-alist): New.  Added new alists.
7057         * select.c (syms_of_select, vars_of_select): Added new symbols &
7058         variables.
7059         * select.c (get_local_selection): Split.
7060         * select.c: Removed spurious type checking - selections may now be
7061         of any type, not just strings.
7062         * select.c (own-selection-internal):
7063
7064         * select.h, select.c (convert_selection): New. Created
7065         convert_selection() function based on get_local_selection().
7066         * select.h, select.c (QCF_*): New symbols representing mswindows
7067         clipboard formats.
7068         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7069         symbols representing `how-to-add' modes.
7070
7071         * select-msw.c (x_sym_p): New.
7072         * select-msw.c (symbol_to_ms_cf): New.
7073         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7074         symbols & clipboard formats. Can also handle string names.
7075         * select-msw.c (mswindows_own_selection):
7076         * select-msw.c (mswindows_selection_exists_p):
7077         Added `data-type' parameter. Use it.
7078         * select-msw.c (mswindows_available_selection_types): New.
7079         * select-msw.c (mswindows_register_selection_data_type): New.
7080         * select-msw.c (mswindows_selection_data_type_name): New.
7081         * select-msw.c (mswindows_own_selection):
7082         * select-msw.c (mswindows_get_foreign_selection):
7083         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7084         * select-msw.c (console_create_select_mswindows): Added new methods.
7085         * select-msw.c (mswindows_destroy_selection): New.
7086         * select-msw.c (Vhandle_alist): New list.
7087         * select-msw.c (mswindows_own_selection):
7088
7089         * select-x.c (x_own_selection):
7090         * select-x.c (x_selection_exists_p):
7091         * select-x.c: Added some comments about maybe using new
7092         functionality.
7093         * select-x.c (x_own_selection):
7094
7095         * specifier.c: Remove definition of Qappend (now in general.c)
7096         * specifier.c (syms_of_specifier): Remove Qappend.
7097
7098 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7099
7100         * config.h.in: Add socklen_t.
7101
7102         * s/decosf4-0.h: No special compiler flags needed or desired.
7103         In particular, undefine _BSD for DEC OSF 4.0.
7104
7105 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7106
7107         * redisplay-msw.c (msprinter_frame_output_end): Added.
7108         (console_type_create_redisplay_mswindows): Referred the above.
7109
7110         * frame.c (setup_frame_without_minibuffer): Do not create a
7111         default minibuffer frame on a printer device.
7112
7113         * frame-msw.c (apply_dc_geometry): Added.
7114         (msprinter_start_page):
7115         (msprinter_init_frame_3):
7116         (msprinter_eject_page): Use it.
7117
7118         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7119         and removed residual duplex and orientation properties.
7120
7121 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7122
7123         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7124
7125         * unexalpha.c: Remove system prototypes from C sources!
7126
7127 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7128
7129         * eval.c: Remove references to M-x edit-options in DEFUNs for
7130         `defvar' and `defconst'.
7131
7132 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7133
7134         * config.h.in: Remove SMART_INCLUDE hackery.
7135
7136         PostgreSQL hacking:
7137         * config.h.in: Don't use SMART_INCLUDE.
7138
7139         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7140         * inline.c: Simply #include "postgresql.h"
7141         * postgresql.c:
7142         - Don't use SMART_INCLUDE
7143         - Use simply "const".
7144         - Use standard doc string conventions.
7145         - Use correct type for result of PQstatus.
7146
7147 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7148
7149         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7150
7151         C++ compilation changes.
7152         * config.h.in (EXTERN_C): Define.
7153         * config.h.in (not): This is also a C++ keyword.
7154         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7155         * cm.c: Use EXTERN_C.
7156         * redisplay-tty.c: Use EXTERN_C.
7157         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7158
7159 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7160
7161         * general.c: Remove duplicate definition for Qfunction.
7162
7163 2000-07-08  Ben Wing  <ben@xemacs.org>
7164
7165         * device-msw.c (msprinter_init_device):
7166         * device-msw.c (sync_printer_with_devmode):
7167         * device-msw.c (handle_devmode_changes):
7168         * device-msw.c (print_dialog_worker):
7169         * device-msw.c (Fmsprinter_apply_settings):
7170         * device-msw.c (hash_devmode):
7171         * device-msw.c (Fmsprinter_settings_despecialize):
7172         use Qmswindows_tstr, not Qctext.
7173
7174         * vm-limit.c (check_memory_limits):
7175         avoid infinite loop printing warning messages.
7176
7177 2000-07-05  Craig Lanning  <lanning@scra.org>
7178
7179         * Makefile.in.in: Add support for including the Windows resources
7180         when building with the cygwin and mingw targets.
7181
7182         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7183         not set or not correct.
7184         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7185         (init_initial_directory): Don't try to use $PWD on the
7186         WIN32_NATIVE target.
7187
7188         * s\cygwin32.h:
7189         [[Add -mwindows to eliminate console window.]] not required --ben
7190         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7191         (MAIL_USE_POP): removed; now handled by configure.
7192
7193         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7194         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7195         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7196         (MAIL_USE_POP): removed; now handled by configure.
7197         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7198         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7199         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7200         constant string.
7201         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7202         up from <winsock.h> via systime.h.
7203         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7204         (getpagesize): from Dan Holmsand, added.
7205         Added #endif which was left dangling by Ben's mega patch; added
7206         comment to help prevent this in the future.
7207
7208         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7209
7210 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7211
7212         * console-msw.h (struct mswindows_device): Removed unnecessary
7213         cached device geometry values.
7214         Added update_tick and an accessor macro.
7215         (Lisp_Devmode): Added lrecord declaration.
7216         (struct msprinter_device): Contain devmode as a Lisp object.
7217         Added mswindows_get_selected_frame_hwnd();
7218
7219         * console.h (struct console_methods): Indentation nitpicking.
7220
7221         * device-msw.c (mswindows_init_device): Do not initialize geometry
7222         cache. Initialize update tick.
7223         (mswindows_device_system_metrics): Ask the device for its geometry.
7224         (global_free_2_maybe):
7225         (devmode_to_hglobal):
7226         (handle_printer_changes):
7227         (ensure_not_printing):
7228         (print_dialog_worker):
7229         (Fmsprinter_print_setup_dialog):
7230         (Fmsprinter_print_dialog):
7231         (plist_get_margin):
7232         (plist_set_margin):
7233         (Fmsprinter_page_setup_dialog): Added functions.
7234         (sync_printer_with_devmode):
7235         (handle_devmode_changes):
7236         (Fmsprinter_get_settings):
7237         (Fmsprinter_select_settings):
7238         (Fmsprinter_apply_settings):
7239         (allocate_devmode):
7240         (Fmsprinter_settings_copy):
7241         (Fmsprinter_settings_despecialize):
7242         (print_devmode):
7243         (finalize_devmode):
7244         (equal_devmode):
7245         (hash_devmode): Added functions
7246         (syms_of_device_mswindows): Init devmode lrecord class.
7247
7248         * device.h: Added an exfun for find-device.
7249
7250         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7251         geometry; although, recreate the device compatible DC.
7252
7253         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7254         (msprinter_init_frame_3):
7255         (msprinter_frame_property):
7256         (msprinter_internal_frame_property_p):
7257         (msprinter_frame_properties):
7258         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7259         print job properties (will move to device settings).
7260
7261         * lisp.h: Added symbols.
7262
7263         * general.c (syms_of_general): Declared them.
7264
7265         * hash.c (string_hash): Added.
7266
7267         * lrecord.h (lrecord_type): Added devmode lrecord type.
7268
7269 2000-07-02  Mike Sperber <mike@xemacs.org>
7270
7271         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7272         FreeBSD 4.0.
7273
7274 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7275
7276         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7277         integer.
7278
7279 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7280
7281         * data.c (Fstring_to_number): Don't recognize floating point if
7282         base is not 10.
7283
7284 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7285
7286         * glyphs-widget.c (tab_control_query_geometry):
7287         (widget_query_geometry):
7288         (button_query_geometry):
7289         * glyphs.c (text_query_geometry):
7290         Enforce type correctness.
7291
7292 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7293
7294         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7295         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7296
7297 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7298
7299         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7300         conflicts with gcc's fixincluded version of FOO.h.
7301
7302         * glyphs.h (image_instance_geometry): Remove trailing `,'
7303
7304 2000-06-08  Mike Alexander  <mta@arbortext.com>
7305
7306         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7307         (shove_thread): Don't write the same output twice
7308         (make_ntpipe_output_stream): Increase priority of shove thread
7309         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7310         chance to run
7311         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7312         it.
7313
7314 2000-06-12  Ben Wing  <ben@xemacs.org>
7315
7316         * s\mingw32.h (sigset):
7317         * s\windowsnt.h (sigset):
7318         rename msw_ to mswindows_ for consistency with general convention.
7319
7320 2000-06-12  Ben Wing  <ben@xemacs.org>
7321
7322         * console-msw.c:
7323         * console-msw.c (mswindows_get_console_hwnd):
7324         * console-msw.c (mswindows_ensure_console_allocated):
7325         * console-msw.c (mswindows_hide_console):
7326         * console-msw.c (mswindows_show_console):
7327         * console-msw.c (mswindows_ensure_console_buffered):
7328         * console-msw.c (mswindows_output_console_string):
7329         * console-msw.c (mswindows_windows9x_p):
7330         * console-msw.h:
7331         * device-msw.c (mswindows_get_workspace_coords):
7332         * device-msw.c (mswindows_device_system_metrics):
7333         * dialog-msw.c (mswindows_popup_dialog_box):
7334         * event-msw.c (mswindows_wnd_proc):
7335         * frame-msw.c (mswindows_size_frame_internal):
7336         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7337         * menubar-msw.c (displayable_menu_item):
7338         * menubar-msw.c (mswindows_char_is_accelerator):
7339         * nt.c:
7340         * nt.c (mswindows_sigset):
7341         * nt.c (mswindows_sigrelse):
7342         * nt.c (mswindows_sigpause):
7343         * nt.c (mswindows_raise):
7344         * nt.c (timer_proc):
7345         * ntproc.c:
7346         * ntproc.c (find_child_console):
7347         * ntproc.c (sys_kill):
7348         * print.c:
7349         * print.c (std_handle_out_external):
7350         * process-nt.c (find_child_console):
7351         * process-nt.c (send_signal_the_95_way):
7352         * process-nt.c (ensure_console_window_exists):
7353         * process-nt.c (nt_create_process):
7354         * syssignal.h:
7355         rename msw_ to mswindows_ for consistency with general convention.
7356
7357         * emacs.c:
7358         * dumper.c:
7359         include nt.h, not syswindows.h.
7360
7361         * nt.c (mswindows_fstat):
7362         * nt.c (mswindows_stat):
7363         prefix mswindows_ instead of attempting to directly override the
7364         library functions.  fix declarations.
7365
7366         * nt.h:
7367         include syswindows.h.  move some sysdep.h stuff here.
7368
7369         * ntheap.h:
7370         include syswindows.h, not <windows.h>.
7371
7372         * ntplay.c:
7373         clean up headers.
7374
7375         * sysdep.c:
7376         clean up headers.
7377
7378         * sysdep.c (sys_fstat):
7379         * sysdep.c (sys_stat):
7380         call mswindows versions when appropriate.
7381
7382         * sysdep.h:
7383         move mswin decls to nt.h.
7384
7385         * syswindows.h:
7386         add long comment describing appropriate use of the various windows
7387         headers.
7388
7389 2000-06-11  Ben Wing  <ben@xemacs.org>
7390
7391         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7392
7393 2000-06-10  Ben Wing  <ben@xemacs.org>
7394
7395         * Makefile.in.in (release):
7396         Correction to make sure xemacs.exe always dumped when correct.
7397
7398         * alloca.c:
7399         * balloon_help.c:
7400         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7401
7402         * buffer.c (set_buffer_internal):
7403         [[[[2]]]]: Remove HAVE_FEP code.
7404
7405         * buffer.c (init_initial_directory):
7406         [3].
7407
7408         * bytecode.c:
7409         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7410         individual files.
7411
7412         * callproc.c:
7413         * callproc.c (call_process_cleanup):
7414         * callproc.c (Fold_call_process_internal):
7415         * callproc.c (child_setup):
7416         * callproc.c (getenv_internal):
7417         * callproc.c (init_callproc):
7418         * callproc.c (vars_of_callproc):
7419         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7420         __CYGWIN32__ -> CYGWIN.
7421         DOS_NT -> WIN32_NATIVE.
7422         Remove MSDOS support/references, converting to WIN32_NATIVE
7423           where correct.
7424         __MINGW32__ -> MINGW.
7425         Fix windows.h includes.
7426         Remove bogus HAVE_NTGUI.
7427
7428         * config.h.in:
7429         [2].
7430
7431         * console-msw.c:
7432         mswindows_message_outputted added for use in allowing startup
7433         errors on the console to be seen.
7434
7435         * console-msw.c (msw_ensure_console_allocated):
7436         * console-msw.c (msw_output_console_string):
7437         * console-msw.c (DHEADER):
7438         * console-msw.c (DOPAQUE_DATA):
7439         * console-msw.c (DEVENT):
7440         * console-msw.c (DCONS):
7441         * console-msw.c (DCONSCDR):
7442         * console-msw.c (DSTRING):
7443         * console-msw.c (DVECTOR):
7444         * console-msw.c (DSYMBOL):
7445         * console-msw.c (DSYMNAME):
7446         Fix warnings.
7447
7448         * console-stream.c (stream_init_console):
7449         Fix text/binary problems.
7450
7451         * device-msw.c:
7452         * device-msw.c (mswindows_finish_init_device):
7453         * device-msw.c (mswindows_delete_device):
7454         [1].
7455
7456         * device.c (handle_asynch_device_change):
7457         [3].
7458
7459         * dgif_lib.c:
7460         * dgif_lib.c (DGifOpenFileName):
7461         * dgif_lib.c (DGifOpenFileHandle):
7462         * dgif_lib.c (DGifGetLine):
7463         * dgif_lib.c (DGifGetPixel):
7464         Added config.h/lisp.h, fix up includes.
7465         [1].
7466
7467         * dired-msw.c:
7468         [4].
7469
7470         * dired.c:
7471         * dired.c (file_name_completion):
7472         * dired.c (Ffile_attributes):
7473         * dired.c (syms_of_dired):
7474         [1].
7475
7476         * dumper.c:
7477         * dumper.c (pdump_file_unmap):
7478         * dumper.c (pdump_load):
7479         [1].
7480
7481         * editfns.c:
7482         * editfns.c (Ftemp_directory):
7483         * editfns.c (user_login_name):
7484         * editfns.c (Fuser_real_login_name):
7485         * editfns.c (get_home_directory):
7486         [1].
7487
7488         * elhash.c (finish_marking_weak_hash_tables):
7489         [[[[5]]]]: Fix GCC warnings.
7490
7491         * emacs.c:
7492         * emacs.c (mswindows_handle_hardware_exceptions):
7493         * emacs.c (make_arg_list_1):
7494         * emacs.c (main_1):
7495         * emacs.c (Fkill_emacs):
7496         * emacs.c (Fdump_emacs):
7497         [1].
7498         Fix problems with nested crashes, add long comment.
7499
7500         * event-Xt.c (init_event_Xt_late):
7501         [1].
7502
7503         * event-msw.c:
7504         * event-msw.c (mswindows_dde_callback):
7505         * event-msw.c (mswindows_handle_sticky_modifiers):
7506         * event-msw.c (mswindows_wnd_proc):
7507         [1].
7508         [5].
7509
7510         * events.c (character_to_event):
7511         [1].
7512
7513         * fileio.c:
7514         * fileio.c (Ffile_name_directory):
7515         * fileio.c (Ffile_name_nondirectory):
7516         * fileio.c (directory_file_name):
7517         * fileio.c (Fexpand_file_name):
7518         * fileio.c (Fsubstitute_in_file_name):
7519         * fileio.c (Ffile_name_absolute_p):
7520         * fileio.c (check_executable):
7521         * fileio.c (Ffile_readable_p):
7522         * fileio.c (Ffile_accessible_directory_p):
7523         * fileio.c (Ffile_modes):
7524         * fileio.c (Funix_sync):
7525         * fileio.c (vars_of_fileio):
7526         [1]. [4].
7527
7528         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7529
7530         Expand getdefdir defn.
7531         Fix bogus rename() comment.
7532
7533         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7534         to use standard XEmacs include files, e.g. sysfile.h, rather
7535         than system-specific includes.
7536
7537         * fns.c:
7538         * fns.c (Fsubseq):
7539         [5]. [6].
7540
7541         * frame.c (vars_of_frame):
7542         [1].
7543
7544         * getloadavg.c:
7545         * getloadavg.c (getloadavg):
7546         [1]. [6].
7547         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7548         (We don't use it elsewhere in the code; just add a comment.)
7549
7550         * gif_io.c:
7551         [6].
7552         Add config.h.
7553
7554         * glyphs-msw.c:
7555         * glyphs-msw.c (mswindows_resource_instantiate):
7556         [1].
7557
7558         * glyphs-x.c (x_native_layout_instantiate):
7559         [5].
7560
7561         * gui-msw.c (Fmswindows_shell_execute):
7562         [1].
7563
7564         * insdel.c:
7565         [4].
7566
7567         * lisp.h:
7568         [4]. [5].
7569
7570         * lread.c (locate_file_in_directory_mapper):
7571         [1].
7572
7573         * lstream.c:
7574         [4].
7575
7576         * mem-limits.h:
7577         * mem-limits.h (get_lim_data):
7578         [1].
7579
7580         * menubar-msw.c:
7581         [4].
7582
7583         * ndir.h:
7584         [1].
7585
7586         * nt.c:
7587         * nt.c (getwd):
7588         * nt.c (closedir):
7589         * nt.c (rva_to_section):
7590         * nt.c (mswindows_executable_type):
7591         [1]. [6].
7592         Fix closedir() defn.
7593
7594         * nt.h:
7595         [[[[8]]]]: *_OK defs moved to sysfile.h.
7596
7597         * ntproc.c:
7598         [6]. [7].
7599
7600         * objects-x.c:
7601         [4].
7602
7603         * print.c:
7604         * print.c (std_handle_out_external):
7605         [1]. [4].
7606
7607         * process-nt.c:
7608         * process-nt.c (nt_create_process):
7609         [6].
7610         try to fix process quoting somewhat.
7611
7612         * process-unix.c (unix_create_process):
7613         [1].
7614
7615         * process.c:
7616         * process.c (vars_of_process):
7617         Add Vnull_device.
7618
7619         * process.h:
7620         [1].
7621
7622         * realpath.c:
7623         * realpath.c (xrealpath):
7624         [1].
7625
7626         * redisplay-tty.c (init_tty_for_redisplay):
7627         [3].
7628
7629         * redisplay.c:
7630         [4]. [6].
7631
7632         * scrollbar-msw.c:
7633         [4].
7634
7635         * sheap.c:
7636         * sheap.c (more_static_core):
7637         * sheap.c (report_sheap_usage):
7638         [5]. [6].
7639
7640         * signal.c:
7641         * signal.c (alarm_signal):
7642         [1]. [6].
7643
7644         * sound.c:
7645         [6].
7646
7647         * strftime.c:
7648         * strftime.c (zone_name):
7649         [1]. [5].
7650
7651         * symsinit.h (init_sunpro):
7652         [1].
7653
7654         * syscommctrl.h:
7655         commctrl.h not in Cygwin b20.1.
7656
7657         * sysdep.c:
7658         * sysdep.c (endif):
7659         * sysdep.c (sys_subshell):
7660         * sysdep.c (init_baud_rate):
7661         * sysdep.c (emacs_get_tty):
7662         * sysdep.c (emacs_set_tty):
7663         * sysdep.c (tty_init_sys_modes_on_device):
7664         * sysdep.c (init_system_name):
7665         * sysdep.c (sys_open):
7666         * sysdep.c (interruptible_open):
7667         * sysdep.c (sys_fopen):
7668         * sysdep.c (sys_mkdir):
7669         * sysdep.c (sys_rename):
7670         * sysdep.c (get_process_times_1):
7671         [1]. [6].
7672
7673         * sysdep.h:
7674         [1].
7675
7676         * sysdir.h:
7677         * sysdir.h (DIRENTRY_NONEMPTY):
7678         [1]. [6].
7679
7680         * sysdll.c (dll_init):
7681         * sysdll.h:
7682         [1].
7683
7684         * sysfile.h:
7685         [1]. [6]. [8].
7686         added text/binary defs.
7687
7688         * sysfloat.h:
7689         [1].
7690
7691         * sysproc.h:
7692         * sysproc.h (EDESTADDRREQ):
7693         * sysproc.h (poll_fds_for_input):
7694         [1]. [6].
7695
7696         * syspwd.h:
7697         [6].
7698
7699         * syssignal.h:
7700         [1].
7701
7702         * systime.h:
7703         [1]. [6].
7704
7705         * systty.h:
7706         [1].
7707
7708         * syswindows.h:
7709         [1].
7710         Always define WIN32_LEAN_AND_MEAN.
7711
7712         * unexcw.c (unexec):
7713         [5].
7714
7715         * unexec.c:
7716         * unexec.c (copy_text_and_data):
7717         * unexec.c (adjust_lnnoptrs):
7718         [1].
7719
7720         * unexnt.c:
7721         * unexnt.c (_start):
7722         [1].
7723
7724 2000-06-07  Ben Wing  <ben@xemacs.org>
7725
7726         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7727         was used only as a model.  We've long since extracted any useful
7728         logic or code out of this. (I just did an exhaustive search.)
7729
7730         * s\msdos.h: Removed.
7731
7732         * s\windows95.h: Removed.
7733
7734 2000-06-10  Ben Wing  <ben@xemacs.org>
7735
7736         * s\cygwin32.h:
7737         [1]. [5].
7738         Don't use extern with fun defs.
7739
7740         * s\mingw32.h:
7741         [1]. [7].
7742         Remove nt\inc include.
7743         Remove getdisk, getdefdir. (The former is unused, the latter
7744         expanded in fileio.h.)
7745
7746         * s\windowsnt.h:
7747         * s\windowsnt.h (WIN32_NATIVE):
7748         * s\windowsnt.h (HAVE_STRCASECMP):
7749         [1]. [7].
7750         Add long comment about preprocessor changes.
7751         Remove getdisk, getdefdir. (The former is unused, the latter
7752         expanded in fileio.h.)
7753
7754 2000-06-10  Ben Wing  <ben@xemacs.org>
7755
7756         * m\arm.h:
7757         * m\delta.h:
7758         * m\intel386.h:
7759         * m\sequent.h:
7760         * m\template.h:
7761         * m\windowsnt.h:
7762         [1].
7763         Remove bogus/unused NO_SOCK_SIGIO.
7764
7765 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7766
7767         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7768         not an Emchar.
7769
7770 2000-06-04  Mike Sperber <mike@xemacs.org>
7771
7772         * casetab.c (set_case_table): For `set-standard-case-table',
7773         actually deposit the new case tables where the rest of XEmacs can
7774         see them.
7775
7776 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7777
7778         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7779
7780 2000-06-05  Ben Wing  <ben@xemacs.org>
7781
7782         * callproc.c (child_setup): Don't do close_load_descs() under
7783         MS Windows.  Put in a comment explaining why.
7784
7785 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7786
7787         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7788         Toolkit shell" which breaks `kill-compilation' on Windows NT
7789         native, retaining STDERR handling improvements.
7790
7791 2000-06-01  Andreas Jaeger  <aj@suse.de>
7792
7793         * s/s390.h: Support for S390, based on a patch by Martin
7794         Schwidefsky <schwidefsky@de.ibm.com>.
7795
7796 2000-05-30  Andy Piper  <andy@xemacs.org>
7797
7798         * window.c (allocate_window):
7799         (make_dummy_parent):
7800         (Fset_window_configuration): use new hashtable type.
7801
7802         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7803         (struct image_instantiator_methods):
7804         (struct Lisp_Image_Instance): make instance geometry signed.
7805
7806         * glyphs.c (instantiate_image_instantiator):
7807         (image_instance_query_geometry):
7808         (image_instance_layout):
7809         (image_instance_layout):
7810         (query_string_geometry):
7811         (text_query_geometry):
7812         (image_instantiate):
7813         (image_instantiate):
7814         (cache_subwindow_instance_in_frame_maybe):
7815         (subwindow_query_geometry): make instance geometry signed.
7816
7817         * glyphs-widget.c (widget_query_geometry):
7818         (widget_layout):
7819         (button_query_geometry):
7820         (tree_view_query_geometry):
7821         (tab_control_query_geometry):
7822         (layout_query_geometry):
7823         (layout_layout):
7824         (native_layout_layout): make instance geometry signed.
7825
7826 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7827
7828         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7829         constant.
7830
7831         * general.c (syms_of_general): Add Qfull_assoc symbol.
7832
7833         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7834         correctly.
7835         (decode_weak_list_type): Decode full-assoc type.
7836         (encode_weak_list_type): Encode full-assoc type.
7837         (Fmake_weak_list): Update doc string.
7838
7839 2000-05-30  Andy Piper  <andy@xemacs.org>
7840
7841         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7842
7843         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7844         (decode_hash_table_weakness): ditto.
7845         (Fhash_table_weakness): ditto.
7846         (Fhash_table_type): ditto.
7847         (finish_marking_weak_hash_tables): ditto.
7848         (hash_table_weakness_validate): ditto.
7849         (syms_of_elhash): ditto.
7850
7851 2000-05-28  Martin Buchholz <martin@xemacs.org>
7852
7853         * XEmacs 21.2.34 is released.
7854
7855 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7856
7857         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7858         start cache.
7859         (updating_line_start_cache): Gone.
7860         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7861         generic code to force a minimum of 1 line laid out in the
7862         CMOTION_DISP case.
7863
7864 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7865
7866         * glyphs.c (instantiate_image_instantiator): Check for initialized
7867         height & width no longer special cases IMAGE_NOTHING.
7868         (nothing_instantiate): Set height and width of instance.
7869
7870 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7871
7872         * unexelf.c (unexec): Search for ".data" section.
7873         Initialize new_data2_offset from old_data_index.
7874         Remove redundant check for ElfW.
7875
7876 2000-05-23  Andy Piper  <andy@xemacs.org>
7877
7878         * glyphs.c (get_image_instantiator_governing_domain): allow more
7879         specific domains as the governing domain rather than expecting an
7880         exact match. This fixes problems with layouts.
7881
7882 2000-05-22  Andy Piper  <andy@xemacs.org>
7883
7884         * redisplay-output.c (compare_runes): check for non-images
7885
7886         * glyphs.c (set_glyph_dirty_p): ditto.
7887         (update_glyph_cachel_data): ditto.
7888
7889         * glyphs-widget.c (layout_post_instantiate): ditto.
7890         (layout_post_instantiate): ditto.
7891
7892         * event-msw.c (mswindows_wnd_proc): warning removal.
7893
7894 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7895
7896         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7897
7898         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7899
7900         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7901
7902         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7903         (mswindows_executable_type): mingw32 now has enough headers for
7904         this to work.
7905
7906 2000-05-20  Andy Piper  <andy@xemacs.org>
7907
7908         * console-msw.c (mswindows_output_last_error): ; -> ,
7909
7910 2000-05-12  Andy Piper  <andy@xemacs.org>
7911
7912         * console-msw.c (FROB): compare ints with ints.
7913
7914 2000-05-11  Andy Piper  <andy@xemacs.org>
7915
7916         * glyphs-x.c (x_finalize_image_instance): make minimal build
7917         happy.
7918
7919 2000-05-20  Ben Wing  <ben@xemacs.org>
7920
7921         * event-Xt.c:
7922         * event-Xt.c (vars_of_event_Xt):
7923         move modifier-keys-are-sticky to event-stream.c.
7924
7925         * event-msw.c:
7926         * event-msw.c (mswindows_enqueue_mouse_button_event):
7927         * event-msw.c (key_needs_default_processing_p):
7928         * event-msw.c (XEMSW_LCONTROL):
7929         * event-msw.c (mswindows_handle_sticky_modifiers):
7930         * event-msw.c (FROB):
7931         * event-msw.c (clear_sticky_modifiers):
7932         * event-msw.c (output_modifier_keyboard_state):
7933         * event-msw.c (output_alt_keyboard_state):
7934         * event-msw.c (mswindows_wnd_proc):
7935         * event-msw.c (mswindows_modifier_state):
7936         * event-msw.c (emacs_mswindows_handle_magic_event):
7937         implement sticky modifiers.
7938
7939         * event-stream.c:
7940         * event-stream.c (vars_of_event_stream):
7941         move modifier-keys-are-sticky here.
7942
7943         * lisp.h:
7944         add CHECK_FUNCTION.
7945
7946         * rangetab.c:
7947         implement map-range-table.
7948
7949
7950 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7951
7952         * redisplay-tty.c (reset_tty_modes):
7953         (tty_redisplay_shutdown): Adjust argument type to
7954         tty_frame_output_end.
7955
7956 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7957
7958         * eval.c (Fbacktrace): Don't output a line with only right
7959         parenthesis.
7960
7961 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7962
7963         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7964         (Fpq_reset_poll): Ditto.
7965
7966 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7967
7968         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7969
7970 2000-05-16  Ben Wing  <ben@xemacs.org>
7971
7972         * buffer.c:
7973         * buffer.c (dfc_convert_to/from_internal_format):
7974         * buffer.c (reinit_vars_of_buffer):
7975         Fix conversion functions to allow reentrancy.
7976
7977         * console-msw.c:
7978         * console-msw.c (mswindows_output_last_error):
7979         New fun, generally useful -- output a human-readable
7980         version of GetLastError() on the console.
7981
7982         * console-msw.h:
7983         * console-msw.h (struct mswindows_frame):
7984         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7985
7986         * console-stream.c (stream_output_begin):
7987         * console-stream.c (stream_output_end):
7988         * console-stream.c (stream_output_vertical_divider):
7989         * console-stream.c (stream_clear_region):
7990         * console-stream.c (stream_flash):
7991         * console-stream.c (console_type_create_stream):
7992         Delete blank stream methods, not needed.
7993
7994         * console.h (struct console_methods):
7995         Split begin/end methods into window and frame.
7996
7997         * event-msw.c:
7998         * event-msw.c (mswindows_handle_paint):
7999         * event-msw.c (output_alt_keyboard_state):
8000         * event-msw.c (mswindows_wnd_proc):
8001         * event-msw.c (vars_of_event_mswindows):
8002         Comment about problems with ignored-expose.
8003         Define mswindows-debug-events; not really implemented.
8004
8005         * frame-msw.c (mswindows_init_frame_1):
8006         random cleanups.
8007
8008         * glyphs-msw.c:
8009         * glyphs-msw.c (begin_defer_window_pos):
8010         * glyphs-msw.c (mswindows_unmap_subwindow):
8011         * glyphs-msw.c (mswindows_map_subwindow):
8012         * glyphs-msw.c (mswindows_resize_subwindow):
8013         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8014
8015         * glyphs.c (make_image_instance_1):
8016         Fix crash.
8017
8018         * gutter.c (Fredisplay_gutter_area):
8019         Use new begin/end methods.
8020
8021         * lisp.h (Dynarr_new2):
8022         New creation fun.
8023
8024         * redisplay-msw.c:
8025         * redisplay-msw.c (mswindows_frame_output_begin):
8026         * redisplay-msw.c (mswindows_frame_output_end):
8027         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8028         New begin/end methods -- handle DeferWindowPos.
8029
8030         * redisplay-output.c (redisplay_move_cursor):
8031         * redisplay-output.c (redraw_cursor_in_window):
8032         * redisplay-output.c (redisplay_update_line):
8033         * redisplay-output.c (redisplay_output_window):
8034         New begin/end methods.
8035
8036         * redisplay-tty.c:
8037         * redisplay-tty.c (tty_frame_output_begin):
8038         * redisplay-tty.c (tty_frame_output_end):
8039         * redisplay-tty.c (console_type_create_redisplay_tty):
8040         New begin/end methods.
8041
8042         * redisplay-x.c:
8043         * redisplay-x.c (x_window_output_begin):
8044         * redisplay-x.c (x_window_output_end):
8045         * redisplay-x.c (console_type_create_redisplay_x):
8046         New begin/end methods.
8047
8048         * redisplay.c (redisplay_frame):
8049         * redisplay.c (Fredisplay_echo_area):
8050         New begin/end methods.
8051         use MAYBE_DEVMETH for clear_frame; it may not exist.
8052
8053         * window.h (WINDOW_XFRAME):
8054         WINDOW_XFOO macros -- get locale and decode struct pointer.
8055
8056
8057 2000-05-12  Ben Wing  <ben@xemacs.org>
8058
8059         * emacs.c:
8060         * emacs.c (ensure_no_quitting_from_now_on):
8061         * emacs.c (fatal_error_signal):
8062         * emacs.c (mswindows_handle_hardware_exceptions):
8063         * emacs.c (main):
8064         * emacs.c (Fkill_emacs):
8065         * emacs.c (shut_down_emacs):
8066         * emacs.c (assert_failed):
8067         various improvements in fatal error handling.
8068
8069         * eval.c:
8070         move preparing_for_armageddon to emacs.c.
8071
8072         * lisp.h:
8073         declare fatal_error_in_progress.
8074
8075         * print.c:
8076         * print.c (std_handle_out_external):
8077         * print.c (std_handle_out_va):
8078         * print.c (stderr_out):
8079         * print.c (stdout_out):
8080         use console under mswin when no standard output.
8081         don't do code conversion during fatal error.
8082
8083         * scrollbar.c (Fscrollbar_page_up):
8084         * scrollbar.c (Fscrollbar_page_down):
8085         fix missing else.  reindent.
8086
8087 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8088
8089         Emergency fix.
8090
8091         * glyphs.h (GLYPH_CACHEL_DESCENT):
8092         (GLYPH_CACHEL_DESCENT):
8093         (GLYPH_CACHEL_DESCENT):
8094         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8095         used in case these are inline functions.
8096         Use more absurd values to error check.
8097
8098         include window.h for error check functions.
8099
8100 2000-05-11  Ben Wing  <ben@xemacs.org>
8101
8102         * cmdloop.c (Freally_early_error_handler):
8103         Display message box under windows; otherwise, message will disappear
8104         before it can be viewed.
8105
8106         * console-msw.c:
8107         * console-msw.c (Fmswindows_message_box):
8108         * console-msw.c (FROB):
8109         * console-msw.c (syms_of_console_mswindows):
8110         Define new fun `mswindows-message-box'.
8111         #### I will merge this into `popup-dialog-box'; just give me
8112         a bit of time.
8113
8114         * general.c:
8115         * general.c (syms_of_general):
8116         Some new symbols used in `mswindows-message-box'.
8117
8118         * glyphs.c:
8119         * glyphs.c (Fset_image_instance_property):
8120         put warning in this fun.
8121
8122         * glyphs.h:
8123         * glyphs.h (GLYPH_CACHEL_WIDTH):
8124         * glyphs.h (GLYPH_CACHEL_ASCENT):
8125         * glyphs.h (GLYPH_CACHEL):
8126         * glyphs.h (GLYPH_CACHEL_GLYPH):
8127         define error-checking versions to try to catch a bug i've seen --
8128         redisplay gets in an infinite loop because the glyph width of the
8129         continuation glyph is 65535.
8130
8131         * lisp.h:
8132         Extern message-box stuff.
8133
8134         * window.c (allocate_window):
8135         * window.c (make_dummy_parent):
8136         * window.c (Fset_window_configuration):
8137         Use EQUAL not EQ for subwindow caches to make them work a bit
8138         better. (Something is still very broken.)
8139
8140
8141 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8142
8143         * glyphs.c (image_instantiate): Suppress gcc warnings.
8144         (Fmake_image_instance): Fix doc string.
8145         * specifier.c (Fmake_specifier): Ditto.
8146
8147 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8148
8149         * paths.h.in (PATH_LOCK): Removed.
8150         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8151         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8152
8153 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8154
8155         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8156         Document (featurep '(and xemacs 21.02)).
8157
8158 2000-05-09  Ben Wing  <ben@xemacs.org>
8159
8160         * buffer.c (complex_vars_of_buffer):
8161         update modeline-format doc.
8162
8163         * device.h:
8164         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8165
8166         * emacs.c:
8167         timeline of all released versions of Emacs, for use in creating
8168         authorship comments and in synching up.
8169
8170         * glyphs-widget.c (image_instantiator_buttons):
8171         * glyphs-widget.c (image_instantiator_edit_fields):
8172         * glyphs-widget.c (image_instantiator_combo_box):
8173         * glyphs-widget.c (image_instantiator_scrollbar):
8174         * glyphs-widget.c (image_instantiator_progress_guage):
8175         * glyphs-widget.c (image_instantiator_tree_view):
8176         * glyphs-widget.c (image_instantiator_tab_control):
8177         * glyphs-widget.c (image_instantiator_labels):
8178         * glyphs-widget.c (image_instantiator_layout):
8179         * glyphs-widget.c (image_instantiator_native_layout):
8180         rename decode_domain method to governing_domain.
8181
8182         * glyphs.c:
8183         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8184         * glyphs.c (add_entry_to_device_ii_format_list):
8185         make sure we don't put an entry more than once into the list.
8186         * glyphs.c (check_instance_cache_mapper):
8187         *************************************************************
8188         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8189         HAVE BEEN GETTING.
8190         *************************************************************
8191         * glyphs.c (get_image_instantiator_governing_domain):
8192         clean up, expand on new concept of governing domain.
8193         * glyphs.c (instantiate_image_instantiator):
8194         * glyphs.c (allocate_image_instance):
8195         use governing_domain instead of cache_domain in naming.
8196         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8197         * glyphs.c (make_image_instance_1):
8198         * glyphs.c (Fmake_image_instance):
8199         allow for any domain (not just device), and process the
8200         governing domain correctly.  very big doc fix.
8201         * glyphs.c (Fimage_instance_domain):
8202         new primitive, to retrieve the governing domain of an image instance.
8203         * glyphs.c (image_instantiate):
8204         use new governing_domain stuff.  this fixes a crash you could get
8205         by instantiating certain widget glyphs in frame locales. (should
8206         signal an error instead of crashing.)
8207         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8208         * glyphs.c (Fglyphp): clean up doc.
8209         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8210         * glyphs.c (syms_of_glyphs):
8211         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8212         * glyphs.c (image_instantiator_format_create): add some comments about
8213         bogus code.
8214         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8215         for current-display-table. (Apparently Hrjove implemented in 1998 a
8216         design I wrote up in 1996, but didn't update the doc string.)
8217
8218         * glyphs.h: clean up a doc string.
8219         * glyphs.h (governing_domain):
8220         * glyphs.h (struct image_instantiator_methods):
8221         changes for governing_domain stuff.
8222
8223         * gutter.c:
8224         * gutter.c (Fgutter_specifier_p):
8225         * gutter.c (Fgutter_size_specifier_p):
8226         * gutter.c (Fgutter_visible_specifier_p):
8227         * objects.c:
8228         * objects.c (Fcolor_specifier_p):
8229         * objects.c (Ffont_specifier_p):
8230         * objects.c (Fface_boolean_specifier_p):
8231         doc strings moved to make-*-specifier.
8232
8233         * redisplay.c (add_disp_table_entry_runes_1):
8234         * redisplay.c (generate_fstring_runes):
8235         * redisplay.c (screen):
8236         add random comments and doc strings.
8237
8238         * specifier.c:
8239         * specifier.c (Fmake_specifier):
8240         major overhaul of this doc string.
8241
8242         * specifier.c (Fvalid_specifier_domain_p):
8243         comment about the bogosity of image instances being domains.
8244         * specifier.c (decode_domain):
8245         now non-static, used in glyphs.c.
8246         * specifier.c (specifier_instance):
8247         comment about the bogosity of image instances being domains.
8248         * specifier.c (Fgeneric_specifier_p):
8249         move doc string to make-generic-specifier.
8250         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8251         rebackslashify.
8252
8253         * specifier.h:
8254         * specifier.h (DOMAIN_FRAME):
8255         * specifier.h (DOMAIN_LIVE_P):
8256         * specifier.h (DOMAIN_XDEVICE):
8257         rebackslashify.
8258         add comments about problems with these macros.
8259         prototype for decode_domain.
8260
8261         * toolbar.c:
8262         * toolbar.c (Ftoolbar_specifier_p):
8263         move doc string to `make-toolbar-specifier'.
8264
8265         * window.c (window_unmap_subwindows_cache_mapper):
8266         *************************************************************
8267         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8268         HAVE BEEN GETTING.
8269         *************************************************************
8270
8271 2000-05-09  Andy Piper  <andy@xemacs.org>
8272
8273         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8274
8275         * window.c (Fset_window_configuration): reset the frame subwindow
8276         cache and re-initialize the window subwindow caches.
8277
8278         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8279
8280 2000-05-09  Ben Wing  <ben@xemacs.org>
8281
8282         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8283         DWORD.
8284
8285 2000-04-26  Mike Woolley  <mike@bulsara.com>
8286
8287         * ntheap.c: Changed recreate_heap to limit the amount reserved
8288         for the heap to that which is actually available. Also now
8289         displays a message box (with some dignostics) in the event that
8290         it still can't start.
8291
8292 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8293
8294         * callproc.c (Fold_call_process_internal): GCPRO path
8295
8296 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8297
8298         Patch by Bill Perry.
8299
8300         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8301         back data instead of #ifdef.
8302         (Fscrollbar_page_down): ditto.
8303
8304 2000-05-07  Ben Wing  <ben@xemacs.org>
8305
8306         * buffer.h:
8307         Kludge for defining Qmswindows_tstr.
8308
8309         * nt.c:
8310         * nt.c (open_input_file):
8311         * nt.c (open_output_file):
8312         * nt.c (rva_to_section):
8313         * nt.c (mswindows_executable_type):
8314         Move all memory-mapped-file routines here (some were in unexnt.c,
8315         which is bad because they are used by process-nt.c, and unexnt
8316         won't be around when portable dumping).  Synched the above routines
8317         with FSF 20.6.
8318
8319         * nt.h:
8320         Removed ifdef'd out bogus code.
8321         Fixed some prototypes.
8322
8323         * nt.h (file_data):
8324         * nt.h (OFFSET_TO_RVA):
8325         * nt.h (RVA_TO_OFFSET):
8326         * nt.h (RVA_TO_PTR):
8327         Moved the memory-mapped-file structures, macros and prototypes
8328         here, to parallel nt.c.  ntheap.h should really be removed
8329         entirely, and it's a non-portable-dumper specific file.
8330
8331         * ntheap.h (round_to_next):
8332         Moved the memory-mapped-file structures, macros and prototypes
8333         to nt.h.
8334
8335         * ntproc.c (compare_env):
8336         Moved rva_to_section and mswindows_executable_type to nt.c.
8337         Moved compare_env to process-nt.c.
8338         ntproc.c will die, one day.
8339
8340         * ntproc.c (sys_spawnve):
8341         Account for win32_ -> mswindows_.
8342
8343         * process-nt.c:
8344         * process-nt.c (struct nt_process_data):
8345         * process-nt.c (ensure_console_window_exists):
8346         * process-nt.c (compare_env):
8347         * process-nt.c (nt_create_process):
8348         * process-nt.c (nt_kill_process_by_pid):
8349         * process-nt.c (syms_of_process_nt):
8350         * process-nt.c (vars_of_process_nt):
8351         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8352         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8353         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8354         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8355         Move compare_env here from ntproc.c.
8356
8357         * process.c (Fprocess_send_region):
8358         Takes an optional fourth argument, BUFFER, which should fix some
8359         problems with call-process.
8360
8361         * syscommctrl.h:
8362         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8363
8364         * syswindows.h:
8365         Move ICC_BAR_CLASSES to syscommctrl.h.
8366         Add preliminary macros for MSWindows/Mule.  More to come.
8367
8368         * unexnt.c:
8369         * unexnt.c (unexec):
8370         open_output_file moved to nt.c.
8371
8372
8373 2000-05-05  Andy Piper  <andy@xemacs.org>
8374
8375         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8376         instance from the frame cache also since GC may catch up too late
8377         to make frame deletion sane.
8378
8379 2000-05-04  Andy Piper  <andy@xemacs.org>
8380
8381         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8382         (x_finalize_image_instance): ungcpro on deletion.
8383
8384         * glyphs.c (image_instantiator_format_create): give pointers a
8385         query geometry method so that the geometry is at least set.
8386
8387         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8388         initialize layouts if using widgets.
8389
8390 2000-05-03  Andy Piper  <andy@xemacs.org>
8391
8392         * nt.c: remove bogus reference to sysmmsystem.h
8393
8394         * gui-x.c (popup_selection_callback): fix no selection abort.
8395
8396 2000-05-02  Andy Piper  <andy@xemacs.org>
8397
8398         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8399         (mswindows_widget_instantiate): ditto.
8400
8401         * glyphs-widget.c (initialize_widget_image_instance): initialize
8402         children correctly.
8403         (widget_instantiate): cope with children and items in the same
8404         instance.
8405
8406         * glyphs.c (mark_image_instance): cope with children as a first
8407         class member.
8408         (image_instance_equal): ditto.
8409         (image_instance_hash): ditto.
8410         (image_instance_changed): ditto.
8411
8412 2000-04-30  Andy Piper  <andy@xemacs.org>
8413
8414         * glyphs.c (subwindow_query_geometry): new function. Return some
8415         defaults.
8416         (subwindow_instantiate): don't assign dimensions if none have been
8417         given.
8418         (image_instantiator_format_create): add subwindow_query_geometry.
8419         (print_image_instance): cope with layouts as widgets.
8420
8421 2000-04-29  Andy Piper  <andy@xemacs.org>
8422
8423         * frame.c (delete_frame_internal): call
8424         free_frame_subwindow_instance_cache so that all subwindows are
8425         finalized before their parent.
8426         (mark_frame): remove subwindow_cachels.
8427         (Fmake_frame): remove subwindow_cachel manipulation.
8428         (allocate_frame_core): subwindow_instance_cache is a weak list.
8429         (delete_frame_internal): set subwindow_instance_cache to nil.
8430
8431         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8432         finalization safe.
8433         (mswindows_finalize_image_instance): use the device
8434         not the domain as the domain may have died already.
8435
8436         * glyphs-x.c (x_finalize_image_instance): ditto.
8437         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8438         HEIGHT.
8439
8440         * redisplay-output.c (redisplay_unmap_subwindows): update for
8441         subwindow instance cache as a weak list.
8442         (redisplay_unmap_subwindows_maybe): ditto.
8443         (redisplay_unmap_subwindows_except_us): ditto.
8444
8445         * glyphs.c (unmap_subwindow): error checking will check the domain
8446         so don't deal with it here. Don't use cachels anymore.
8447         (map_subwindow): ditto.
8448         (update_subwindow_cachel_data): remove old accessor names.
8449         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8450         (Fresize_subwindow): don't update cachel.
8451         (mark_subwindow_cachels):
8452         (update_subwindow_cachel_data):
8453         (add_subwindow_cachel):
8454         (get_subwindow_cachel_index):
8455         (update_subwindow_cachel):
8456         (reset_subwindow_cachels):
8457         (mark_subwindow_cachels_as_not_updated): deleted.
8458         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8459         subwindow instance to the frame cache.
8460         (find_matching_subwindow): update for subwindow instance cache as
8461         a weak list.
8462         (update_widget_instances): ditto.
8463         (image_instance_type_to_mask):inlined.
8464         (free_frame_subwindow_instance_cache): new function. finalize all
8465         subwindows that are instantiated.
8466
8467         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8468         of cachel information.
8469         (IMAGE_INSTANCE_DISPLAY_X):
8470         (IMAGE_INSTANCE_DISPLAY_Y):
8471         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8472         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8473         (XIMAGE_INSTANCE_DISPLAY_X):
8474         (XIMAGE_INSTANCE_DISPLAY_Y):
8475         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8476         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8477         remove subwindow_cachel structure and function references.
8478         (image_instance_type_to_mask): inline from glyphs.c
8479
8480         * redisplay.c (redisplay_frame): remove subwindow_cachel
8481         references.
8482
8483         * frame.h (struct frame): remove subwindow_cachels.
8484         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8485
8486         * frameslots.h: add subwindow_instance_cache.
8487
8488         * window.c (replace_window): check subwindow cache of replacement.
8489         (window_unmap_subwindows_cache_mapper):
8490         (window_unmap_subwindows): new functions. Unmap all subwindows
8491         cached on this window.
8492         (mark_window_as_deleted): unmap all subwindows.
8493
8494 2000-04-27  Andy Piper  <andy@xemacs.org>
8495
8496         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8497
8498         * glyphs-widget.c (widget_layout): return something.
8499         (layout_layout): return something. Fail if not initialized.
8500         (layout_query_geometry): ditto.
8501         (image_instantiator_native_layout): new function. Initialized the
8502         native layout type.
8503         (widget_instantiate): don't do layout stuff here.
8504
8505         * glyphs.c (instantiate_image_instantiator): reorded calling or
8506         instantiate and post_instantiate with layout in between.
8507         (image_instance_layout): be more selective about deciding whether
8508         the layout has been done or not.
8509
8510         * glyphs.h (struct image_instantiator_methods): return a value
8511         from layout_method.
8512
8513 2000-04-26  Andy Piper  <andy@xemacs.org>
8514
8515         * glyphs.c (allocate_image_instance): make initial width and
8516         height unspecified. Set initialized to 0.
8517
8518         * syscommctrl.h new file. Encapsulates commctrl.h.
8519
8520         * syswindows.h new file. Encapsulates windows.h.
8521
8522         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8523         * nt.c: ditto.
8524         * console-msw.h: ditto.
8525
8526         * redisplay-tty.c (tty_output_display_block): remove layout references.
8527
8528         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8529         window handle rather than just the frame.
8530
8531         * glyphs.c (mark_image_instance): remove layout references.
8532         (print_image_instance): ditto.
8533         (image_instance_equal): ditto.
8534         (image_instance_hash): ditto.
8535         (decode_image_instance_type): ditto.
8536         (encode_image_instance_type): ditto.
8537         (image_instantiate): ditto.
8538         (allocate_glyph): ditto.
8539         (Fimage_instance_height): ditto.
8540         (Fimage_instance_width): ditto.
8541         (update_subwindow): ditto.
8542
8543         * redisplay-x.c (x_output_display_block): recode for layouts as
8544         widgets.
8545
8546         * redisplay-output.c (redisplay_output_layout): recode for layouts
8547         as widgets.
8548         (compare_runes): remove layout references.
8549
8550         * redisplay-msw.c (mswindows_output_display_block): recode for
8551         layouts as widgets.
8552
8553         * glyphs-widget.c (image_instantiator_layout): remove
8554         layout_possible_dest_types.
8555         (layout_possible_dest_types): deleted.
8556
8557         * glyphs.h (image_instance_type): remove layout references.
8558         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8559         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8560         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8561
8562 2000-04-25  Andy Piper  <andy@xemacs.org>
8563
8564         * glyphs-widget.c (image_instantiator_buttons):
8565         (image_instantiator_edit_fields):
8566         (image_instantiator_combo_box):
8567         (image_instantiator_scrollbar):
8568         (image_instantiator_progress_guage):
8569         (image_instantiator_tree_view):
8570         (image_instantiator_tab_control):
8571         (image_instantiator_labels):
8572         (image_instantiator_layout): call default post_instantiate method.
8573         (widget_post_instantiate): new function. Simply lays out the
8574         widgets.
8575
8576         * glyphs.h (struct image_instantiator_methods): add
8577         post_instantiate method.
8578
8579         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8580         method calls.
8581
8582 2000-04-23  Andy Piper  <andy@xemacs.org>
8583
8584         * glyphs.h (struct image_instantiator_methods): add
8585         decode_domain_method.
8586         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8587         derived from the domain.
8588         (IMAGE_INSTANCE_FRAME): new accessor.
8589         (XIMAGE_INSTANCE_FRAME): ditto.
8590
8591         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8592         instead of _SUBWINDOW_FRAME.
8593         (finalize_image_instance): ditto.
8594         (Fimage_instance_foreground): ditto.
8595         (Fimage_instance_background): ditto.
8596         (image_instantiate): ditto.
8597         (update_subwindow_cachel): ditto.
8598         (update_subwindow): ditto.
8599         (unmap_subwindow): ditto.
8600         (map_subwindow): ditto
8601         (subwindow_instantiate): ditto.
8602         * glyphs-msw.c (mswindows_update_widget): ditto.
8603         (mswindows_progress_gauge_instantiate): ditto.
8604         (mswindows_tab_control_update): ditto.
8605         * glyphs-x.c (x_update_widget): ditto.
8606         (x_widget_instantiate): ditto.
8607         (x_tab_control_instantiate): ditto.
8608         (x_tab_control_update): ditto.
8609         * event-msw.c (mswindows_wnd_proc): ditto
8610
8611         * glyphs-widget.c (image_instantiator_layout): use
8612         subwindow_decode_domain.
8613         (image_instantiator_buttons): ditto.
8614         (image_instantiator_edit_fields): ditto.
8615         (image_instantiator_combo_box): ditto.
8616         (image_instantiator_scrollbar): ditto.
8617         (image_instantiator_progress_guage): ditto.
8618         (image_instantiator_tree_view): ditto.
8619         (image_instantiator_tab_control): ditto.
8620         (image_instantiator_labels): ditto.
8621         (image_instantiator_layout): ditto.
8622
8623         * glyphs.c: add instance error checking to many functions.
8624         (instantiate_image_instantiator): decode device from cache_domain.
8625         (image_instantiate): partially rewrite by using
8626         decode_image_instantiator_domain to determine what domain the
8627         instance needs to be cached in.
8628         (decode_image_instantiator_domain): new function. Determine what
8629         domain the image needs to be cached in.
8630         (check_window_subwindow_cache): new error checking function.
8631         (check_instance_cache_mapper): ditto.
8632         (check_image_instance_structure): ditto.
8633         (subwindow_decode_domain): new function. Encodes a window as a
8634         subwindow's cache domain.
8635         (image_instantiator_format_create): use it for text and
8636         subwindows.
8637
8638 2000-04-21  Andy Piper  <andy@xemacs.org>
8639
8640         * glyphs.c (image_instance_device): new function.
8641         (image_instance_frame): new function.
8642         (image_instance_window): new function.
8643         (image_instance_live_p): new function.
8644
8645         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8646         cache to nil.
8647
8648         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8649         (IMAGE_INSTANCE_DOMAIN): new accessor.
8650         (XIMAGE_INSTANCE_DOMAIN): ditto.
8651
8652         * glyphs-x.c (x_finalize_image_instance): device->domain.
8653
8654         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8655         (mswindows_finalize_image_instance): ditto.
8656
8657         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8658         (gif_instantiate): ditto.
8659         (png_instantiate): ditto.
8660         (tiff_instantiate): ditto.
8661
8662         * glyphs.c (instantiate_image_instantiator): use domain rather
8663         than device.
8664         (mark_image_instance): device -> domain.
8665         (print_image_instance): ditto.
8666         (finalize_image_instance): ditto.
8667         (image_instance_equal): ditto.
8668         (allocate_image_instance): ditto.
8669         (Fcolorize_image_instance): ditto.
8670         (query_string_geometry): ditto.
8671         (image_instantiate): ditto
8672         (query_string_font): ditto.
8673         (image_instantiate): ditto.
8674         (update_subwindow): ditto.
8675         (unmap_subwindow): ditto.
8676         (map_subwindow): ditto.
8677         (subwindow_instantiate): ditto.
8678
8679         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8680         (DOMAIN_FRAME): ditto.
8681         (DOMAIN_WINDOW): ditto.
8682         (DOMAIN_LIVE_P): ditto.
8683         (XDOMAIN_DEVICE): ditto.
8684         (XDOMAIN_FRAME): ditto.
8685         (XDOMAIN_WINDOW): ditto.
8686
8687         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8688         a valid specifier domain.
8689
8690 2000-04-19  Andy Piper  <andy@xemacs.org>
8691
8692         * glyphs-widget.c (syms_of_glyphs_widget): remove
8693         widget-callback-current-channel.
8694         (vars_of_glyphs_widget): ditto.
8695         * glyphs.h: ditto
8696
8697         * gui.c (get_gui_callback): revert to previous behaviour.
8698
8699 2000-04-18  Andy Piper  <andy@xemacs.org>
8700
8701         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8702         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8703         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8704
8705         * glyphs.c (image_instance_equal): add margin_width.
8706         (image_instance_hash): ditto.
8707
8708         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8709         (layout_query_geometry): ditto.
8710         (layout_layout): ditto.
8711         (syms_of_glyphs_widget): add margin-width.
8712         (image_instantiator_layout): allow margin-width.
8713
8714         * glyphs.c (update_widget_instances): make a normal function.
8715         (syms_of_glyphs): remove Qupdate_widget_instances.
8716         * glyphs.h: ditto.
8717
8718         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8719         so that we don't corrupt ideas about the last event or
8720         command. Remove widget-callback-current-channel fiddling.
8721         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8722
8723 2000-05-01  Martin Buchholz <martin@xemacs.org>
8724
8725         * XEmacs 21.2.33 is released.
8726
8727 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8728
8729         * make-src-depend: Allow dots in header file name.
8730
8731 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8732
8733         * mule-charset.h (struct charset_lookup): Add
8734         next_allocated_1_byte_leading_byte and
8735         next_allocated_2_byte_leading_byte.
8736         * mule-charset.c: Move above two variables so that those values
8737         will be dumped.
8738
8739 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8740
8741         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8742         when string length is zero.
8743         (find_charsets_in_emchar_string): Ditto.
8744
8745 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8746
8747         * lisp.h: extern Qdialog and Qmenubar.
8748
8749         * gui-x.c: added events.h.
8750                 also fixed typo which made the file uncompilable.
8751
8752         * general.c: Added Qmenubar and Qdialog
8753
8754 2000-04-28  Ben Wing  <ben@xemacs.org>
8755
8756         * frame-msw.c (mswindows_init_frame_1):
8757         * frame-msw.c (mswindows_mark_frame):
8758         * event-msw.c (mswindows_enqueue_dispatch_event):
8759         * console-msw.h:
8760         * console-msw.h (struct mswindows_frame):
8761         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8762         there are now three hash tables for callbacks.
8763         mswindows_enqueue_dispatch_event is no longer static.
8764
8765         * dialog-x.c (maybe_run_dbox_text_callback):
8766         * dialog-x.c (dbox_descriptor_to_widget_value):
8767         switch to new cons3 form for callbacks.
8768
8769         * glyphs-msw.c (mswindows_register_gui_item):
8770         * glyphs-msw.c (mswindows_widget_instantiate):
8771         * glyphs-msw.c (add_tree_item):
8772         * glyphs-msw.c (add_tab_item):
8773         new image instance parameter, so it can be passed to callback-ex.
8774         respect :callback-ex as well as :callback.
8775
8776         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8777         add :callback-ex.
8778
8779         * glyphs.c (print_image_instance):
8780         prettify, e.g. now prints widget type.
8781
8782         * gui-x.h:
8783         certain funs have new image instance parameter.
8784
8785         * gui.c:
8786         * gui.c (get_gui_callback):
8787         * gui.c (gui_item_add_keyval_pair):
8788         * gui.c (gui_item_init):
8789         * gui.c (gui_add_item_keywords_to_plist):
8790         * gui.c (mark_gui_item):
8791         * gui.c (gui_item_hash):
8792         * gui.c (gui_item_equal):
8793         * gui.c (copy_gui_item):
8794         * gui.c (syms_of_gui):
8795         recognize callback-ex in a number of places.
8796         also, fix the annoying "can't get out of yes-no dialog" bug.
8797
8798         * gui.h:
8799         * gui.h (struct Lisp_Gui_Item):
8800         recognize callback-ex in a number of places.
8801
8802         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8803         new parameter in button_item_to_widget_value.
8804
8805         * glyphs-x.c (x_update_widget):
8806         * glyphs-x.c (x_button_instantiate):
8807         * glyphs-x.c (x_button_update):
8808         * glyphs-x.c (x_progress_gauge_instantiate):
8809         * glyphs-x.c (x_edit_field_instantiate):
8810         * glyphs-x.c (x_combo_box_instantiate):
8811         * glyphs-x.c (x_tab_control_instantiate):
8812         * glyphs-x.c (x_label_instantiate):
8813         new image instance parameter in various places.
8814
8815         * event-Xt.c:
8816         * event-Xt.c (enqueue_Xt_dispatch_event):
8817         this fun gets exported.
8818
8819         * gui-msw.c:
8820         * gui-msw.c (mswindows_handle_gui_wm_command):
8821         handle both :callback and :callback-ex, and generate our own
8822         event because it's one of the callback-ex arguments.
8823
8824         * gui-x.c:
8825         * gui-x.c (popup_selection_callback):
8826         handle both :callback and :callback-ex, and generate our own
8827         event because it's one of the callback-ex arguments.
8828         * gui-x.c (button_item_to_widget_value):
8829         * gui-x.c (gui_items_to_widget_values_1):
8830         * gui-x.c (gui_item_children_to_widget_values):
8831         * gui-x.c (gui_items_to_widget_values):
8832         new image instance parameter in various places.
8833
8834         * fns.c (Freplace_list):
8835         fix small typo in doc string.
8836
8837         * lisp.h:
8838         declare enqueue_Xt_dispatch_event.
8839
8840 2000-04-28  Ben Wing  <ben@xemacs.org>
8841
8842         * buffer.c:
8843         * buffer.c (Frecord_buffer):
8844         * buffer.c (syms_of_buffer):
8845         delete record-buffer-hook.
8846
8847         * fns.c:
8848         * fns.c (Freplace_list):
8849         * fns.c (syms_of_fns):
8850         new primitive replace-list.
8851
8852         * frameslots.h:
8853         slot for old buffer-alist.
8854
8855         * lisp.h:
8856         exfun replace-list.
8857
8858         * redisplay.c:
8859         * redisplay.c (redisplay_frame):
8860         * redisplay.c (syms_of_redisplay):
8861         * redisplay.c (vars_of_redisplay):
8862         new hook buffer-list-changed-hook.
8863         call it.
8864
8865 2000-04-27  Ben Wing  <ben@xemacs.org>
8866
8867         * extents.h: extern in_modeline_generation.
8868
8869         * redisplay.c (generate_formatted_string_db): set
8870         in_modeline_generation.
8871
8872         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8873         flags if in modeline generation.  otherwise frame-modified-tick
8874         is ticked far too often.
8875         Declare in_modeline_generation.
8876
8877 2000-04-26  Ben Wing  <ben@xemacs.org>
8878
8879         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8880         option.
8881         (vars_of_emacs): add quick-build as an error-checking option.
8882         A bit kludgy, but there doesn't seem much point in creating
8883         a real var for this.
8884
8885         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8886
8887 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8888
8889         * redisplay.h (struct display_line): Add a new variable,
8890         line_continuation.
8891
8892         * redisplay.c (create_text_block): Set dl->line_continuation if
8893         the line continues.
8894         (create_string_text_block): Ditto.
8895         (regenerate_window_incrementally): Use line_continuation instead
8896         of searching continuation glyph.
8897         (add_margin_runes): Call add_glyph_rune.
8898         (add_glyph_rune): Handle margin glyph.
8899
8900 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8901
8902         * filelock.c (fill_in_lock_file_name):
8903         ANSIfy.
8904         Check for IS_ANY_SEP instead of '/'.
8905         (lock_file_1):
8906         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8907         Never check errno without first seeing that system call failed.
8908         (unlock_file): Add GCPRO.
8909         (Flock_buffer): Fix docstring.
8910         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8911
8912 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8913
8914         * sysdep.c (get_pty_max_bytes):
8915         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8916         strings longer than 252 bytes.
8917
8918         * md5.c: Unconditionally include ANSI header <limits.h>
8919
8920         * glyphs-x.c (convert_EImage_to_XImage):
8921         * lisp-union.h (union Lisp_Object):
8922         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8923
8924 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8925
8926         * filelock.c (current_lock_owner): Remove unused variable o, p.
8927
8928 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8929
8930         * callint.c: Remove multiply defined symbol Qlet
8931         (syms_of_callint): ditto.
8932
8933 2000-04-14  Andy Piper  <andy@xemacs.org>
8934
8935         * general.c (syms_of_general): add last-command, this-command, let
8936         and funcall.
8937
8938         * lisp.h: declare various symbols.
8939
8940         * glyphs.h: declare Qwidget_callback_current_channel;
8941
8942         * glyphs-widget.c (syms_of_glyphs_widget): add
8943         Qgui_callback_current_channel.
8944         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8945
8946         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8947         widget-callback-current-channel when invoking the interactive
8948         arg. Also bind last-command and next-command when invoking the
8949         widget updates.
8950         * gui-x.c (popup_selection_callback): ditto.
8951
8952         * gui.c (get_gui_callback): massage args so that we are always
8953         calling eval. This allows us to add our own variable bindings
8954         outside.
8955
8956         * glyphs-x.c (x_button_instantiate): use
8957         gui_items_to_widget_values since this is GC safe.
8958         (x_progress_gauge_instantiate): ditto.
8959         (x_edit_field_instantiate): ditto.
8960         (x_label_instantiate): ditto.
8961
8962         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8963         (emacs_Xt_event_widget_focus_out): new function
8964         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8965         focus.
8966         (emacs_Xt_event_add_widget_actions): new function. add focus
8967         functions as actions.
8968         (init_event_Xt_late): use it.
8969
8970 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8971
8972         * event-stream.c (Fdispatch_event): Doc fix.
8973
8974 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8975
8976         * postgresql.c: Remove all references to PQsetenv*.
8977
8978         * postgresql.h: Remove references to PGsetenvHandler object.
8979         * lrecord.h (lrecord_type): Ditto.
8980
8981 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8982
8983         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8984         real_heigh and real_width members, and accessor macros for these.
8985
8986         * glyphs-msw.c (init_image_instance_geometry): New function.
8987         (init_image_instance_from_dibitmap): Use it.
8988         (mswindows_resource_instantiate): Use it.
8989         (init_image_instance_from_xbm_inline): Use it.
8990         (mswindows_initialize_image_instance_mask): Use real bitmap
8991         geometry.
8992         (mswindows_create_resized_bitmap): Ditto.
8993         (mswindows_create_resized_mask): Ditto.
8994
8995         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8996         and bitmap to their surface size.
8997
8998 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8999
9000         * process-unix.c (unix_send_process): Guard against process MIA
9001         after Faccept_process_output.
9002
9003 2000-04-11  Ben Wing  <ben@xemacs.org>
9004
9005         * eval.c (unbind_to_hairy): fix brokenness introduced by
9006         nanosecond speed improvements.
9007
9008 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9009
9010         * sunplay.c (init_device): To play sounds correctly, the device
9011         apparently needs to be initialized at least once by XEmacs.  Make
9012         it so.
9013
9014 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9015
9016         * redisplay.c (add_margin_runes): Add text image glyph
9017           handling.
9018
9019 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9020
9021         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9022         gcc is newer than 2.5.
9023
9024 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9025
9026         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9027
9028         * fns.c (size_bit_vector):
9029         * alloc.c (size_vector):
9030         (make_vector_internal):
9031         (make_bit_vector_internal):
9032         (sweep_bit_vectors_1):
9033         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9034
9035 2000-04-06  Andy Piper  <andy@xemacs.org>
9036
9037         * gmalloc.c (malloc): undo previous change.
9038         (malloc): ditto.
9039         (free): ditto.
9040         (realloc): ditto.
9041
9042 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9043
9044         * line-number.c (buffer_line_number): Revert to former version.
9045
9046 2000-04-06  Andy Piper  <andy@xemacs.org>
9047
9048         * gmalloc.c (malloc): add error checking.
9049         (malloc): ditto.
9050         (free): ditto.
9051         (realloc): ditto.
9052
9053         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9054         button_item_to_widget_value arg.
9055
9056         * glyphs-x.c (x_button_instantiate): add extra
9057         button_item_to_widget_value arg.
9058         (x_progress_gauge_instantiate): ditto.
9059         (x_edit_field_instantiate): ditto.
9060         (x_label_instantiate): ditto.
9061
9062         * gui-x.c (gui_items_to_widget_values_1): add extra
9063         button_item_to_widget_value arg.
9064         (button_item_to_widget_value): add extra menu_item_p arg.
9065
9066         * gui-x.h: change signature of button_item_to_widget_value.
9067
9068         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9069         button_item_to_widget_value arg.
9070
9071 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9072
9073         * buffer.h (struct buffer): auto_save_modified should be long.
9074
9075 2000-04-05  Andy Piper  <andy@xemacs.org>
9076
9077         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9078         type.
9079         (button_query_geometry): give a little more room so that athena
9080         buttons fit.
9081
9082 2000-04-05  Andy Piper  <andy@xemacs.org>
9083
9084         * faces.c (complex_vars_of_faces): The widget face should inherit
9085         the font of the gui-element face.
9086
9087 2000-04-04  Andy Piper  <andy@xemacs.org>
9088
9089         * glyphs-x.c (x_button_update): new function. unconditionally
9090         update a button's state when the instance is dirty.
9091         (image_instantiator_format_create_glyphs_x): add x_button_update.
9092         (x_widget_instantiate): remove old resize cruft.
9093
9094 2000-04-02  Andy Piper  <andy@xemacs.org>
9095
9096         * frame.c (change_frame_size_1): The introduction of gutters means
9097         that we need to allow 0 as a potential frame dimension.
9098
9099 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9100
9101         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9102         image glyph if allow_cursor.
9103         (add_hscroll_rune): Don't allow cursor to border glyph.
9104         (create_text_block): Ditto.
9105
9106         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9107         text not in buffer.
9108         (redisplay_output_layout): Call ensure_face_cachel_complete for
9109         text image glyph.
9110
9111
9112 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9113
9114         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9115
9116         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9117         not in buffer
9118
9119         * redisplay-tty.c (tty_output_display_block): Delete the routine
9120         for text image glyph
9121         * redisplay-x.c (x_output_display_block): ditto
9122         * redisplay-msw.c (mswindows_output_display_block): ditto
9123
9124 2000-02-02  Mike Alexander  <mta@arbortext.com>
9125
9126         Note: Some of these were committed by accident as part of other
9127         patches.
9128
9129         * regex.c (regex_compile): Avoid compiler warnings.
9130
9131         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9132
9133         * nt.h: Declare term_ntproc correctly.
9134
9135         * nt.c: Remove incorrect declaration of get_home_directory which
9136         is declared correctly in lisp.h.
9137
9138         * keymap.c (get_keyelt): Avoid compiler warnings.
9139         (raw_lookup_key_mapper): Avoid compiler warnings.
9140
9141         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9142
9143         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9144
9145         * filemode.c (mode_string): Avoid compiler warnings.
9146
9147         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9148         avoid warning.
9149
9150         * events-mod.h: Undef some things that winuser.h defines differently.
9151
9152         * data.c (Faset): Avoid compiler warnings.
9153
9154         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9155
9156 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9157
9158         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9159         Fall through to simple beep on error.
9160         Replace "extern" by real header file.
9161
9162         * linuxplay.c: Use nativesound.h
9163         (play_sound_data): Return error code. Be less verbose on error.
9164
9165         * sunplay.c: Use nativesound.h
9166         (play_sound_data): Return error code. Be less verbose on error.
9167
9168         * ntplay.c: Use nativesound.h
9169         (play_sound_data): Return fake error code
9170
9171         * sgiplay.c: Use nativesound.h
9172         (play_sound_data): Return error code
9173
9174         * hpplay.c: Use nativesound.h, partially implement
9175         new error code. Break compilation until finished.
9176         (play_sound_data): error code.
9177
9178         * nativesound.h (play_sound_file):
9179           (play_sound_data): Prototype in new header.
9180
9181 2000-03-31  Andy Piper  <andy@xemacs.org>
9182
9183         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9184         for toggle and radio buttons.
9185         (image_instantiator_buttons): use it.
9186
9187 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9188
9189         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9190         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9191         found. Scrollbar event probably belonged to some old config.
9192
9193 2000-03-31  Andy Piper  <andy@xemacs.org>
9194
9195         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9196         than 1.
9197         (initialize_widget_image_instance): default layout to
9198         LAYOUT_HORIZONTAL rather than 0.
9199         (widget_instantiate): reverse the item list at the end rather than
9200         every iteration.
9201         (layout_layout): re-code for the border text at the front of the
9202         item list rather than at the end.
9203         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9204         provided by the user.
9205         (widget_query_geometry): comment.
9206
9207 2000-03-30  Andy Piper  <andy@xemacs.org>
9208
9209         * glyphs-widget.c (image_instantiator_layout): allow standard
9210         widget keywords in layouts.
9211
9212         * gutter.c (output_gutter): cope with nil gutter contents.
9213
9214         * frame.c (Fset_frame_properties): add gutter docs.
9215
9216 2000-03-29  Andy Piper  <andy@xemacs.org>
9217
9218         * toolbar-msw.c (TBSTYLE_FLAT): add.
9219         (mswindows_output_toolbar): minor fiddling.
9220
9221 2000-03-29  Andy Piper  <andy@xemacs.org>
9222
9223         * gutter.c (output_gutter): force gutter size recalculation if
9224         what we are trying to display won't fit.
9225         (update_gutter_geometry): new function. A per-gutter version of
9226         update_frame_gutter_geometry.
9227         (update_frame_gutter_geometry): use it.
9228         (redraw_exposed_gutter): add extra debugging output.
9229
9230 2000-03-28  Mike Alexander  <mta@arbortext.com>
9231
9232         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9233         (pdump_file_unmap): Implement it on Windows
9234         (pdump_file_get): Save alocated handles for pdump_file_unmap
9235
9236 2000-03-28  Andy Piper  <andy@xemacs.org>
9237
9238         * gui.c (get_gui_callback): treat Quit specially.
9239
9240 2000-03-27  Andy Piper  <andy@xemacs.org>
9241
9242         * glyphs.c (image_instantiate): be careful to check in the same
9243         way we assigned.
9244
9245 2000-03-27  Didier Verna  <didier@xemacs.org>
9246
9247         * config.h.in: define the proper SMART_INCLUDE macro.
9248         handle renaming of `foo_h_path' to `foo_h_file'.
9249
9250         * database.c: ditto.
9251
9252         * emacs.c: ditto.
9253
9254         * linuxplay.c: ditto.
9255
9256         * terminfo.c: ditto.
9257
9258         * tooltalk.h: ditto.
9259
9260 2000-03-27  Andy Piper  <andy@xemacs.org>
9261
9262         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9263         gets updated whenever the face might have changed.
9264
9265 2000-03-26  Mike Alexander  <mta@arbortext.com>
9266
9267         * dumper.c (pdump_resource_free): Fix the comment.
9268
9269 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9270
9271         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9272
9273 2000-03-22  Mike Alexander  <mta@arbortext.com>
9274
9275         * dumper.c: Include Windows headers on Windows
9276         (pdump_resource_free): Add a body to the function
9277         (pdump_load): exe_name -> exe_path and add some comments.
9278
9279 2000-03-25  Mike Alexander  <mta@arbortext.com>
9280
9281         * gui.c (copy_gui_item_tree): Return a value in all cases
9282
9283 2000-03-21  Didier Verna  <didier@xemacs.org>
9284
9285         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9286         lwlib/config.h.in.
9287         (SMART_INCLUDE): new macro.
9288         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9289         the proper location.
9290
9291         * postgresql.c: use it.
9292
9293         * inline.c: ditto.
9294
9295 2000-03-24  Andy Piper  <andy@xemacs.org>
9296
9297         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9298         do this.
9299
9300 2000-03-24  Andy Piper  <andy@xemacs.org>
9301
9302         * redisplay-output.c (compare_runes): use image_instance_changed
9303         to detect changes. Do not depend on glyphs_changed, only depend on
9304         dirtiness.
9305          (redisplay_output_layout): add debug messages.
9306         (compare_runes): ditto.
9307
9308         * glyphs.h: declare new functions.
9309         (struct Lisp_Image_Instance): remove percent and associated
9310         accessors.
9311
9312         * gui.h: declare new copying functions.
9313
9314         * gui.c (copy_gui_item_tree): new function.
9315         (copy_gui_item): new function.
9316         (gui_item_id_hash): revert to standard hash.
9317         (gui_item_hash): ditto.
9318         (gui_item_hash_internal): deleted.
9319         (mark_gui_item): mark value.
9320         (gui_item_add_keyval_pair): add value.
9321         (gui_item_init): ditto.
9322         (gui_add_item_keywords_to_plist): ditto.
9323         (gui_item_equal): ditto.
9324         (syms_of_gui): add Q_value.
9325
9326         * glyphs-x.c (x_progress_gauge_update): use pending items and
9327         value for setting the state.
9328         (x_update_widget): don't set items from pending here.
9329
9330         * glyphs-widget.c (update_widget): update items here.
9331         (progress_gauge_set_property): use items for storing value. Put
9332         new value in pending items.
9333
9334         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9335         items for new value. Convert percent -> value.
9336         (mswindows_tab_control_update): don't update items here.
9337
9338         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9339         (update_subwindow): ditto.
9340         (image_instance_changed): new function. Compare hash values and
9341         past and present widget items.
9342         (image_instantiate): We more careful about where we instantiate
9343         things.
9344         (image_instantiate): add error checking.
9345
9346         * gutter.c (syms_of_gutter): use -hook.
9347
9348 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9349
9350         * console-tty.c (Fset_console_tty_input_coding_system): Use
9351         Qkeyboard.
9352         (Fset_console_tty_output_coding_system): Use Qterminal.
9353         (tty_init_console): Use Qkeyboard and Qterminal.
9354
9355 2000-03-21  Ben Wing  <ben@xemacs.org>
9356
9357         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9358         From Mike Alexander <mta@arbortext.com>.
9359
9360 2000-03-21  Ben Wing  <ben@xemacs.org>
9361
9362         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9363         process brokenness.  Proper implementation to come.
9364         * callproc.c:
9365         Rename call-process-internal to old-call-process-internal.
9366         New impl. in process.el.
9367
9368 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9369
9370         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9371
9372 2000-03-20  Andy Piper  <andy@xemacs.org>
9373
9374         * glyphs.c (full_list_hash): make hashes of the same elements in
9375         different orders return different values.
9376
9377 2000-03-20  Martin Buchholz <martin@xemacs.org>
9378
9379         * XEmacs 21.2.32 is released.
9380
9381 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9382
9383         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9384         (DFC_MALLOC_USE_CONVERTED_DATA):
9385         Add aliasing-safe casts to allow use with char* or unsigned char*
9386         lvalues.
9387
9388         * eldap.c (Fldap_open):
9389         (Fldap_search_basic):
9390         (Fldap_add):
9391         (Fldap_modify):
9392         Make C++-compilable.
9393         Make sure GCPRO'ed variables are initialized.
9394         Use temp variables to avoid repeated calls to Flength.
9395
9396 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9397
9398         * sysfile.h:
9399         Make sure PATH_MAX is always defined.
9400         Include limits.h for PATH_MAX.
9401         Deprecate use of MAXPATHLEN.
9402
9403 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9404
9405         * emacs.c: Add reinit_vars_of_fileio.
9406         * symsinit.h: Add reinit_vars_of_fileio.
9407         * fileio.c (reinit_vars_of_fileio): New.
9408         * fileio.c (Fmake_temp_name):
9409         Initialize temp_name random number from microseconds to make
9410         collisions even less likely.  Initialize always at process startup
9411         time.  (make-temp-name) used to return the same file name twice in
9412         a row when PDUMP.
9413         Random stylistic fiddling.
9414         Comment fixes.
9415
9416 2000-03-20  Andy Piper  <andy@xemacs.org>
9417
9418         * glyphs.c (image_instantiate): allow text glyphs to be
9419         instantiated in the minibuffer window.
9420
9421 2000-03-19  Andy Piper  <andy@xemacs.org>
9422
9423         * glyphs.c (image_instance_hash): be careful about which items we
9424         hash on.
9425
9426         * glyphs-widget.c (tab_control_set_property): record into pending
9427         items rather than the actual items.
9428
9429         * glyphs-x.c (x_update_widget): use pending items to update with.
9430
9431         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9432         to update with.
9433
9434         * glyphs.c (mark_image_instance): mark pending items.
9435
9436         * window.c (Fset_window_configuration): record the buffer.
9437         (Fselect_window): totally revert previous change which breaks many
9438         things.
9439
9440 2000-03-18  Andy Piper  <andy@xemacs.org>
9441
9442         * glyphs-msw.c (mswindows_tab_control_update): force selected
9443         item.
9444
9445         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9446         window domain cache, otherwise we get inconsistencies at
9447         startup. There is something fishy at startup which can lead to the
9448         minibuffer being the selected window when the gutter content is
9449         instantiated.
9450
9451         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9452         gcpros.
9453         (parse_gui_item_tree_children): ditto.
9454         (parse_gui_item_tree_item): ditto.
9455
9456         * glyphs.c (Fupdate_widget_instances): return something.
9457
9458 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9459
9460         * window.c (Fselect_window): Undo 2000-03-17 change.
9461
9462 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9463
9464         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9465         against v7.0 libraries.  Insta-coredump city until the postgres
9466         folks fix it.
9467
9468 2000-03-17  Andy Piper  <andy@xemacs.org>
9469
9470         * faces.c (complex_vars_of_faces): don't give the widget face an
9471         inherited background pixmap.
9472
9473         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9474         selected item.
9475
9476         * event-stream.c (Fdispatch_non_command_events): return something.
9477
9478         * gutter.c (output_gutter): use widget face.
9479         (clear_gutter): ditto.
9480
9481         * NEWS: adjust again.
9482
9483         * window.c (Fselect_window): make sure this runs to completion to
9484         avoid oddities with Fset_window_configuration.
9485         (Fcurrent_window_configuration): in general do not save the
9486         minibuffer as the selected window.
9487
9488         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9489
9490 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9491
9492         * emacs.c (Frunning_temacs_p): Revert previous patch.
9493         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9494
9495 2000-03-16  Andy Piper  <andy@xemacs.org>
9496
9497         * glyphs-x.c (x_tab_control_update): if no widget values then
9498         return.
9499
9500         * NEWS: update for new features.
9501
9502         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9503         synthetic event to the native system.
9504         (reinit_vars_of_event_Xt): set force_event_pending to
9505         emacs_Xt_force_event_pending.
9506
9507         * events.h (struct event_stream): add force_event_pending.
9508
9509         * specifier.c (recompute_one_cached_specifier_in_window): add
9510         comment.
9511
9512         * redisplay.c (redisplay_frame): don't call
9513         update_frame_subwindows. Reset subwindow cachels when
9514         subwindows_changed, removing this was an optimization too far.
9515
9516         * redisplay-output.c (compare_runes): reorganize so that we catch
9517         glyph changes when we want them. Set optimize_output when this
9518         would help layouts.
9519         (redisplay_output_layout): remove frame_really_changed, use
9520         optimize_output instead.
9521
9522         * redisplay-msw.c (mswindows_output_display_block): reset
9523         optimize_output after outputting a glyph.
9524         * redisplay-x.c (x_output_display_block): ditto.
9525         * redisplay-tty.c (tty_output_display_block): ditto.
9526
9527         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9528         functions.
9529         (gutter_specs_changed): do specific gutter positions.
9530         (top_gutter_specs_changed): new function. Only update the
9531         specified gutter specs.
9532         (bottom_gutter_specs_changed): ditto.
9533         (left_gutter_specs_changed): ditto.
9534         (right_gutter_specs_changed): ditto.
9535
9536         * gui.c (gui_item_hash_internal): new function, does a real hash.
9537         (gui_item_id_hash): use it.
9538         (gui_item_hash): hash the eval'ed gui_item.
9539
9540         * gui-x.c (popup_selection_callback): send an eval event to call
9541         Fupdate_widget_instances.
9542
9543         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9544         to call Fupdate_widget_instances.
9545
9546         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9547         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9548
9549         * glyphs.c: (update_frame_subwindows): deleted.
9550         (Fupdate_widget_instances): new function for updating the dirty
9551         state of widgets that might have changed.
9552         (syms_of_glyphs): add Qupdate_widget_instances.
9553         (full_list_hash): hash a list completely.
9554         (image_instance_hash): use it for items and properties.
9555
9556         * frame-msw.c (mswindows_size_frame_internal): remove unused
9557         variable.
9558
9559         * faces.h (struct face_cachel): fix comment.
9560
9561         * event-stream.c (Fdispatch_non_command_events): new
9562         function. Process non-command events, forcing an event cycle
9563         beforehand.
9564         (syms_of_event_stream): declare.
9565         (event_stream_force_event_pending): new function. Force an event
9566         on the native event queue so that an event cycle will occur next
9567         time we check.
9568
9569         * event-msw.c:
9570         (struct ntpipe_shove_stream):
9571         (mswindows_enqueue_dispatch_event):
9572         (mswindows_dequeue_dispatch_event):
9573         (mswindows_cancel_dispatch_event):
9574         (mswindows_pump_outstanding_events):
9575         (mswindows_drain_windows_queue):
9576         (mswindows_handle_paint):
9577         (mswindows_wnd_proc):
9578         (mswindows_key_to_emacs_keysym):
9579         (get_process_input_waitable):
9580         (emacs_mswindows_delete_stream_pair): re-indent file.
9581         (mswindows_need_event): do not process further fds if the windows
9582         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9583         fixes the 100% cpu problem.
9584         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9585
9586 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9587
9588         * alloc.h: New.
9589         * dumper.h: New.
9590         * dumper.c: New.
9591
9592         * emacs.c: Moved dump file searching to dumper.c.
9593         (Frunning_temacs_p): Fixed.
9594
9595         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9596         last_lrecord_type_index_assigned.
9597
9598 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9599
9600         * symsinit.h: Added reinit parameter to init_console_stream
9601         declaration.
9602
9603         * lisp.h: Added file parameter to pdump_load declaration.
9604
9605         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9606         support.  Added dump file searching.
9607
9608         * config.h.in: Added EMACS_PROGNAME.
9609
9610         * console-stream.c (init_console_stream): Fix reinitialisation
9611         when running from temacs.
9612
9613         * alloc.c (pdump): Add id support.
9614         (pdump_load): Add file parameter and signature/id support.
9615
9616         * Makefile.in.in: Add full pdump support.
9617
9618 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9619
9620         * postgresql.c: Update documentation to reflect latest code
9621         status.
9622         (print_result): Show tuple counts in printed representation when
9623         appropriate.
9624         (Fpq_put_nbytes): MULE-ize.
9625         (Fpq_get_line_async): Ditto.
9626
9627 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9628
9629         * postgresql.c (Fpq_lo_import): Fix return value.
9630         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9631
9632 2000-03-13  Ben Wing  <ben@xemacs.org>
9633
9634         * alloc.c (pdump_load):
9635         Fix compile warning under mswin.
9636
9637 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9638
9639         * postgresql.c: Mule-ization, bug fixes.
9640         Use PG_CODING to encapsulate coding system name changes.
9641         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9642         (pg-coding-system): Create.
9643
9644         (Fpq_conn_defaults): Mule-ize.
9645         (Fpq_connectdb): Mule-ize & bug fix.
9646         (Fpq_connect_start): Mule-ize.
9647         (Fpq_set_client_encoding): Mule-ize.
9648         (Fpq_finish): Document `DEAD' connection status.
9649         (Fpq_clear): Ditto.
9650         (Fpq_pgconn): Mule-ize.
9651         (Fpq_exec): Mule-ize & bug fix.
9652         (Fpq_send_query): Ditto.
9653         (Fpq_get_result): Ditto.
9654         (Fpq_res_status): Mule-ize.
9655         (Fpq_result_error_message): Mule-ize.
9656         (Fpq_ntuples): fix comments.
9657         (Fpq_fname): Mule-ize.
9658         (Fpq_fnumber): Mule-ize.
9659         (Fpq_ftype): fix comments.
9660         (Fpq_get_value): Mule-ize.
9661         (Fpq_cmd_status): Ditto.
9662         (Fpq_cmd_tuples): Ditto.
9663         (Fpq_oid_value): Ditto.
9664         (Fpq_notifies): Ditto.
9665         (Fpq_lo_import): Ditto.
9666         (Fpq_lo_export): Ditto.
9667         (Fpq_get_line): Ditto.
9668         (Fpq_put_line): Mule-ize and bug fix.
9669         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9670
9671 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9672
9673         * postgresql.c (vars_of_postgresql): Mule-ize.
9674         (Fpq_conn_defaults): Ditto.
9675
9676 2000-03-12  Ben Wing  <ben@xemacs.org>
9677
9678         * alloc.c (Fmake_byte_code):
9679         * alloc.c (debug_string_purity_print):
9680         * alloc.c (pdump_backtrace):
9681         * alloc.c (pdump_get_indirect_count):
9682         * alloc.c (pdump_register_sub):
9683         * alloc.c (pdump_register_object):
9684         * alloc.c (pdump_register_struct):
9685         * alloc.c (pdump_dump_data):
9686         * alloc.c (pdump_reloc_one):
9687         Minor cleanups.
9688
9689         * console-msw.c:
9690         * console-msw.c (GetConsoleHwnd):
9691         * console-msw.c (msw_hide_console):
9692         * console-msw.c (msw_show_console):
9693         * console-msw.c (msw_ensure_console_buffered):
9694         * console-msw.c (msw_output_console_string):
9695         * console-msw.c (console_type_create_mswindows):
9696
9697         a) Added functions to manipulate the console window for use with
9698         shell support.
9699
9700         b) Added support for writing text to the console, which is now
9701         used under Windows when xemacs is not being run non-interactively,
9702         to write text that would otherwise be destined for stdout because
9703         under these circumstances, text written to stdout tends to
9704         disappear and not be seen.
9705
9706         * console-msw.h:
9707         * event-Xt.c:
9708         * event-Xt.c (x_event_to_emacs_event):
9709         * event-Xt.c (describe_event_window):
9710         * events-mod.h (XEMACS_MOD_CONTROL):
9711         * events.c:
9712         * events.c (Fmake_event):
9713         * events.c (character_to_event):
9714         * events.c (event_to_character):
9715         * events.c (format_event_object):
9716         * events.c (Fevent_modifiers):
9717         * events.h:
9718         * events.h (struct key_data):
9719         * events.h (struct button_data):
9720         * events.h (struct misc_user_data):
9721         * frame-x.c (Fcde_start_drag_internal):
9722         * frame-x.c (Foffix_start_drag_internal):
9723         * gpmevent.c (Freceive_gpm_event):
9724         * keymap.c:
9725         * keymap.c (bucky_sym_to_bucky_bit):
9726         * keymap.c (control_meta_superify):
9727         * keymap.c (make_key_description):
9728         * keymap.c (keymap_lookup_directly):
9729         * keymap.c (create_bucky_submap):
9730         * keymap.c (keymap_store):
9731         * keymap.c (define_key_check_and_coerce_keysym):
9732         * keymap.c (define_key_parser):
9733         * keymap.c (define_key_alternate_name):
9734         * keymap.c (Fdefine_key):
9735         * keymap.c (raw_lookup_key_mapper):
9736         * keymap.c (struct map_keymap_unsorted_closure):
9737         * keymap.c (map_keymap_unsorted_mapper):
9738         * keymap.c (map_keymap_sort_predicate):
9739         * keymap.c (map_keymap_sorted):
9740         * keymap.c (accessible_keymaps_mapper_1):
9741         * keymap.c (where_is_recursive_mapper):
9742         * keymap.c (describe_map_mapper):
9743         * keymap.c (describe_map_sort_predicate):
9744         * keymap.c (describe_map):
9745         * keymap.c (complex_vars_of_keymap):
9746         And a number of other files, the key modifier preprocessor
9747         constants that xemacs uses have names that conflict with constants
9748         defined under MS Windows for other purposes, so they were renamed
9749         to begin with the prefix XEMACS_. The variables that hold such
9750         modifiers were changed to consistently be of type int to fix
9751         various compile warnings.
9752
9753         * console.c (complex_vars_of_console):
9754         * device.c:
9755         * device-msw.c:
9756         * device-msw.c (mswindows_finish_init_device):
9757         * device-msw.c (msw_get_workspace_coords):
9758         * device-msw.c (mswindows_device_system_metrics):
9759         and various other files, added support for a new
9760         device property called offset-workspace which returns the position
9761         of the upper left corner of the workspace area and goes along with
9762         the existing size-workspace property.
9763
9764         * dialog-msw.c:
9765         * dialog-msw.c (push_bufbyte_string_as_unicode):
9766         * dialog-msw.c (mswindows_popup_dialog_box):
9767         Added support for XEmacs-style accelerator specifications in
9768         button text.  Note: I didn't add support for this under X Windows,
9769         and somebody needs to do this.
9770
9771         * dialog.c:
9772         * dialog.c (Fpopup_dialog_box):
9773         Documented the support for accelerators that was just mentioned.
9774
9775         editfns.c (get_home_directory): Changed behavior under Windows
9776         when HOME not defined; former behavior was irretrievably broken.
9777
9778         * emacs.c:
9779         * emacs.c (main_1):
9780         * emacs.c (main):
9781         * minibuf.c (clear_echo_area_internal):
9782         * minibuf.c (echo_area_append):
9783         * print.c:
9784         * print.c (std_handle_out_external):
9785         * print.c (std_handle_out_va):
9786         * print.c (fatal):
9787         * print.c (write_string_to_stdio_stream):
9788         * print.c (output_string):
9789         * print.c (debug_print):
9790         * print.c (debug_backtrace):
9791         * print.c (debug_short_backtrace):
9792         Cleaned up the code that prints text to stdout so that this can be
9793         changed to output into a console window instead under MS Windows,
9794         as described above.
9795
9796         * eval.c:
9797         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9798         * eval.c (internal_catch):
9799         * eval.c (unwind_to_catch):
9800         * eval.c (throw_or_bomb_out):
9801         * eval.c (condition_case_1):
9802         * eval.c (signal_1):
9803         * eval.c (check_error_state_sanity):
9804         * eval.c (call_with_suspended_errors_1):
9805         * eval.c (call_with_suspended_errors):
9806         * eval.c (reinit_vars_of_eval):
9807         Added code to catch throw loops and check for a pesky bug that may
9808         be gone now.
9809
9810         * event-msw.c:
9811         * event-msw.c (key_needs_default_processing_p):
9812         * event-msw.c (mswindows_wnd_proc):
9813         * event-msw.c (mswindows_modifier_state):
9814         * event-msw.c (emacs_mswindows_quit_p):
9815         * event-msw.c (vars_of_event_mswindows):
9816         a) Added support for using the alt key to select menu items as is
9817         standard under MS Windows.  This is controlled using the variable
9818         menu-accelerator-enabled, just like under X Windows.  There is an
9819         option on the options menu to turn this support on.  I really
9820         think that it should be on by default under Windows, but I'm not
9821         going to make this change yet.
9822
9823         b)  Added support for dynamic display size changes under Windows.
9824
9825         * event-stream.c:
9826         * event-stream.c (maybe_echo_keys):
9827         * event-stream.c (Fnext_event):
9828         * event-stream.c (command_builder_find_leaf):
9829         * event-stream.c (lookup_command_event):
9830         * event-stream.c (execute_command_event):
9831         * event-stream.c (pre_command_hook):
9832         * event-stream.c (post_command_hook):
9833         * event-stream.c (syms_of_event_stream):
9834         * event-stream.c (vars_of_event_stream):
9835         * event-stream.c (complex_vars_of_event_stream):
9836         * events.h (struct command_builder):
9837
9838         a) Tried to clean up a little bit the horribly written x-specific
9839         accelerator code that crept into this file.  I moved this code
9840         into menubar-x.c where it belongs. I also needed to move the
9841         command builder structure into the file events.h because it is
9842         accessed directly by this accelerator code.  What I didn't do, but
9843         which should be done at some point, is to properly abstract this
9844         code using device methods instead of the kludgy way that it
9845         currently hooks into the event code.
9846
9847         b) Added the lisp variables this-command-properties and
9848         last-command- properties, which should be used to synchronize two
9849         adjacent commands in preference to playing games with the variable
9850         this-command, which is typically what happens.
9851
9852         c) Added some slightly nasty code to hook into the lisp support
9853         for shifted- motion-key selection.  This is actually necessary for
9854         somewhat complicated reasons, which are described in
9855         simple.el. (NB: I think the proper thing would be to have the code
9856         that calls the pre and post command hooks also call out to generic
9857         lisp functions in simple.el, where all built-in stuff could be
9858         added.  I will think about this more.)
9859
9860         * event-unixoid.c (poll_fds_for_input):
9861         * lread.c (readchar):
9862         * redisplay-tty.c (tty_clear_frame):
9863         * redisplay-x.c (x_get_gc):
9864         * signal.c (interrupt_signal):
9865         And a whole bunch of other files: fixed up places that printed
9866         directly to stderr to instead call the function stderr_out so that
9867         the changes I made under Windows work correctly.
9868
9869         * filemode.c (mode_string):
9870         Warning fixes.
9871
9872         * frame-msw.c:
9873         * frame-msw.c (mswindows_size_frame_internal):
9874         Fixed the computation of frame size and position to keep the frame
9875         within the workspace area, rather than within the physical
9876         dimensions of the screen, so that the frame doesn't overlap window
9877         manager decorations, such as the start menu and toolbar, typically
9878         at the bottom of the screen.
9879
9880         * frame.c (vars_of_frame):
9881         Changed the default frame title format under MS Windows to consist
9882         of buffername-XEmacs, which is standard under MS Windows.  I think
9883         it might be a good idea to change this everywhere because I think
9884         it is superior to the current frame title format, but this is the
9885         kind of change that is likely to cause some people to get annoyed,
9886         so I'm not making it.
9887
9888         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9889
9890         * gui-msw.c (mswindows_handle_gui_wm_command):
9891         Fixed compile warnings.
9892
9893         * gui-x.c:
9894         * gui-x.c (strdup_and_add_accel):
9895         * gui-x.c (button_item_to_widget_value):
9896         * gui-x.h:
9897         Added code to automatically put an accelerator onto the beginning
9898         of menu items that don't have one as is now the standard, and is
9899         described more later.  Also fixed things so that the menu item
9900         name can be an evaluated expression, again a new standard.
9901
9902         * gui.c:
9903         * gui.c (gui_item_add_keyval_pair):
9904         * gui.c (make_gui_item_from_keywords_internal):
9905         * gui.c (gui_add_item_keywords_to_plist):
9906         * gui.c (gui_item_accelerator):
9907         * gui.c (gui_name_accelerator):
9908         * gui.c (gui_item_included_p):
9909         * gui.c (gui_item_display_flush_left):
9910         * gui.c (gui_item_display_flush_right):
9911         * gui.c (parse_gui_item_tree_item):
9912         * gui.c (parse_gui_item_tree_children):
9913         * gui.c (parse_gui_item_tree_list):
9914         Mule-ized.  Cleanup.  GCPRO addition.
9915
9916         * line-number.c (buffer_line_number):
9917         * lisp.h:
9918         * lisp.h (EMACS_INT_MAX):
9919         Added the manifest constant EMACS_INT_MIN corresponding to the
9920         existing constant EMACS_INT_MAX.  This is partially to fix compile
9921         warnings under Windows, and partly for cleanliness.
9922
9923         * menubar-msw.c:
9924         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9925         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9926         * menubar-msw.c (displayable_menu_item):
9927         * menubar-msw.c (populate_menu_add_item):
9928         * menubar-msw.c (populate_or_checksum_helper):
9929         * menubar-msw.c (populate_menu):
9930         * menubar-msw.c (update_frame_menubar_maybe):
9931         * menubar-msw.c (prune_menubar):
9932         * menubar-msw.c (msw_char_is_accelerator):
9933         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9934         * menubar-msw.c (mswindows_handle_wm_command):
9935         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9936         * menubar-msw.c (mswindows_handle_wm_initmenu):
9937         * menubar-msw.c (mswindows_update_frame_menubars):
9938         * menubar-msw.c (mswindows_free_frame_menubars):
9939         * menubar-msw.c (mswindows_popup_menu):
9940         Fixed a bug in handling accelerators where an extra character
9941         would be displayed in the menu item.  Also generalized the
9942         function displayable_menu_item because it is now used by the
9943         dialog box code as well.  And finally, added code in the functions
9944         that create the menubar to extract a list of accelerators for the
9945         top level menubar, which is used in the event code to determine
9946         whether a particular alt-key combination should be used to invoke
9947         a menu item, or should be passed through to access the standard
9948         XEmacs keymap binding for this key combination.
9949
9950         Much needed GCPROing.
9951
9952         * menubar-x.c:
9953         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9954         * menubar-x.c (menu_item_descriptor_to_widget_value):
9955         * menubar-x.c (restore_in_menu_callback):
9956         * menubar-x.c (x_popup_menu):
9957         * menubar-x.c (menu_move_up):
9958         * menubar-x.c (menu_move_down):
9959         * menubar-x.c (menu_move_left):
9960         * menubar-x.c (menu_move_right):
9961         * menubar-x.c (menu_select_item):
9962         * menubar-x.c (command_builder_operate_menu_accelerator):
9963         * menubar-x.c (menu_accelerator_junk_on_error):
9964         * menubar-x.c (command_builder_find_menu_accelerator):
9965         * menubar-x.c (Faccelerate_menu):
9966         * menubar.h:
9967         Moved a whole bunch of code here that was previously in
9968         event-stream.c as described above.  There is also code connected
9969         to the new standard of adding an accelerator to the beginning of
9970         menu items that don't have one as described above and below.
9971
9972         * menubar.c:
9973         * menubar.c (menu_parse_submenu_keywords):
9974         * menubar.c (Fmenu_find_real_submenu):
9975         * menubar.c (Fnormalize_menu_item_name):
9976         * menubar.c (syms_of_menubar):
9977         * menubar.c (vars_of_menubar):
9978         * menubar.c (complex_vars_of_menubar):
9979
9980         a) Cleaned up a bunch of documentation and improved it.
9981
9982         b) XEmacs now automatically adds an accelerator onto the beginning
9983         of any menu items that don't have one.  I did this because there
9984         will inevitably be some menu items on the main menubar that don't
9985         have accelerators on them because the package that adds that
9986         particular menu item hasn't yet been fixed up to have accelerators
9987         in them and it looked rather strange to have some items with and
9988         some items without accelerators, especially since even in items
9989         without accelerators, you can, at least under windows, still
9990         access the item through an accelerator corresponding to the first
9991         character in the item's name.  If people don't like this behavior,
9992         I can add a variable to turn it off optionally, but I'm not sure
9993         this is a good idea because we really do need to have accelerators
9994         on all of the menu items, and if a package doesn't like the
9995         accelerators being put on the first character, then it should put
9996         the accelerators where they belong.
9997
9998         c) I made a behavior change, which is that the descriptor that
9999         specifies the text of the menu item, which formerly was just a
10000         string, can now also be an evaluated expression.  This makes this
10001         descriptor parallel with all of the others, which could also be
10002         evaluated expressions.  This also obviates the need for the
10003         keyword :label, which was previously listed in the documentation
10004         as unimplemented, and which was for the same purpose.
10005
10006         d) GCPROing.
10007
10008         * ntproc.c:
10009         * ntproc.c (new_child):
10010         * ntproc.c (sys_spawnve):
10011         * ntproc.c (find_child_console):
10012         * ntproc.c (sys_kill):
10013         Fixed compile warnings.  By the way, this file should really go
10014         away entirely, and this will happen as soon as Kirill makes his
10015         final round of process cleanups, which affect the function
10016         call-process.
10017
10018         * process-nt.c:
10019         * process-nt.c (struct nt_process_data):
10020         * process-nt.c (find_process_from_pid):
10021         * process-nt.c (send_signal_the_nt_way):
10022         * process-nt.c (enable_child_signals):
10023         * process-nt.c (find_child_console):
10024         * process-nt.c (send_signal_the_95_way):
10025         * process-nt.c (nt_finalize_process_data):
10026         * process-nt.c (ensure_console_window_exists):
10027         * process-nt.c (nt_create_process):
10028         * process-nt.c (nt_kill_child_process):
10029         * process-nt.c (nt_kill_process_by_pid):
10030         * process-nt.c (nt_open_network_stream):
10031         * process-nt.c (vars_of_process_nt):
10032         Copied over code from Emacs 20.5 to correctly send signals to sub-
10033         processes under Windows 95.  Also added code to automatically
10034         create and hide console window when a sub-process is created under
10035         Windows 95, which obviates the need for the separate runemacs.exe
10036         executable, and finally implemented some variables that were
10037         implemented in Emacs 20.5, but previously not in XEmacs.  These
10038         include mswindows- start-process-share-console and
10039         mswindows-start-process-inherit-error-mode. (Both of these only
10040         apply to Windows 95.)
10041
10042         * regex.c (regex_compile): Fixed a compile warning.
10043
10044         * select-msw.c:
10045         * select-msw.c (mswindows_own_selection):
10046         * select-msw.c (mswindows_get_foreign_selection):
10047         * select-msw.c (mswindows_disown_selection):
10048         * select-msw.c (console_type_create_select_mswindows):
10049         * select-msw.c (syms_of_select_mswindows):
10050         Cleaned up the file and implemented the device method
10051         selection_exists_p, which had accidentally been left out.  Also
10052         removed four lisp functions that were remnants from before the
10053         time when the selection code was properly device abstracted.
10054         These functions are no longer needed because there are generic
10055         equivalents, and because they were added recently and don't exist
10056         in FSF Emacs, I don't think there's any problem with just deleting
10057         them.
10058
10059         * sysdep.c:
10060         * sysdep.c (sys_subshell):
10061         Fixed a compile warning, although in this case there's probably
10062         something wrong with this code, and it ought to be looked into
10063         more thoroughly by somebody who understands it.
10064
10065         * window.c:
10066         * window.c (Fwindow_text_area_height):
10067         * window.c (Fwindow_width):
10068         * window.c (Fwindow_full_width):
10069         * window.c (Fwindow_pixel_width):
10070         * window.c (debug_print_window):
10071         * window.c (syms_of_window):
10072         Added functions window-text-area-height and window-full-width,
10073         which are functions for returning various width and height
10074         characteristics of a window. (One of these functions is necessary
10075         for making the file dialog box work correctly, and the other one
10076         was added for completeness.)  Also added a table to the
10077         documentation for window-height which describes the entire scheme
10078         for accessing width and height characteristics of a window.
10079
10080 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10081
10082         * nt.c (fstat): Added a comment for another problem with
10083         non-encapsulated [f]stat(), reported by Adrian Aichner
10084         <aichner@ecf.teradyne.com>.
10085
10086 2000-03-11  Andy Piper  <andy@xemacs.org>
10087
10088         * window.c (make_dummy_parent): initialize subwindow instance
10089         cache.
10090         (Fset_window_configuration): zero extent_modiff.
10091
10092 2000-03-10  Andy Piper  <andy@xemacs.org>
10093
10094         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10095         more changes can be triggered.
10096         (Fredisplay_frame): ditto.
10097         (Fredraw_device): ditto.
10098         (Fredisplay_device): ditto.
10099         (redisplay_frame): make non-static.
10100         (redisplay_frame): call update_frame_gutter_geometry outside of
10101         display proper.
10102
10103         * gutter.h: declare update_frame_gutter_geometry.
10104
10105         * redisplay.h: declare redisplay_frame.
10106
10107         * gutter.c (update_frame_gutter_geometry): move geometry changes
10108         in update_frame_gutters here. Geometry changes can only occur
10109         outside of redisplay.
10110         (update_frame_gutters): remove geometry change code.
10111         (Fredisplay_gutter_area): make sure that we are in display when we
10112         update and that we have flushed any size changes.
10113
10114 2000-03-11  Andy Piper  <andy@xemacs.org>
10115
10116         * alloc.c (pdump_dump_data): remove i & count shadows.
10117
10118 2000-02-27  Mike Alexander  <mta@arbortext.com>
10119
10120         * sysdep.h: Declare pdump_read_file
10121
10122         * sysdep.c (pdump_read_file): New function
10123
10124         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10125         dump data
10126
10127 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10128
10129         * lrecord.h: add `lrecord_type_pgsetenv'.
10130
10131 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10132
10133         * symsinit.h: declare (vars|syms)_of* functions.
10134         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10135
10136 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10137
10138         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10139
10140         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10141         GCCs.
10142
10143         * emacs.c (main_1): Call postgres initialization code.
10144
10145         * postgresql.h: New file.  PostgreSQL RDBMS support.
10146         * postgresql.c: New file.
10147
10148 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10149
10150         * redisplay-output.c (redisplay_output_display_block): Disable
10151         redundant code.
10152
10153 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10154
10155         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10156         (Fcanna_henkan_next): Ditto.
10157         (Fcanna_bunsetu_henkou): Ditto.
10158         (Fcanna_henkan_kakutei): Ditto.
10159         (Fcanna_henkan_end): Ditto.
10160         (Fcanna_henkan_quit): Ditto.
10161         (Fcanna_henkan_next): Set retun value correctly.
10162         (c2mu): Use unsigned char instead of signed char.
10163
10164 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10165
10166         * emacs.c (main_1): Always call syms_of_gui.
10167         * inline.c: include gui.h
10168
10169 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10170
10171         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10172         converted to Lisp_Object.
10173         (Qtop_bottom): New variable.
10174         (syms_of_redisplay): Initialize it.
10175         * redisplay.h (Vvisible_bell): Ditto.
10176         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10177         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10178         only flash top and bottom.
10179
10180 2000-03-08  Andy Piper  <andy@xemacs.org>
10181
10182         * buffer.c (Frename_buffer): record new buffer name the right way.
10183
10184 2000-03-08  Andy Piper  <andy@xemacs.org>
10185
10186         * glyphs.c (update_subwindow): increase hash depth so that widget
10187         items get picked up properly.
10188
10189         * redisplay-output.c (compare_runes): increase hash depth so that
10190         widget items get picked up properly.
10191
10192 2000-03-08  Andy Piper  <andy@xemacs.org>
10193
10194         * gutter.c (output_gutter): add some debug.
10195
10196         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10197         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10198         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10199
10200         * redisplay-output.c (compare_runes): use display_hash to
10201         determine if glyphs really are not the same.
10202
10203         * glyphs.c (update_subwindow): check display_hash to see if
10204         anything really needs to be updated. If not then do
10205         nothing. Record the display_hash after updating.
10206         (image_instance_equal): compare the image_instance face also.
10207
10208 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10209
10210         * redisplay.h: Fix comment style.
10211
10212 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10213
10214         * consle-msw.h (struct mswindows_frame):
10215         Added new member paint_pending to indicate whether a WM_PAINT
10216         magic event has been queued for this frame.
10217
10218         * event-msw.c (mswindows_drain_windows_queue):
10219         Don't queue a WM_PAINT magic event if one is already queued.
10220         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10221
10222         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10223
10224 2000-03-07  Didier Verna  <didier@xemacs.org>
10225
10226         * dired.c: #include `regex.h' after `sysfile.h'.
10227
10228 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10229
10230         * sound.c (init_nas_sound): Fix compiler warning.
10231
10232         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10233         (FREE_STRUCT_P):
10234         (MARK_STRUCT_AS_FREE):
10235         (MARK_STRUCT_AS_NOT_FREE):
10236         Make `gcc -fstrict-aliasing' work properly.
10237
10238 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10239
10240         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10241         (mswindows_delete_device): Call CoUnnitialize().
10242
10243         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10244
10245 2000-02-25    <CraigL@DyCon.com>
10246
10247         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10248         <errno.h>.
10249
10250         * sysdep.c: This extern declaration for environ prevents MinGW
10251         from finding the variable in CRTDLL.DLL.
10252
10253         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10254         windows headers.
10255         (SHGFI_EXETYPE): ..
10256         (WM_MOUSEWHEEL): ..
10257         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10258         definitions.
10259         (MMRESULT): Removed, now defined in cygwin's windows headers.
10260         (TIMECAPS): ..
10261         (uid_t,gid_t,pid_t,ssize_t): ..
10262         (_timeb): Removed, MinGW defines both _timeb and timeb.
10263         (HAVE_H_ERRNO): Added.
10264         (HAVE_TZNAME): Added, configure is not detecting this.
10265
10266 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10267
10268         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10269         * syntax.c (syntax_match): Use it.
10270
10271         * cmds.c: Import auto-fill-chars from FSF Emacs.
10272         (Vauto_fill_chars): New variables.
10273         (internal_self_insert): Check Vauto_fill_chars.
10274         (vars_of_cmds):
10275         Declare auto-fill-chars as a Lisp variable and initialize it.
10276
10277 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10278
10279         * fileio.c (Fmake_symbolic_link):
10280         (Ffile_symlink_p):
10281         Run handlers even if local machine doesn't have symlinks.
10282
10283 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10284
10285         * event-msw.c (mswindows_drain_windows_queue):
10286         Don't generate paint magic events for non-XEmacs frames.
10287
10288 2000-03-05  Andy Piper  <andy@xemacs.org>
10289
10290         * redisplay.c (redisplay_frame): generate_displayable_area and
10291         friends assumes that we are not in GC, we therefore have to make
10292         sure that this doesn't happen.
10293
10294         * gutter.c (calculate_gutter_size): generate_displayable_area
10295         assumes that we are not in GC, we therefore have to make sure that
10296         this doesn't happen.
10297
10298 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10299
10300         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10301
10302 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10303
10304         * redisplay.c (regenerate_window): Make sure we set a sane value
10305         for end_pos even if we jump out of the loop.
10306         (regenerate_window): Answer Ben's question :-).
10307         (start_end_of_last_line): Add may_error argument.
10308         (start_of_last_line):
10309         (end_of_last_line): Pass may_error = 0.
10310         (end_of_last_line_may_error): New function.
10311         (pixel_to_glyph_translation): Use it, so we don't crash in
10312         event_to_glyph.
10313
10314 2000-03-04  Andy Piper  <andy@xemacs.org>
10315
10316         * window.h (struct window): add gutter_extent_modiff.
10317
10318         * window.c (allocate_window): zero out gutter_extent_modiff.
10319
10320         * redisplay.h: declare sync_display_line_structs.
10321
10322         * redisplay.c (add_glyph_rune): add a better comment.
10323
10324         * redisplay-output.c (sync_display_line_structs): made non-static.
10325         (compare_runes): remove unneccesary glyph cachel access.
10326
10327         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10328
10329         * gutter.c (output_gutter): don't output the gutter if extent
10330         changes only involve extents in buffers. use 4 sets of display
10331         lines.
10332         (gutter_extent_signal_changed_region_maybe): new function. Mark
10333         extents in gutters as changed.
10334         (update_frame_gutters): use 4 sets of display lines.
10335         (reset_gutter_display_lines): ditto.
10336         (free_frame_gutters): ditto.
10337         (redraw_exposed_gutter): force output of gutters.
10338
10339         * frame.h (struct frame): add 4 sets of gutter display lines.
10340
10341         * extents.c: (extent_changed_for_redisplay): signal changes to
10342         extents in strings in the gutter as well as extents in buffers.
10343
10344 2000-03-02  Andy Piper  <andy@xemacs.org>
10345
10346         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10347
10348         * frame.c (Fmake_frame): make sure the gutters get initialized
10349         after the frame is visible.
10350         (set_frame_selected_window): re-arrange compilation macros a
10351         little.
10352         (change_frame_size_1): mark gutters changed.
10353
10354         * device.c (Fset_device_class): mark gutters changed.
10355
10356 2000-03-01  Andy Piper  <andy@xemacs.org>
10357
10358         * window.c (window_top_frame_gutter_height): deleted.
10359         (window_bottom_frame_gutter_height): ditto.
10360         (window_left_frame_gutter_height): ditto.
10361         (window_right_frame_gutter_height): ditto.
10362         (window_top_gutter_height): don't use them.
10363         (window_bottom_gutter_height): ditto.
10364         (window_left_gutter_width): ditto.
10365         (window_right_gutter_width): ditto.
10366         (Fsplit_window): ditto.
10367         (Fwindow_pixel_edges): don't use border dimensions here.
10368
10369         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10370         (update_scrollbar_instance): ditto.
10371
10372         * redisplay.c (generate_modeline): don't take gutters into account.
10373         (generate_modeline): ditto.
10374         (redisplay_frame): small gutter display optimization.
10375
10376         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10377
10378         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10379         gutters into account.
10380
10381         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10382         for window position and type.
10383
10384         * gutter.c (get_gutter_coords): fix for frame gutters.
10385         (update_frame_gutters): update frame geometry if the gutters have
10386         changed.
10387         (init_frame_gutters): record current gutter geometries.
10388
10389         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10390         var.
10391         (mswindows_widget_instantiate): ditto.
10392
10393         * frame.h (struct frame): add current_gutter_bounds.
10394
10395         * frame.c (change_frame_size_1): position window and minibuffer
10396         appropriately taking into account the frame gutters.
10397
10398         * frame-x.c: (x_initialize_frame_size): take into account the
10399         frame gutters.
10400
10401 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10402
10403         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10404
10405 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10406
10407         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10408
10409 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10410
10411         * file-coding.c (reset_decoding_stream): Clear previous
10412         detection state when autodetect.
10413
10414 2000-02-29  Didier Verna  <didier@xemacs.org>
10415
10416         * extents.c (set_extent_glyph_1): don't require extents to be
10417         attached.
10418
10419 2000-02-27  Andy Piper  <andy@xemacs.org>
10420
10421         * gutter.c (Fset_default_gutter_position): don't default left and
10422         right gutter visibility to t.
10423         (Fset_default_gutter_position): run
10424         default-gutter-position-changed-hook.
10425         (syms_of_gutter): add default-gutter-position-changed-hook.
10426
10427 2000-02-26  Andy Piper  <andy@xemacs.org>
10428
10429         * specifier.c (Fmake_specifier): add gutter references.
10430
10431         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10432
10433         * lisp.h: declare Fvalid_plist_p.
10434
10435         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10436         as changed.
10437         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10438         well as its visibility so that it gets reconstructed.
10439         (construct_window_gutter_spec): new function. Construct a string
10440         to be displayed in the gutter from a plist of strings. Take care
10441         to only use elements that are declared as visible.
10442         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10443         WINDOW_GUTTER.
10444         (gutter_validate): allow plists of strings in the specifier.
10445         (gutter_specs_changed): construct the real_gutter from the gutter
10446         specs using construct_window_gutter_spec.
10447         (gutter_visible_validate): gutter-visible is a new specifier type.
10448         (Fgutter_visible_specifier_p): new function for the new specifier.
10449         (syms_of_gutter): declare gutter-visible and
10450         Fgutter_visible_specifier_p.
10451         (specifier_type_create_gutter): intitalize new gutter-visible
10452         specifier.
10453         (reinit_specifier_type_create_gutter): ditto.
10454         (specifier_vars_of_gutter): use new specifier type for gutter
10455         visibility.
10456         (init_frame_gutters): construct real_gutter correctly.
10457         (Fgutter_specifier_p): beef up documentation.
10458         (Fgutter_size_specifier_p): ditto.
10459
10460         * winslots.h: add real_gutter slots.
10461
10462 2000-02-25  Andy Piper  <andy@xemacs.org>
10463
10464         * device-msw.c: Be kind to older cygwin versions. From Raymond
10465         Toy <toy@rtp.ericsson.se>.
10466
10467         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10468         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10469
10470 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10471
10472         * elhash.c (MARK_OBJ): Practice macro hygiene.
10473
10474 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10475
10476         * miscplay.c: s/__inline__/inline/g;
10477         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10478         (get_device_compdc): INLINE ==> static inline
10479         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10480         find -name '*.h' | \
10481         xargs global-replace \
10482         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10483
10484 2000-02-25  Andy Piper  <andy@xemacs.org>
10485
10486         * window.c (window_top_frame_gutter_height): new function.
10487         (window_top_window_gutter_height): ditto.
10488         (window_top_gutter_height): use them.
10489         (window_bottom_frame_gutter_height): new function.
10490         (window_bottom_window_gutter_height): ditto.
10491         (window_bottom_gutter_height): use them.
10492         (window_left_window_gutter_width): new function.
10493         (window_left_frame_gutter_width): ditto.
10494         (window_left_gutter_width): use them.
10495         (window_right_window_gutter_width): new function.
10496         (window_right_frame_gutter_width): ditto.
10497         (window_right_gutter_width): use them.
10498         (window_pixel_height): new function. calulate window pixel height
10499         with frame gutter involvement.
10500         (Fsplit_window): calculate new sizes taking frame gutters into
10501         account.
10502         (window_char_height_to_pixel_height): don't include frame gutters.
10503         (window_char_height): use window_pixel_height.
10504         (window_pixheight): rename from window_pixel_height.
10505         (change_window_height): use it.
10506         (window_pixel_height_to_char_height): don't include frame gutters.
10507         (window_char_width_to_pixel_width): ditto.
10508
10509 2000-02-25  Andy Piper  <andy@xemacs.org>
10510
10511         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10512         if it is.
10513
10514 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10515
10516         * alloc.c (staticpro):
10517         (staticpro_nodump):
10518         (dumpstruct):
10519         (dumpopaque):
10520         (pdump_wire):
10521         (pdump_wire_list):
10522         (compact_string_chars):
10523         (pdump_dump_wired):
10524         Convert:  if (foo) abort();  ==>  assert (! foo);
10525
10526         * eldap.c (Fldap_search_basic):
10527         (Fldap_add):
10528         (Fldap_modify):
10529         (Fldap_delete):
10530         Fix compiler warnings, and possible crashes if (random) return
10531         value were to be used.
10532
10533 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10534
10535         * device-msw.c: Workaround ResetDC failure.
10536
10537         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10538         applying a devmode.
10539
10540         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10541         (mswindows_text_width): Do not start printer page.
10542
10543         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10544
10545         * glyphs-msw.c: Added image methods to msprinter console and
10546         msprinter-specific image instantiation.
10547
10548 2000-02-20  Mike Alexander  <mta@arbortext.com>
10549
10550         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10551         to avoid crashes when selection-sets-clipboard is on
10552         (mswindows_own_selection): ditto
10553
10554 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10555
10556         * glyphs-msw.c:
10557         * redisplay-msw.c (get_frame_dc):
10558         (get_frame_compdc):
10559         * console-msw.h:
10560         * device-msw.c (mswindows_init_device):
10561         (mswindows_delete_device):
10562         (msprinter_init_device):
10563         (msprinter_delete_device):
10564         * frame-msw.c (mswindows_init_frame_1):
10565         (mswindows_delete_frame):
10566         (msprinter_init_frame_3):
10567         (msprinter_delete_frame): Move compatible DC to device object from
10568         frame object, for both mswindows and msprinter. Only one at a time
10569         is needed, it is a real waste to have one per frame!
10570
10571 2000-02-23  Andy Piper  <andy@xemacs.org>
10572
10573         * glyphs.c: add dynamic width and height elements.
10574         (image_instance_equal): ditto.
10575
10576         * glyphs-widget.c (widget_query_geometry): calculate width and
10577         height dynamically if required.
10578         (initialize_widget_image_instance): initialize dynamic dimensions.
10579         (widget_instantiate): pick-up dynamic dimensions.
10580
10581         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10582         dynamic determination. Add appropriate macros.
10583
10584         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10585         dimensions safe.
10586         (WINDOW_GUTTER_SIZE): ditto.
10587         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10588
10589         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10590         inline.
10591         (get_frame_dc): ditto.
10592
10593         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10594         here.
10595
10596 2000-02-23  Martin Buchholz <martin@xemacs.org>
10597
10598         * XEmacs 21.2.31 is released.
10599
10600 2000-02-22  Ben Wing <ben@xemacs.org>
10601
10602         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10603
10604 2000-02-22  Andy Piper  <andy@xemacs.org>
10605
10606         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10607
10608 2000-02-21  Mike Sperber <mike@xemacs.org>
10609
10610         * .dbxrc:
10611         * .gdbinit:
10612         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10613         variables.
10614
10615 2000-02-21  Mike Sperber <mike@xemacs.org>
10616
10617         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10618
10619 2000-02-21  Martin Buchholz <martin@xemacs.org>
10620
10621         * XEmacs 21.2.30 is released.
10622
10623 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10624
10625         Performance hacking.
10626         * *.c (syms_of_*):
10627         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10628         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10629         * emacs.c (main_1):
10630         * lisp.h (DEFUN):
10631         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10632         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10633         * symeval.h (DEFVAR_SYMVAL_FWD):
10634         * symbols.c (guts_of_unbound_marker):
10635         Make all c_readonly objects also lisp_readonly and marked for life.
10636         * lrecord.h (struct lrecord_implementation):
10637         Document flags better.
10638         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10639         * lrecord.h (DECLARE_LRECORD):
10640         * lrecord.h (XSETRECORD):
10641         * lrecord.h (RECORDP):
10642         * lrecord.h (RECORD_TYPEP):
10643         * lrecord.h (RECORD_MARKER): New.
10644         * lrecord.h (error_check_*):
10645         * lrecord.h (CONCHECK_NONRECORD):
10646         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10647         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10648         * lrecord.h (set_lheader_implementation):
10649         * lrecord.h (enum lrecord_type): New.
10650         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10651         * alloc.c (disksave_object_finalization_1):
10652         * alloc.c (mark_object):
10653         * alloc.c (lrecord_type_index):
10654         * alloc.c (tick_lcrecord_stats):
10655         * alloc.c (Fgarbage_collect):
10656         * alloc.c (init_alloc_once_early):
10657         * alloc.c (pdump_load):
10658         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10659         * alloc.c (lrecord_type_index): Delete.
10660         Make lisp object type indexes be constant.
10661           Makes (byte-compile) 5% faster.
10662         Put all marker functions into their own array.
10663           Makes (garbage-collect) 5% faster.
10664         Optimize SYMBOL_VALUE_MAGIC_P.
10665           Makes (byte-compile) 2-3% faster.
10666         * config.h.in (gc_checking_assert): New.
10667         * alloc.c: Use gc_checking_assert().
10668         * .dbxrc: Make compatible with new object type implementation.
10669         * .gdbinit: Make compatible with new object type implementation.
10670         * alloc.c: Delete all symbols defined only for debugging, such as
10671         Lisp_Type_Vector and lrecord_charset.
10672
10673 2000-02-21  Andy Piper  <andy@xemacs.org>
10674
10675         * gui-msw.c (Fmswindows_shell_execute): fix file location
10676         problems.
10677
10678         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10679         unshowing so that set_window_buffer doesn't undo
10680         kill_buffer_hook's hard work.
10681
10682         * glyphs-widget.c (tab_control_query_geometry): don't count the
10683         first item when calculating geometry.
10684
10685         * glyphs.c (map_subwindow): remove redundant code.
10686         (update_frame_subwindows): be more circumspect about when to
10687         update subwindows.
10688
10689         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10690         when items haven't changed. Update faces if faces have changed as
10691         well as just the widget face.
10692         (x_tab_control_update): Update faces if faces have changed as well
10693         as just the widget face.
10694
10695 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10696
10697         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10698         registration.
10699         (build_syscolor_string): Use mswindows_color_to_string to try to
10700         get a named color.
10701         (mswindows_device_system_metrics): Reverse the foreground and
10702         background colors so that they match the documentation.
10703
10704         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10705         they match the default Windows palette.
10706         (mswindows_color_to_string): New function.
10707
10708 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10709
10710         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10711
10712 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10713
10714         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10715         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10716
10717         * symbols.c (init_symbols_once_early): Removed obsolete
10718         DATA_SEG_BITS related kludge.
10719         (defvar_magic): Ditto.
10720
10721         * malloc.c: Removed obsolete DATA_SEG_BITS
10722         * ralloc.c: Ditto.
10723         * mem-limits.h: Ditto.
10724
10725         * Makefile.in.in: Removed obsolete HAVE_SHM
10726         * emacs.c: Ditto.
10727
10728 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10729
10730         *  device-msw.c (mswindows_delete_device): Free DDE string
10731         handles.
10732
10733 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10734
10735         * keymap.c (get_keyelt):
10736         * unexnt.c (unexec):
10737         * vm-limit.c (memory_warnings):
10738         * ntheap.c (recreate_heap):
10739         * ntheap.h (UNINIT_PTR):
10740         * select-msw.c (Fmswindows_get_clipboard):
10741         (Fmswindows_set_clipboard):
10742         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10743         * objects-msw.c:
10744         * menubar-msw.c (displayable_menu_item):
10745         * glyphs-msw.c:
10746         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10747         * sysdep.c (sys_subshell):
10748         * process-nt.c (nt_create_process):
10749         * nt.c (normalize_filename):
10750         (dostounix_filename):
10751         (unixtodos_filename):
10752         * ntproc.c (win32_executable_type):
10753         * ntplay.c (play_sound_data_1):
10754         (play_sound_file):
10755         * editfns.c (get_home_directory):
10756         * event-msw.c (struct winsock_stream):
10757         (mswindows_dde_callback):
10758         * device-msw.c (msprinter_init_device):
10759         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10760
10761         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10762         mswindows_clear_toolbar were swapped!
10763
10764         * objects-msw.c:(colormap_t):
10765         (fontmap_t):
10766         * emacs.c (struct standard_args): Fixed const jumble.
10767
10768         * glyphs-widget.c (update_widget): Fixed comparison notation.
10769
10770         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10771
10772         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10773         __declspec(noreturn) syntax.
10774
10775 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10776
10777         * eldap.c (Fldap_open):
10778         (Fldap_search_basic):
10779         (Fldap_add):
10780         (Fldap_modify):
10781         Use new coding system conversion macros.
10782
10783 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10784
10785         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10786
10787 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10788
10789         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10790         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10791
10792         * eldap.c (Qadd, Qreplace): New constant symbols
10793         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10794         interruptions by XEmacs signals
10795         Remove unnecessary calls to slow_down_interrupts and
10796         speed_up_interrupts
10797         (Fldap_search_basic): Renamed from Fldap_search_internal
10798         Added new optional parameter VERBOSE that triggers the
10799         display of progress messages
10800         Remove unnecessary calls to slow_down_interrupts and
10801         speed_up_interrupts
10802         LDAP result code analysis rewritten
10803         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10804         (syms_of_eldap): Define the new symbols and functions
10805
10806
10807 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10808
10809         * realpath.c: Determine PATH_MAX maximally portably.
10810
10811         * insdel.c (bytecount_to_charcount): Optimize.
10812         The function used to be optimized for entirely ASCII sequences.
10813         Now it is optimized for successive characters from the same
10814         charset.  This also wins big for _mostly_ ASCII sequences.
10815
10816         * fileio.c (Ffile_truename): convert return from realpath() using
10817         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10818         - Rewrite GCPROing slightly.
10819
10820         * sysdep.c (sys_open): Do filename conversion, like all other
10821         sys_* functions.  Fixes bug:
10822         (let ((file-name-coding-system 'iso-8859-2))
10823            (write-region x y latin2-name))
10824         ==> writes filename using internal encoding.
10825
10826 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10827
10828         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10829         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10830         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10831         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10832         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10833         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10834         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10835         (CONST_IF_NOT_DEBUG): Delete.
10836         * alloc.c (this_one_is_unmarkable): Delete.
10837         (mark_object): Don't check for this_one_is_unmarkable. Use the
10838         c_readonly flag instead.
10839         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10840
10841 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10842
10843         * event-msw.c (mswindows_drain_windows_queue):
10844         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10845         away redundant repaint events.
10846
10847 2000-02-17  Andy Piper  <andy@xemacs.org>
10848
10849         * redisplay.h: declare mark_redisplay_structs.
10850
10851         * redisplay.c (redisplay_window):
10852         (redisplay_frame): don't check subwindows_state_changed.
10853         (mark_redisplay): mark gutters here.
10854
10855         * glyphs.c: (instantiate_image_instantiator): always layout if we
10856         haven't done so already.
10857         (allocate_image_instance): don't mark as dirty.
10858         (update_subwindow): bind inhibit_quit.
10859
10860         * gutter.c (mark_gutters): new function.
10861
10862         * glyphs-x.c (x_update_widget): Always resize to get round a
10863         widget bug.
10864
10865         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10866         breaking absolutely everything.
10867
10868         * gutter.h: declare mark_gutters.
10869
10870 2000-02-16  Martin Buchholz <martin@xemacs.org>
10871
10872         * XEmacs 21.2.29 is released.
10873
10874 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10875
10876         * fns.c (size_bit_vector): Fix computation of the size.
10877
10878 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10879
10880         * *.[ch]: Change CONST to const globally.
10881         find -name '*.[ch]' | \
10882         xargs global-replace \
10883         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10884         - Remove vestigial references to CONST_IS_LOSING
10885
10886 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10887
10888         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10889         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10890         events instead of dispatching them directly.
10891         (mswindows_handle_paint): New function to do repainting.
10892         (mswindows_wnd_proc):
10893         (emacs_mswindows_handle_magic_event): Call above function.
10894
10895 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10896
10897         * objects-msw.c (mswindows_create_font_variant): Return the new
10898         font handle.
10899         (initialize_font_instance): Get font metrics from the underlined
10900         variant of the font to cope with the case where the underlined
10901         font has a bigger descent.
10902
10903 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10904
10905         * gui.c (gui_item_accelerator): Return the first underlined
10906         character in item name.
10907
10908 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10909
10910         * lisp.h: Added Qprinter.
10911
10912         * general.c (syms_of_general): Initialized it.
10913
10914         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10915         (get_frame_dc):
10916         (get_frame_compdc): Made inline.
10917
10918         * console.h (struct console_methods): Added eject_page method.
10919
10920         * frame.h: Added FRAME_DISPLAY_P and friends.
10921         Aligned backslahes in many macros in more readable fashion.
10922         Added page_number to struct frame, and an accessor macro
10923         for it.
10924
10925         * defice.h: Added DEVICE_DISPLAY_P and friends.
10926
10927         * device.c (Fdevice_printer_p): Used these.
10928
10929         * frame.c (allocate_frame_core): Initialize page number.
10930         (Fprint_job_page_number):
10931         (Fprint_job_eject_page): Implemented.
10932
10933         * frame-msw.c (msprinter_eject_page): Added method.
10934         (msprinter_start_page): Added.
10935
10936         * window.c (Fwindow_truncated_p): Fixed docstring.
10937         (Fwindow_last_line_visible_height): Implemented.
10938
10939 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10940
10941         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10942
10943 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10944
10945         * syntax.c (scan_words): Always advance at least one character.
10946
10947 2000-02-13  Andy Piper  <andy@xemacs.org>
10948
10949         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10950         to make sure the glyph is in the cachels.
10951
10952         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10953         global image instance flag.
10954         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10955         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10956
10957         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10958         (Fset_image_instance_property): mark layout as changed.
10959         (invalidate_glyph_geometry_maybe): mark layout as changed.
10960         (glyph_width): use new NEEDS_LAYOUT macro.
10961         (glyph_ascent): ditto.
10962         (glyph_descent): ditto.
10963         (glyph_height): ditto.
10964         (image_instance_layout): mark layout as clean after laying out.
10965         (update_subwindow): don't mark layout as clean here.
10966
10967         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10968         should no longer be needed.
10969
10970         * glyphs-x.c (x_update_widget): sanitize asserts.
10971         (x_finalize_image_instance): sanitize assignment to widgets.
10972
10973         * glyphs-widget.c (widget_instantiate): don't need to clear the
10974         layout flag here.
10975
10976 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10977
10978         * sysdep.c (getcwd): Use standard prototype.
10979         * sysdep.h (getcwd): Use standard prototype.
10980
10981         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10982         (sequence, start, end).
10983         Remove redundant type checking.
10984         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10985         view of `caller-protects') to avoid a crash where the real fix was
10986         found elsewhere.
10987
10988 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10989
10990         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10991
10992         * s/sol2.h: Remove feature macro initialization.
10993
10994         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10995         (vector_hash): New.  Code from internal_hash.
10996         * lrecord.h:
10997         Fix up allocation subsystem comments.
10998
10999         * config.h.in: Add __EXTENSIONS__ for Solaris.
11000
11001         * systime.h (EMACS_GETTIMEOFDAY): New.
11002         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11003         Remove Solaris-specific code.
11004         Use void* for the (ignored) second arg for gettimeofday().
11005
11006         * elhash.c (hash_table_hash): Implement it, finally.
11007         * elhash.c:  Use hashcode_t.
11008
11009         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11010         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11011
11012         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11013         * fns.c (size_bit_vector):
11014         * alloc.c (size_vector):
11015         (make_vector_internal):
11016         (make_bit_vector_internal):
11017         (sweep_bit_vectors_1):
11018         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11019
11020 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11021
11022         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11023         Include strings.h to avoid warnings for bzero and strcasecmp.
11024
11025 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11026
11027         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11028         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11029
11030         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11031         sequence.
11032
11033 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11034
11035         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11036         use a value field instead.
11037         (symbol_value_forward_forward): Use value field.
11038         (DEFVAR_SYMVAL_FWD): Use value field.
11039         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11040         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11041         (DEFVAR_CONST_INT): Ditto.
11042         (DEFVAR_BOOL): Ditto.
11043         (DEFVAR_CONST_BOOL): Ditto.
11044         (DEFVAR_INT_MAGIC): Ditto.
11045         (DEFVAR_BOOL_MAGIC): Ditto.
11046
11047         * symbols.c (guts_of_unbound_marker): Use value field.
11048         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11049         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11050
11051         * lisp.h: Declare dumpopaque and noninteractive1.
11052
11053         * alloc.c (dumpopaque): Added.
11054         (pdump_dump_opaquevec): Added.
11055         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11056         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11057         noninteractive.
11058
11059 2000-02-10  Andy Piper  <andy@xemacs.org>
11060
11061         * glyphs.c (image_instance_layout): if the size changes, mark it
11062         as such.
11063
11064         * redisplay-output.c (redisplay_output_layout): Update the
11065         subwindow here.
11066         (redisplay_output_subwindow): ditto.
11067
11068         * glyphs.c (update_subwindow): make sure we reset flags for
11069         layouts as well as everything else.
11070
11071         * glyphs-widget.c (layout_layout): don't need to set the instances
11072         dimensions here.
11073
11074 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11075
11076         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11077         not HAVE_DLOPEN, which is a lower-level thing.
11078
11079         * .cvsignore: Ignore gmon.out
11080
11081 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11082
11083         * .cvsignore: Ignore portable dumper xemacs.dmp file
11084
11085 2000-02-09  Andy Piper  <andy@xemacs.org>
11086
11087         * redisplay-output.c (redisplay_output_layout): be more clever
11088         about when we output based on the changed flags.
11089
11090         * glyphs.h (struct image_instantiator_methods): add update_method.
11091         (struct Lisp_Image_Instance): add changed flags. Declare new
11092         macros for manipulating them.
11093
11094         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11095         (image_instance_parent_glyph): find an image_instance's parent
11096         glyph or image_instance.
11097         (image_instance_layout): mark the size as changed.
11098         (set_image_instance_dirty_p): new function. mark an image
11099         instance, plus all of its parents, as dirty.
11100         (Fset_image_instance_property): use it.
11101         (Fglyph_animated_timeout_handler): use it.
11102         (update_subwindow): call update_widget and device methods for
11103         update_subwindow. Mark all changed flags as clean.
11104         (Fresize_subwindow): mark size as changed.
11105
11106         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11107         failures.
11108         (x_update_subwindow): only resize subwindows here.
11109         (x_update_widget): new function. Update all changed properties of
11110         a widget.
11111         (x_resize_subwindow): deleted.
11112         (x_widget_set_property): deleted.
11113         (x_progress_gauge_set_property): deleted.
11114         (x_progress_gauge_update): new function. Implement recorded
11115         changes.
11116         (x_tab_control_update): ditto.
11117         (x_tab_control_set_property): deleted.
11118         (console_type_create_glyphs_x): declare new functions.
11119         (image_instantiator_format_create_glyphs_x): ditto.
11120
11121         * glyphs-widget.c (widget_set_property): mark text changed.
11122         (update_widget): new function. Update properties of a widget.
11123         (widget_instantiate): for layouts make sure we set their
11124         children's parent correctly.
11125         (tab_control_set_property): new function. Record changes that will
11126         take place under redisplay's control.
11127         (progress_gauge_set_property): ditto.
11128         (image_instantiator_progress_guage): declare new functions.
11129         (image_instantiator_tab_control): ditto.
11130
11131         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11132         now.
11133         (mswindows_update_widget): new function. Update all properties on
11134         a widget that have changed.
11135         (mswindows_button_update): new function. Update a button's set
11136         state.
11137         (mswindows_tab_control_update): new function. Update the items in
11138         a tab.
11139         (mswindows_tab_control_set_property): deleted.
11140         (mswindows_progress_gauge_update): new function. Update the
11141         progress gauge's progress.
11142         (mswindows_widget_set_property): deleted. This is all done
11143         asynchronously now.
11144         (mswindows_progress_gauge_set_property): ditto.
11145         (console_type_create_glyphs_mswindows): declare new methods.
11146         (image_instantiator_format_create_glyphs_mswindows): ditto.
11147
11148         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11149         (msprinter_set_frame_properties): ditto.
11150
11151         * console.h (struct console_methods): Add update_widget_method.
11152
11153 2000-02-09  Andy Piper  <andy@xemacs.org>
11154
11155         * gui-msw.c (Fmswindows_shell_execute): Make
11156         mswindows-shell-execute industrial strength.
11157
11158 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11159
11160         * lrecord.h: Make macro argument `props' match member function `plist'.
11161         * fns.c (Fget):
11162         * fns.c (Fput):
11163         * fns.c (Fremprop):
11164         * fns.c (Fobject_plist):
11165         * alloc.c:
11166         * symbols.c:
11167         Object property list frobbing cleanup.
11168         - Allow any lisp object (compared with `eq'), not just symbols, as
11169           keys in object plists.
11170         - Move symbol plist frobbing into symbols.c, where it belongs.
11171         - Move string plist frobbing into alloc.c, where it belongs.
11172         - Everything's an lrecord now, so no need to test for symbolp, etc.
11173         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11174
11175         * extents.c: Reorder code to remove declarations.
11176
11177         * frame.h (store_in_alist): Remove useless declaration.
11178
11179 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11180
11181         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11182         * config.h.in: Add HAVE_XCONVERTCASE.
11183
11184 2000-02-07  Andy Piper  <andy@xemacs.org>
11185
11186         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11187         it breaks many things.
11188
11189 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11190
11191         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11192         actually can start a common comment type.
11193         * src/syntax.h (SYNTAX_END_P): ditto for end.
11194
11195 2000-02-07  Martin Buchholz <martin@xemacs.org>
11196
11197         * XEmacs 21.2.28 is released.
11198
11199 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11200
11201         * event-Xt.c (x_keysym_to_character): New.
11202         (maybe_define_x_key_as_self_inserting_character): New.
11203         (x_has_keysym): New.
11204         Auto-define all keys on the keyboard as self-insert-key.
11205
11206 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11207
11208         * menubar.c (vars_of_menubar): A small code simplification.
11209
11210         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11211
11212         * ExternalShell.c:
11213         * ExternalClient.c:
11214         * EmacsShell-sub.c:
11215         * EmacsManager.c:
11216         * EmacsFrame.c:
11217         Use consistent style for specifying X resources.
11218
11219         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11220         This makes (dontusethis-set-symbol-value-handler) actually usable.
11221
11222         * lrecord.h (lrecord_decription_type):
11223         * alloc.c (pdump_register_sub):
11224         (pdump_dump_data):
11225         (pdump_reloc_one):
11226         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11227         Comply with XEmacs coding style.
11228         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11229         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11230
11231         * keymap.c (Faccessible_keymaps):
11232         Make (accessible-keymaps map "\C-h") do the Right Thing.
11233         Make (accessible-keymaps map []) do the Right Thing.
11234         Make (accessible-keymaps map "") do the Right Thing.
11235         (check_keymap_definition_loop): New function.
11236         (keymap_store_internal): Keep luser from shooting self in foot,
11237           via (define-key ctl-x-4-map "p" global-map).
11238         Remove fullness slot from struct Lisp_Keymap, since hash tables
11239         are now reliable.
11240         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11241
11242 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11243
11244         * redisplay.c (init_redisplay): Fix small memory leak.
11245         * elhash.h:
11246         * elhash.c (pdump_reorganize_hash_table):
11247         Rename from reorganize_hash_table. Change prototype.
11248         Reuse the original memory for hentries.  Save 100k.
11249         * alloc.c (PDUMP_READ): new macro.
11250         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11251         * alloc.c: No need to #ifndef before #undef.
11252
11253         * print.c: Allow debug_print() to print readably by modifying
11254         debug_print_readably.  Use consistent variable names.
11255
11256         * .dbxrc: Try to get things to work even if stopped in a function
11257         without source available by explicitly specifying source files.
11258 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11259
11260         * unexnt.c (_start): Removed bogus code which caused loading heap
11261         from differrent executable file.
11262         Removed bogus assignment to _fmode, which caused inconsistencies.
11263
11264 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11265
11266         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11267         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11268         Do not preliminary `#define signal sigset'.
11269
11270         * systime.h: Do not prototype environ on windows nt and cygwin,
11271         this conflicts with system header.
11272
11273         * syssignal.h: Use correct define for WINDOWSNT
11274
11275         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11276         with system header.
11277
11278         * sysdep.c (near start of file): Fixed commentary and rearranged
11279         ifdefs in readable order.
11280         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11281         (start_of_text):
11282         (end_of_text):
11283         (end_of_data): Do not compile in if using PDUMP.
11284
11285         * symsinit.h: Prototyped vars_of_nt().
11286
11287         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11288         (find_child_console): Use it.
11289         (sys_kill): Use it.
11290
11291         * ntheap.h: Do not extern os_subtype.
11292
11293         * ntheap.c (cache_system_info): Do not cache unneeded:
11294         nt_major_version, nt_minor_version and os_subtype.
11295         (recreate_heap): Do not compile in when PDUMPing.
11296
11297         * nt.c (geteuid and friends): Use the new varibale
11298         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11299         (init_user_info): Removed the above mentioned hackery.
11300         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11301         stat has been fixed in the C runtime.
11302         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11303
11304         * file-coding.c (struct file_coding_dump): Do not define
11305         ucs_to_mule_table in the struct if not MULE.
11306         (struct struct lrecord_description fcd_description_1): Do not dump
11307         the above.
11308
11309         * emacs.c (main_1): Call vars_of_nt().
11310         (right before Fdump_emacs_data): Don't need lastfile if using both
11311         portabe dumper and system malloc.
11312
11313         * alloc.c (Fmemory_limit): Conditionalized out.
11314         (pdump): Use OPEN_BINARY for the portable dump file.
11315         (pdump_load): Ditto.
11316
11317 2000-02-02  Mike Alexander  <mta@arbortext.com>
11318
11319         * nt.c (convert_time): Set tm_isdst before calling mktime and
11320         avoid calling it at all if the compiler supports 64 bit integers.
11321         Also initialize utc_base_ft before using it.
11322
11323 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11324
11325         * frame.c (change_frame_size_1): Take f->internal_border_width
11326         into consideration when calculating the width of the frame.
11327
11328 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11329
11330         * window.c (frame_min_height):
11331         (frame_size_valid_p):
11332         (frame_pixsize_valid_p): Added.
11333         (check_frame_size): Generalized.
11334
11335         * window.h: Prototyped the above.
11336
11337         * lisp.h:
11338         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11339         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11340         Deleted Vwin32_* and Vbinary_process_* unused variables.
11341
11342         * device-msw.c (msprinter_init_device): Do not get printer font
11343         list; Added DEVMODE functions.
11344
11345         * frame-msw.c: Added lots of printer code.
11346
11347         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11348         general.c.
11349
11350         * console-msw.h: Added more msprinter device private slots.
11351
11352 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11353
11354         * event-msw.c (key_needs_default_processing_p): Added.
11355         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11356
11357 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11358
11359         * glyphs.c (image_instance_layout): Mark image instance as clean
11360         after layout.
11361         (glyph_dirty_p): Removed redundant function.
11362         (invalidate_glyph_geometry_maybe): Added.
11363         (update_glyph_cachel_data): Call it.
11364
11365         * glyphs.h: Prototyped it.
11366
11367         * redisplay.c (add_glyph_rune): Call it.
11368         (redisplay_window): Reset glyphs cachels when frame faces have
11369         changed, thus forcing recomputation of built-in border glyphs.
11370
11371 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11372
11373         * Makefile.in.in: Make portable dumper and purify play well together.
11374         Add imperfect, but better than nothing, support for pdump.
11375         Remove xemacs.dmp when temacs is re-generated.
11376         Don't ignore errors when dumping xemacs.
11377
11378         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11379
11380 2000-01-28  Andy Piper  <andy@xemacs.org>
11381
11382         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11383         (setup_normal_frame): ditto.
11384         (setup_frame_without_minibuffer): ditto.
11385         (setup_minibuffer_frame): ditto.
11386         (delete_frame_internal): ditto.
11387         (Fmake_frame_invisible): ditto.
11388         (Ficonify_frame): ditto.
11389
11390         * window.h: change Fset_window_buffer signature.
11391
11392         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11393         (Fset_window_buffer): allow recording of buffer if the window is
11394         the selected window.
11395         (window_loop): Use new Fset_window signature.
11396
11397 2000-01-23  Daniel Pittman  <daniel@danann.net>
11398
11399         * config.h.in: Added template for `HAVE_ATHENA_3D'
11400
11401 2000-01-29  Andy Piper  <andy@xemacs.org>
11402
11403         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11404
11405         * gutter.c (output_gutter): Don't output if the window isn't live.
11406
11407 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11408
11409         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11410         of 01/12/00: Moved SetFocus back here where it belongs.
11411
11412 2000-01-23  Andy Piper  <andy@xemacs.org>
11413
11414         * s/cygwin32.h: declare printer things.
11415
11416 2000-01-26  Andy Piper  <andy@xemacs.org>
11417
11418         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11419         Alexander.
11420
11421 2000-01-24  Andy Piper  <andy@xemacs.org>
11422
11423         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11424         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11425
11426         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11427
11428         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11429
11430         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11431
11432         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11433         (mswindows_output_display_block): Avoid local shadows.
11434
11435         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11436         (mswindows_enqueue_mouse_button_event): ditto.
11437         (mswindows_handle_gui_wm_command): remove declaration.
11438
11439         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11440         warnings.
11441
11442         * console-msw.h: Avoid shadows.
11443         (mswindows_get_toolbar_button_text):
11444         (emacs_mswindows_create_stream_pair):
11445         (emacs_mswindows_delete_stream_pair):
11446         (mswindows_handle_toolbar_wm_command): declare.
11447
11448         * device-msw.c (build_syscolor_string): Avoid shadows.
11449
11450 2000-01-23  Andy Piper  <andy@xemacs.org>
11451
11452         * glyphs-widget.c (widget_instantiate): reverse the items for
11453         layouts so that children are in the expected order.
11454
11455 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11456
11457         * ralloc.c: safe_bcopy ==> memmove
11458         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11459         * s/msdos.h: Remove BCOPY macros.
11460         * insdel.c (gap_right): Remove BCOPY conditional code.
11461         * insdel.c (gap_left): Remove BCOPY conditional code.
11462         XEmacs demands a working ANSI C compiler - hence memmove.
11463
11464         * regex.c (regex_compile): Remove accidental use of trigraphs.
11465
11466 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11467
11468         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11469         event timestamp.
11470
11471 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11472
11473         * event-msw.c (mswindows_drain_windows_queue): Added the
11474         parameter.
11475         (mswindows_need_event): Commented the call to
11476         mswindows_drain_windows_queue().
11477         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11478         only.
11479
11480         * console-msw.h: Moved a few function prototypes here from
11481         event-msw.c.
11482
11483         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11484         parameter from unsigned short to unsigned long.
11485         (Fmswindows_shell_execute): Added return value.
11486
11487 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11488
11489         * sysdep.c (init_system_name):
11490           process-unix.c (unix_canonicalized_host_name):
11491         Don't call freeaddrinfo() if getaddrinfo() fails.
11492
11493         * process-unix.c (unix_open_unix_network_stream):
11494         Moved the code to get a port # into address loop.
11495
11496 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11497
11498         * buffer.c (reinit_vars_of_buffer):
11499         The right place to initialize conversion_in_dynarr and
11500         conversion_out_dynarr.
11501
11502         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11503
11504         * process-unix.c (unix_canonicalize_host_name): Muleize.
11505         (unix_open_network_stream): Muleize.
11506
11507         * buffer.h: Fix up prototypes for ralloc.c functions.
11508
11509 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11510         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11511         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11512                 instead of gethostbyname()
11513         * process-unix.c: In unix_canonicalize_host_name() and
11514                 unix_open_network_stream(), add code to use getaddrinfo()
11515                 instead of gethostbyname().
11516
11517 2000-01-27  Daniel Pittman <daniel@danann.net>
11518
11519         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11520         libs when built with flat Athena.
11521
11522 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11523
11524         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11525         Use coding standards for function prototypes.
11526
11527 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11528
11529         * dialog-msw.c (push_lisp_string_as_unicode):
11530         * doc.c (unparesseuxify_doc_string):
11531         * dired.c (Fuser_name_completion_1):
11532         * dired.c (Fuser_name_all_completions):
11533         * dired.c (free_user_cache):
11534         * dired.c (user_name_completion):
11535         * console-x.c (get_display_arg_connection):
11536         * minibuf.c (clear_echo_area_internal):
11537         * minibuf.c (echo_area_append):
11538         * eldap.c (Fldap_open):
11539         * eldap.c (Fldap_search_internal):
11540         * frame-x.c (x_set_frame_text_value):
11541         * frame-x.c (x_set_frame_properties):
11542         * frame-x.c (x_create_widgets):
11543         * redisplay-tty.c (term_get_fkeys_1):
11544         * objects-x.c (x_parse_nearest_color):
11545         * objects-x.c (x_valid_color_name_p):
11546         * objects-x.c (x_initialize_font_instance):
11547         * objects-x.c (x_list_fonts):
11548         * objects-x.c (x_find_charset_font):
11549         * tooltalk.c (Fadd_tooltalk_message_arg):
11550         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11551         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11552         * process-unix.c (unix_create_process):
11553         * ntproc.c (sys_spawnve):
11554         * sound.c (Fplay_sound_file):
11555         * sound.c (Fplay_sound):
11556         * buffer.c (init_initial_directory):
11557         * buffer.c (init_buffer):
11558         * editfns.c (init_editfns):
11559         * editfns.c (Ftemp_directory):
11560         * editfns.c (Fuser_full_name):
11561         * editfns.c (uncache_home_directory):
11562         * editfns.c (get_home_directory):
11563         * editfns.c (Fuser_home_directory):
11564         * editfns.c (Fformat_time_string):
11565         * editfns.c (Fcurrent_time_string):
11566         * gui-x.c (button_item_to_widget_value):
11567         * database.c (Fopen_database):
11568         * event-Xt.c (x_to_emacs_keysym):
11569         * event-Xt.c (x_event_to_emacs_event):
11570         * event-Xt.c (describe_event_window):
11571         * event-msw.c (mswindows_wnd_proc):
11572         * glyphs-eimage.c (jpeg_instantiate):
11573         * glyphs-eimage.c (gif_instantiate):
11574         * glyphs-eimage.c (png_instantiate):
11575         * glyphs-eimage.c (tiff_instantiate):
11576         * glyphs-x.c (xbm_instantiate_1):
11577         * glyphs-x.c (x_xbm_instantiate):
11578         * glyphs-x.c (x_xface_instantiate):
11579         * glyphs-x.c (autodetect_instantiate):
11580         * glyphs-x.c (cursor_font_instantiate):
11581         * glyphs-x.c (x_widget_instantiate):
11582         * glyphs-x.c (x_widget_set_property):
11583         * glyphs-x.c (x_widget_property):
11584         * glyphs-x.c (BUILD_GLYPH_INST):
11585         * print.c (write_string_to_stdio_stream):
11586         * print.c (output_string):
11587         * print.c (Falternate_debugging_output):
11588         * print.c (Fexternal_debugging_output):
11589         * glyphs-msw.c (extract_xpm_color_names):
11590         * glyphs-msw.c (mswindows_xpm_instantiate):
11591         * glyphs-msw.c (bmp_instantiate):
11592         * glyphs-msw.c (resource_name_to_resource):
11593         * glyphs-msw.c (mswindows_resource_instantiate):
11594         * glyphs-msw.c (xbm_instantiate_1):
11595         * glyphs-msw.c (mswindows_xbm_instantiate):
11596         * glyphs-msw.c (mswindows_xface_instantiate):
11597         * glyphs-msw.c (mswindows_widget_instantiate):
11598         * glyphs-msw.c (add_tree_item):
11599         * glyphs-msw.c (add_tab_item):
11600         * glyphs-msw.c (mswindows_combo_box_instantiate):
11601         * glyphs-msw.c (mswindows_widget_property):
11602         * glyphs-msw.c (mswindows_combo_box_property):
11603         * glyphs-msw.c (mswindows_widget_set_property):
11604         * console.c (stuff_buffered_input):
11605         * objects-msw.c (mswindows_initialize_color_instance):
11606         * objects-msw.c (mswindows_valid_color_name_p):
11607         * objects-msw.c (mswindows_list_fonts):
11608         * objects-msw.c (mswindows_font_instance_truename):
11609         * bytecode.c (optimize_compiled_function):
11610         * select-x.c (symbol_to_x_atom):
11611         * select-x.c (x_atom_to_symbol):
11612         * select-x.c (hack_motif_clipboard_selection):
11613         * select-x.c (selection_data_to_lisp_data):
11614         * select-x.c (lisp_data_to_selection_data):
11615         * select-x.c (Fx_get_cutbuffer_internal):
11616         * select-x.c (Fx_store_cutbuffer_internal):
11617         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11618         * buffer.h (TO_INTERNAL_FORMAT): New function.
11619         * emacs.c (make_arg_list_1):
11620         * emacs.c (make_argc_argv):
11621         * emacs.c (main_1):
11622         * emacs.c (Fdump_emacs):
11623         * emacs.c (split_string_by_emchar_1):
11624         * file-coding.h:
11625         * lisp.h:
11626         * lstream.h:
11627         * symsinit.h:
11628         * device-x.c (x_init_device):
11629         * device-x.c (Fx_valid_keysym_name_p):
11630         * device-x.c (Fx_get_font_path):
11631         * device-x.c (Fx_set_font_path):
11632         * glyphs.c (bitmap_to_lisp_data):
11633         * glyphs.c (pixmap_to_lisp_data):
11634         * alloc.c (make_ext_string): Use coding system arguments.  Update
11635         all callers.
11636         * alloc.c (build_string):
11637         * callproc.c (child_setup):
11638         * callproc.c (init_callproc):
11639         * fileio.c (lisp_strerror):
11640         * fileio.c (directory_file_name):
11641         * fileio.c (Fexpand_file_name):
11642         * fileio.c (Ffile_truename):
11643         * fileio.c (Fsysnetunam):
11644         * fileio.c (Fdo_auto_save):
11645         * sysdep.c (sys_readdir):
11646         * tests.c: New file.  Allow adding C tests.
11647         Replace GET_* macros with a more comprehensible and flexible
11648         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11649         Modify all calls.
11650         Any coding system can be used to do format conversion.
11651         Eliminate enum external_data_format.
11652         Eliminate convert_to_external_format.
11653         Eliminate convert_to_internal_format.
11654         Make sure file-name, keyboard, terminal, and ctext are always
11655         defined as coding systems or aliases.  Make
11656         file-name-coding-system, terminal-coding-system, and
11657         keyboard-coding-system magical variables that are equivalent to
11658         defining the corresponding coding system aliases.
11659
11660         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11661         * file-coding.c (Fcoding_system_alias_p): New function.
11662         * file-coding.c (Fcoding_system_aliasee): New function.
11663         * file-coding.c (append_suffix_to_symbol): New function.
11664         * file-coding.c (dangling_coding_system_alias_p): New function.
11665         * file-coding.c (Ffind_coding_system):
11666         * file-coding.c (Fcopy_coding_system):
11667         * file-coding.c (encode_coding_no_conversion):
11668         * file-coding.c (syms_of_file_coding):
11669         * file-coding.c (vars_of_file_coding):
11670         Rewrite coding system alias code.
11671         Allow nested aliases, like symbolic links.
11672         Allow redefinition of coding system aliases.
11673         Prevent existence of dangling coding system aliases.
11674
11675         * dired.c (Fuser_name_completion_1):
11676         * dired.c (Fuser_name_all_completions):
11677         A crash would happen if user did QUIT in the middle of building
11678         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11679
11680         * lisp.h:
11681         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11682
11683         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11684         an unsigned char *.  Update all callers.
11685
11686 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11687
11688         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11689
11690 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11691
11692         * elhash.c (hentry_description): Use more portable definition.
11693         (resize_hash_table): Initialize new hentries using
11694         xnew_array_and_zero, thereby simplifying the code.
11695
11696         * mule-charset.c (make_charset): Make sure entire object is
11697         initialized, to avoid Purify warnings.
11698
11699         * alloc.c (resize_string): Fix unlikely crash with big strings.
11700
11701 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11702
11703         * realpath.c (xrealpath):
11704         Don't call getwd().
11705
11706 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11707
11708         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11709
11710 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11711
11712         * unexelfsgi.c (unexec): Change the way we decide which segment
11713         should be extended.
11714
11715         Assumption that .bss section should be outside the PT_LOADable
11716         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11717         it's present) is inside the 'data' segment. This would fail the
11718         test which was used to find a segment to grow and cover new
11719         heap. Instead of this assumption, I created another one - on IRIX
11720         the segment to grow should start below .bss and it's address
11721         should extent above the end of .bss. Once this segment is
11722         identified, it's grown to accommodate the new heap and new
11723         zero-length .bss section is added at the end of .data2.
11724
11725 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11726
11727         * eval.c (Feval): Wrong number of arguments should use original
11728         function, not the indirect_function version of it.
11729
11730 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11731
11732         * glyphs-x.c (x_button_instantiate): Don't add image if
11733         it is not a pixmap.
11734         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11735         is relative.
11736
11737 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11738
11739         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11740         declaration.
11741         (DEFVAR_INT_MAGIC): Ditto.
11742         (DEFVAR_BOOL_MAGIC): Ditto.
11743         * glyphs.h: Reindent backslash.
11744
11745 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11746
11747         * glyphs-widget.c (layout_query_geometry):
11748         (layout_layout): Use correct types for gheight, gwidth.
11749
11750 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11751
11752         * EmacsManager.c (QueryGeometry): Purified.
11753
11754 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11755
11756         * alloc.c (make_float): Make sure entire object is initialized, to
11757         avoid Purify warnings.
11758         (pdump_register_sub): Remove useless assignment.
11759         (pdump): Use xmalloc, not malloc.
11760         (pdump_load): Use xmalloc, not malloc.
11761
11762 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11763
11764         * callproc.c:
11765         * dired-msw.c:
11766         * fileio.c:
11767         * process-nt.c:
11768         * redisplay-msw.c:
11769         * sysdep.c: Removed redundant #include <windows.h>
11770
11771 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11772
11773         * frame.c (delete_frame_internal): Do not delete device when its
11774         implementation so declares.
11775         (delete_frame_internal): Set device selected frame to nil when
11776         last frame goes away.
11777
11778         * device-msw.c (msprinter_device_system_metrics): Implemented.
11779         (mswindows_device_system_metrics): Added 'device-dpi property.
11780
11781         * device.c: (Fdevice_printer_p): Added.
11782         Added 'offset-workspace device metric.
11783
11784         * console.h (device_metrics): Declared DM_offset_workspace.
11785
11786 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11787
11788         * fileio.c (Ffile_truename): Remove pointless and confusing
11789         initialization of elen.
11790
11791         * glyphs-widget.c: Compiler warning fixes.
11792
11793 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11794
11795         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11796         instead of a Lisp_Object as argument to make it consistent with
11797         the other LIVE_P macros.
11798         (CHECK_LIVE_PROCESS): New macro.
11799
11800         * process.c: Declare Qprocess_live_p.
11801         (Fprocess_live_p): New function.
11802         (create_process): Use PROCESS_LIVE_P.
11803         (read_process_output): Ditto.
11804         (set_process_filter): Ditto.
11805         (Fdelete_process): Ditto.
11806         (kill_buffer_processes): Ditto
11807         (process_send_signal): Use CHECK_LIVE_PROCESS.
11808         (Fprocess_input_coding_system): Check whether process is still
11809         alive (fix PR#1061).
11810         (Fprocess_output_coding_system): Ditto.
11811         (Fprocess_coding_system): Ditto.
11812         (Fset_process_input_coding_system): Ditto.
11813         (Fset_process_output_coding_system): Ditto.
11814
11815 2000-01-23  Andy Piper  <andy@xemacs.org>
11816
11817         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11818         layout and widget.
11819
11820         * glyphs.c (mark_image_instance): take into account changed
11821         image_instance format.
11822         (image_instance_equal): ditto.
11823         (image_instance_hash): ditto.
11824
11825         * glyphs-widget.c (widget_instantiate): Incorporate layout
11826         instantiation here. Delay layout of the layout until later.
11827         (layout_instantiate): deleted.
11828         (layout_query_geometry): new function. get the geometry of a
11829         layout.
11830         (layout_layout): layout a layout dynamically.
11831         (image_instantiator_widget): New function - splitting up
11832         image_instantiator_format_create_glyphs_widget for netwinder
11833         compilation.
11834         (image_instantiator_buttons):
11835         (image_instantiator_edit_fields):
11836         (image_instantiator_combo_box):
11837         (image_instantiator_scrollbar):
11838         (image_instantiator_progress_guage):
11839         (image_instantiator_tree_view):
11840         (image_instantiator_tab_control):
11841         (image_instantiator_labels):
11842         (image_instantiator_layout): ditto.
11843         (image_instantiator_format_create_glyphs_widget): Call preceding
11844         functions.
11845
11846 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11847
11848         * process.c (Fset_process_coding_system):
11849         * device-x.c (Fx_keysym_hash_table):
11850         Docstring fixes.
11851
11852         * lstream.c (Lstream_write): Return documented value, not 0.
11853
11854         * fileio.c (directory_file_name):
11855         (Fsubstitute_in_file_name):
11856         (Fsubstitute_insert_file_contents_internal):
11857         (Fwrite_region_internal):
11858         * emacs.c:
11859         * sysdep.c:
11860         * getloadavg.c:
11861         * systty.h:
11862         Remove vestigial APOLLO-conditional code.
11863
11864 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11865
11866         * getpagesize.h: Add guard macros.
11867         * libsst.h: Add guard macros.
11868         * libst.h: Add guard macros.
11869         * line-number.h: Add guard macros.
11870         * ndir.h: Add guard macros.
11871         * sysfloat.h: Add guard macros.
11872         * sysfile.h: Add guard macros.
11873         * sysproc.h: Add guard macros.
11874         * syswait.h: Add guard macros.
11875         * xintrinsic.h: Add guard macros.
11876         * xintrinsicp.h: Add guard macros.
11877         * xmmanager.h: Add guard macros.
11878         * xmmanagerp.h: Add guard macros.
11879         * xmprimitive.h: Add guard macros.
11880         * xmu.h: Add guard macros.
11881         * gpmevent.h: Add copyright statement. Add guard macros.
11882         * miscplay.h: Add guard macros.
11883         * *.h: Use consistent C-standards-approved guard macro names.
11884
11885         * opaque.c (make_opaque): Switch parameter order.
11886         * opaque.h (make_opaque): Switch parameter order.
11887         Update all callers.
11888         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11889
11890         * config.h.in (type_checking_assert): Added.
11891         (bufpos_checking_assert): Added.
11892
11893 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11894
11895         * alloc.c: Harmless pdump changes.
11896         - Use countof().
11897         - spell alignment correctly.
11898         * sysdep.c: Use countof()
11899
11900 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11901
11902         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11903         initially_selected_for_input() console method, default to 0.
11904         (semi_canonicalize_console_connection): Try to delegate to
11905         canonicalize_console_connection if no such console method.
11906         (canonicalize_console_connection): Vice versa.
11907         (print_console): Do not print nil connection.
11908
11909         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11910         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11911         (XDEVIMPF_FRAMELESS_OK): Added.
11912         (CONSOLE_INHERITS_METHOD): Added.
11913
11914         * console-msw.c (mswindows_canonicalize_console_connection):
11915         Added.
11916         (mswindows_canonicalize_device_connection): Added.
11917
11918         * console-msw.h (struct msprinter_device): Added this struct and
11919         accessor macros.
11920         (mswindows_device): Made fontlist a lisp object.
11921
11922         * device.c (semi_canonicalize_device_connection):  Try to delegate
11923         to canonicalize_device_connection if no such console method.
11924         (canonicalize_device_connection): Vice versa.
11925         (print_device): Do not print nil connection.
11926
11927         * device-msw.c (mswindows_init_device): Call InitCommonControls
11928         when have widgets.
11929         (mswindows_delete_device): Removed fontlist deallocation.
11930         (mswindows_mark_device): Added.
11931
11932         * events.c (event_equal): Added abort() at unreached code.
11933         (event_hash): Ditto.
11934
11935         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11936         fallback tags of Windows devices.
11937
11938         * general.c (syms_of_general): Initialized Qmsprinter.
11939
11940         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11941         of fallback tags of Windows devices.
11942
11943         * lisp.h: Declared Qmsprinter.
11944
11945         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11946         of strings.
11947         (mswindows_list_fonts): Ditto.
11948         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11949         that it can be used by both mswindows and msprinter devices.
11950         (initialize_font_instance): Added.
11951         (mswindows_initialize_font_instance): Use it.
11952         (msprinter_initialize_font_instance): Added.
11953
11954         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11955         and implementation flags check.
11956         (redisplay_without_hooks): Changed the call to the above.
11957         (Fredraw_device): Ditto.
11958         (Fredisplay_device): Ditto.
11959
11960         * redisplay-msw.c (get_frame_dc): Implemented.
11961         (get_frame_compdc): Implemented.
11962         (many functions): Use the two functions above to get device
11963         contexts, ether for a window or a printer.
11964
11965 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11966
11967         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11968         initialization here.
11969         (init_symbols_once_early): Call it.
11970         * emacs.c (main_1): Call it.
11971         * symsinit.h: Declare it.
11972
11973 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11974
11975         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11976         Lisp_Object.
11977         (pdump_backtrace): Ditto.
11978         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11979         (pdump_get_entry): Abort if trying to register a null pointer.
11980         (pdump_dump_data): Cleanup types when relocating.
11981         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11982         (pdump_dump_rtables): Remove bad casts.
11983         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11984         Lisp_Object instead of a EMACS_INT for the hashtable
11985         reorganization.
11986
11987 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11988
11989         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11990
11991         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11992
11993         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11994
11995         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11996
11997 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11998
11999         * faces.h (FACE_STRIKETHRU_P): Added.
12000
12001         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12002         of font variants.
12003
12004         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12005         (mswindows_set_dc_font): New function, aware of font variants,
12006         separated from mswindows_update_dc.
12007
12008         * objects-msw.h (struct mswindows_font_instance_data): Added
12009         definition.
12010
12011         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12012         cached fonts and the data structure.
12013         (mswindows_initialize_font_instance): Added creation of font data
12014         structure.
12015         (mswindows_print_font_instance): Print at least something.
12016         (mswindows_create_font_variant): Implemented.
12017         (mswindows_get_hfont): Implemented.
12018
12019 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12020
12021         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12022         prototyping problem with msvc.
12023
12024         * emacs.c (main_1): added syms_of_gui_mswindows() call
12025
12026         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12027         syms_of_gui_mswindows() function
12028
12029         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12030
12031 2000-01-18  Martin Buchholz <martin@xemacs.org>
12032
12033         * XEmacs 21.2.27 is released.
12034
12035 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12036
12037         * glyphs-eimage.c (struct tiff_error_struct):
12038         (tiff_error_func):
12039         (tiff_warning_func):
12040         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12041
12042         * unexmips.c:
12043         * unexhp9k3.c:
12044         * unexfreebsd.c:
12045         * unexec.c: Remove vestigial Lucid C code.
12046         * unexalpha.c:
12047         * unexaix.c:
12048         * termcap.c:
12049         * libsst.c: Ansify.
12050         Remove declarations of errno and strerror().
12051
12052         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12053
12054         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12055
12056 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12057
12058         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12059         Optimize.
12060
12061 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12062
12063         * md5.c:
12064         * file-coding.c:
12065         * file-coding.h:
12066         Change enum eol_type to eol_type_t.
12067
12068 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12069
12070         * gui.c (get_gui_callback): Check cons before accessing car.
12071
12072 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12073
12074         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12075         (XSETSPECIFIER_TYPE): Ditto.
12076
12077 2000-01-17  Didier Verna  <didier@xemacs.org>
12078
12079         * redisplay.c (generate_fstring_runes): compute string size in
12080         characters, not bytes.
12081
12082 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12083
12084         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12085
12086 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12087
12088         * print.c (print_error_message): Call print_prepare().
12089
12090 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12091
12092         * .dbxrc: Renamed from dbxrc.
12093
12094         * events.c (event_to_character):
12095         Use `assert (foo)' instead of `if (!foo) abort()'
12096
12097         * .gdbinit (xtype): Add documentation.
12098         * .gdbinit (check-temacs): New function.
12099         * .gdbinit (check-xemacs): New function.
12100         * dbxrc (check-xemacs): New function.
12101         * dbxrc (check-xemacs): New function.
12102
12103 2000-01-14  Andy Piper  <andy@xemacs.org>
12104
12105         * glyphs-widget.c (widget_query_geometry): Make sure that we
12106         calculate default dimensions correctly.
12107
12108 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12109
12110         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12111
12112         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12113         pdump_wire'd variable.
12114
12115         * emacs.c: (main_1): Conditionalized calls to
12116         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12117
12118 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12119
12120         * window.c (Fset_window_configuration):
12121         * sysdep.c (_start):
12122         * input-method-motif.c (res):
12123         * event-Xt.c (Xt_process_to_emacs_event):
12124         Simple compiler warning fixes.
12125
12126         * bytecode.c (funcall_compiled_function): Use the original
12127         function symbol on the backtrace list in preference to the
12128         compiled_function object in error messages.
12129
12130 2000-01-13  Andy Piper  <andy@xemacs.org>
12131
12132         * glyphs-x.c (update_widget_face): Make sure we update the widget
12133         background as well as foreground.
12134
12135 2000-01-13  Andy Piper  <andy@xemacs.org>
12136
12137         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12138         fields to subwindow.
12139         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12140         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12141         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12142         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12143
12144         * glyphs-widget.c (check_valid_tab_orientation): new function.
12145         (initialize_widget_image_instance): zero orientation and
12146         justification.
12147         (widget_instantiate): pick up orientation.
12148         (tab_control_query_geometry): return appropriate values for
12149         vertical tabs.
12150
12151         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12152         appropriate creation flags for left, right and bottom tabs.
12153
12154         * s/cygwin32.h: add tab definitions.
12155
12156 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12157
12158         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12159         frame upon hiding a subwindow.
12160         (mswindows_button_instantiate): Changed the push button style to
12161         BS_PUSHBUTTON.
12162         (mswindows_button_instantiate): Removed button BS_NOTIFY
12163         style.
12164         (mswindows_button_instantiate): Removed redundant check for
12165         a disabled gui item.
12166         (mswindows_button_instantiate): Made use of WS_TABSTOP
12167         consistent: "operable" controls (edit, button, tree, scroll) have
12168         this style, "display-only" ones (static, progress gauge) do
12169         not. This style is currently ignored by XEmacs though. Also,
12170         removed the WS_EX_CONTROLPARENT style - it is not for children,
12171         it is for their parents!
12172         (mswindows_edit_field_instantiate): Ditto.
12173         (mswindows_progress_gauge_instantiate): Ditto.
12174         (mswindows_tree_view_instantiate): Ditto.
12175         (mswindows_tab_control_instantiate): Ditto.
12176         (mswindows_scrollbar_instantiate): Ditto.
12177         (mswindows_combo_box_instantiate): Ditto.
12178         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12179         style to the "clip" window.
12180         (mswindows_button_instantiate): Removed compilation warning by
12181         equally typing terms of the ?: operator.
12182
12183 2000-01-12  Didier Verna  <didier@xemacs.org>
12184
12185         * redisplay.c (generate_fstring_runes): new parameter holding the
12186         last modeline-format extent.
12187         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12188         extent, fill the glyph block with it.
12189         (generate_fstring_runes): handle these parameters.
12190         (generate_formatted_string_db): ditto.
12191
12192         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12193         glyphs'extents in the modeline.
12194
12195 1999-01-11  Mike Woolley  <mike@bulsara.com>
12196
12197         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12198         256Mb, as a workaround for the non-starting problem many people
12199         have experienced.
12200
12201 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12202
12203         * console-tty.c (Fset_console_tty_output_coding_system):
12204         Force redrawing tty frame.
12205
12206 2000-01-10  Didier Verna  <didier@xemacs.org>
12207
12208         * redisplay.c (generate_fstring_runes): fix size computation bug.
12209
12210 2000-01-09  William M. Perry <wmperry@aventail.com>
12211
12212         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12213
12214 2000-01-09  Andy Piper  <andy@xemacs.org>
12215
12216         * glyphs-msw.c: index -> i to avoid shadows.
12217         (xbm_create_bitmap_from_data): make static.
12218         (check_valid_string_or_int): deleted.
12219         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12220
12221         * glyphs-x.c (x_update_subwindow): remove unused args.
12222
12223         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12224         back pointer - this is done in allocate_image_instance.
12225         (query_string_font): return Qnil to make the compiler happy.
12226         (unmap_subwindow): set to ~0 to make the compiler happy.
12227         (glyph_query_geometry): comment out until used.
12228         (glyph_layout): ditto.
12229
12230 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12231
12232         * insdel.c (signal_after_change): Remove extraneous unbind_to().