Add some CJK Ext-B code points.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Vcharset_ucs_smp): New variable.
4         (Vcharset_ucs_sip): New variable.
5         (Qucs_smp): New variable.
6         (Qucs_sip): New variable.
7         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
8         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
9         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
10         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
11         `ucs-bmp'; addn new coded-charset `ucs-smp' and `ucs-sip'; change
12         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
13
14         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
15         (LEADING_BYTE_UCS_SIP): New macro.
16         (MIN_CHAR_SMP): New macro.
17         (MAX_CHAR_SMP): New macro.
18         (MIN_CHAR_SIP): New macro.
19         (MAX_CHAR_SIP): New macro.
20
21 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
22
23         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
24         utf-2000.
25
26 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
29         value; don't store value into `encoding_table' of `Lisp_Charset'.
30         (mark_charset): `encoding_table' was deleted.
31         (charset_description): Likewise.
32         (make_charset): Likewise.
33         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
34         `put_char_ccs_code_point'.
35
36         * chartab.h (Fput_char_attribute): New EXFUN.
37
38         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
39         is unified with normal symbol space.
40         (Fget_char_attribute): Likewise.
41         (Fput_char_attribute): Likewise; behavior of
42         `put_char_ccs_code_point' is changed.
43
44         * char-ucs.h: Include "elhash.h".
45         (Vchar_attribute_hash_table): New external variable.
46         (struct Lisp_Charset): Delete `encoding_table'.
47         (CHARSET_ENCODING_TABLE): New implementation; refer
48         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
49         `Lisp_Charset'.
50
51 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
54         (cs) == 0.
55
56 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * text-coding.c (char_encode_big5): Prefer charset-g1 than
59         `chinese-big5'.
60
61 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * chartab.c (uint8_byte_table_description): New constant.
64         (uint8-byte-table): Use `uint8_byte_table_description'.
65         (uint16_byte_table_description): New constant.
66         (uint16-byte-table): Use `uint16_byte_table_description'.
67
68 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
71         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
72
73 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * mule-charset.c (Vcharset_ucs_ks): New variable.
76         (Qucs_ks): New variable.
77         (syms_of_mule_charset): Add new symbol `ucs-ks'.
78         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
79
80         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
81
82 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
85         (Fdecode_char): Likewise.
86
87         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
88         chartab.h.
89         (Fdefine_char): Modify for Fdecode_char.
90         (Ffind_char): Likewise.
91
92         * mule-charset.c (Fdecode_char): Add new optional argument
93         `defined-only'.
94         (Fdecode_builtin_char): Modify for `Fdecode_char'.
95
96 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
97
98         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
99         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
100         (allocate_coding_system): Initialize initial-charsets of
101         CODESYS_BIG5 in XEmacs UTF-2000.
102         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
103         CODESYS_BIG5 in XEmacs UTF-2000.
104         (decode_coding_big5): Use initial-charset-g0 and -g1 of
105         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
106
107         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
108         variables.
109         (Qideograph_hanziku_{1 .. 12}): Likewise.
110         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
111         .. 12}'.
112         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
113         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
114         `ideograph-hanziku-{1 .. 12}'.
115
116         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
117         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
118         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
119         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
120         (DECODE_DEFINED_CHAR): New inline function.
121         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
122
123 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * mule-charset.c (Vcharset_china3_jef): Renamed from
126         `Vcharset_japanese_jef_china3'.
127         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
128         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
129         `{MIN|MAX}_CHAR_JEF_CHINA3'..
130         (syms_of_mule_charset): Rename `china3-jef' from
131         `japanese-jef-china3'.
132         (complex_vars_of_mule_charset): Likewise; rename
133         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
134
135         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
136         `LEADING_BYTE_JEF_CHINA3'.
137         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
138         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
139
140 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * mule-charset.c (encode_builtin_char_1): Comment out special code
143         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
144
145         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
146         (MAX_CHAR_MOJIKYO_0): Comment out.
147         (MIN_CHAR_CBETA): Changed to 0x00E20000.
148         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
149         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
150         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
151
152 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
155         (Qideograph_cbeta): New variable.
156         (encode_builtin_char_1): Comment out special code for
157         coded-charset `mojikyo' and `japanese-jef-china3'.
158         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
159         (complex_vars_of_mule_charset): Add new coded-charset
160         `ideograph-cbeta'.
161
162         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
163         (MIN_CHAR_CBETA): New macro.
164         (MAX_CHAR_CBETA): New macro.
165
166 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
169         (LEADING_BYTE_JEF_CHINA3): New macro.
170         (MIN_CHAR_JEF_CHINA3): New macro.
171         (MAX_CHAR_JEF_CHINA3): Likewise.
172         (DECODE_CHAR): Fixed.
173
174 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
175
176         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
177         (Qjapanese_jef_china3): New variable.
178         (encode_builtin_char_1): Support `japanese-jef-china3'.
179         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
180         (complex_vars_of_mule_charset): Add new coded-charset
181         `japanese-jef-china3'.
182
183 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
186         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
187         94^4, 96^3, 96^4, 128^n and 256^n set.
188         (put_char_table): Use `XCHARSET_CELL_RANGE'.
189         (map_char_table): Likewise.
190
191 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
194         UTF-2000.
195
196 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * chartab.h (get_char_id_table): New inline function.
199
200         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
201         function.
202
203 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * chartab.h (decode_char_table_range): New prototype in XEmacs
206         UTF-2000.
207         (put_char_id_table): New inline function in XEmacs UTF-2000.
208
209         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
210         function.
211         (decode_char_table_range): Delete static declaration in XEmacs
212         UTF-2000.
213
214 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * chartab.c (put_char_id_table): Use `put_char_table'.
217
218 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
219
220         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
221         (map_over_uint16_byte_table): Likewise.
222         (map_over_byte_table): Likewise.
223         (map_char_table): Modify for `map_over_uint8_byte_table',
224         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
225         UTF-2000.
226
227 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * chartab.c (struct map_char_table_for_charset_arg): New
230         structure.
231         (map_char_table_for_charset_fun): New function.
232         (map_char_table): Use `map_char_table' for encoding_table of
233         `range->charset'.
234
235 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * chartab.c (map_char_table): Check a character is found in
238         range->charset instead of non default value is defined in
239         char-table when range is CHARTAB_RANGE_ROW.
240
241 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * chartab.c (map_char_id_table): Deleted.
244         (Fmap_char_attribute): Use `map_char_table' instead of
245         `map_char_id_table'.
246
247 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
250         UTF-2000.
251         (update_syntax_table): Deleted in XEmacs UTF-2000.
252
253         * syntax.c (find_defun_start): Use `syntax_table' instead of
254         `mirror_syntax_table' in XEmacs UTF-2000.
255         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
256         UTF-2000.
257         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
258         XEmacs UTF-2000.
259         (Fmatching_paren): Likewise.
260         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
261         in XEmacs UTF-2000.
262         (find_start_of_comment): Likewise.
263         (find_end_of_comment): Likewise.
264         (Fforward_comment): Likewise.
265         (scan_lists): Likewise.
266         (char_quoted): Likewise.
267         (Fbackward_prefix_chars): Likewise.
268         (scan_sexps_forward): Likewise.
269         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
270         (update_syntax_table): Likewise.
271
272         * search.c (skip_chars): Use `syntax_table' instead of
273         `mirror_syntax_table' in XEmacs UTF-2000.
274         (wordify): Likewise.
275         (Freplace_match): Likewise.
276
277         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
278         `mirror_syntax_table' in XEmacs UTF-2000.
279         (WORDCHAR_P_UNSAFE): Likewise.
280         (re_match_2_internal): Likewise.
281
282         * font-lock.c (find_context): Use `buf->syntax_table' instead of
283         `buf->mirror_syntax_table' in XEmacs UTF-2000.
284
285         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
286         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
287
288         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
289         XEmacs UTF-2000.
290
291         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
292         UTF-2000.
293         (print_char_table): Print `default_value' in XEmacs UTF-2000.
294         (char_table_description): Delete `mirror_table' in XEmacs
295         UTF-2000.
296         (fill_char_table): Don't call `update_syntax_table' in XEmacs
297         UTF-2000.
298         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
299         (Fcopy_char_table): Likewise.
300         (put_char_table): Don't call `update_syntax_table' in XEmacs
301         UTF-2000.
302
303         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
304         `buf->mirror_syntax_table' in XEmacs UTF-2000.
305         (casify_region_internal): Likewise.
306
307         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
308
309         * buffer.c (common_init_complex_vars_of_buffer): Don't use
310         `mirror_syntax_table' in XEmacs UTF-2000.
311
312         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
313         `buf->mirror_syntax_table' in XEmacs UTF-2000.
314         (Fexpand_abbrev): Likewise.
315
316 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
319
320 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
323         (map_over_uint16_byte_table): Likewise.
324         (map_over_byte_table): Likewise.
325         (get_char_id_table): Refer `cit->default_value'.
326         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
327         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
328         of character-id ranges.
329         (mark_char_table): Mark `ct->default_value'.
330         (char_table_description): Add `default_value'.
331         (fill_char_table): Use `default_value'.
332         (decode_char_table_range): Decode `nil' as
333         `CHARTAB_RANGE_DEFAULT'.
334         (get_char_id_table): Refer `cit->default_value'.
335         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
336         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
337         temporary hack; check value of char-table is bound or not.
338         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
339
340         * chartab.h (struct Lisp_Char_Table): Add new member
341         `default_value' in XEmacs UTF-2000.
342         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
343         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
344         UTF-2000.
345
346 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * chartab.h (Lisp_Char_ID_Table): Deleted.
349
350         * chartab.c (char_table_description): Fix typo.
351         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
352         `Lisp_Char_ID_Table'.
353
354 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
355
356         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
357         `CHAR_ID_TABLE_P'.
358
359         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
360         `CHAR_ID_TABLE_P'.
361
362         * chartab.h (XCHAR_ID_TABLE): Deleted.
363         (XSETCHAR_ID_TABLE): Deleted.
364         (CHAR_ID_TABLE_P): Deleted.
365
366         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
367         `CHAR_ID_TABLE_P'.
368         (Fget_composite_char): Likewise.
369         (put_char_table): Likewise.
370         (add_char_attribute_alist_mapper): Fixed.
371         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
372         `CHAR_ID_TABLE_P'.
373         (Fget_char_attribute): Likewise.
374         (Fget_char_attribute): Likewise.
375         (Fmap_char_attribute): Likewise.
376
377         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
378         `CHAR_ID_TABLE_P'.
379         (encode_char_1): Likewise.
380
381 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
384         `XCHAR_ID_TABLE'.
385
386         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
387         instead of `XCHAR_ID_TABLE'.
388         (remove_char_ccs): Likewise.
389
390         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
391         `XCHAR_ID_TABLE'.
392         (Fget_composite_char): Likewise.
393         (Fchar_variants): Likewise.
394         (put_char_table): Likewise.
395         (add_char_attribute_alist_mapper): Likewise.
396         (Fchar_attribute_alist): Likewise.
397         (Fget_char_attribute): Likewise.
398         (Fput_char_attribute): Likewise.
399         (Fmap_char_attribute): Likewise.
400         (Fmap_char_attribute): Likewise.
401
402         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
403         `XCHAR_ID_TABLE'.
404         (encode_char_1): Likewise.
405
406 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
409         `Lisp_Char_ID_Table'.
410         (mark_char_id_table): Deleted.
411         (print_char_id_table): Likewise.
412         (char_id_table_equal): Likewise.
413         (char_id_table_hash): Likewise.
414         (char_id_table_description): Likewise.
415         (char_id_table): Likewise.
416         (make_char_id_table): Use `Fmake_char_table' and
417         `fill_char_table'.
418         (get_char_id_table): Use `Lisp_Char_Table' instead of
419         `Lisp_Char_ID_Table'.
420         (put_char_id_table): Likewise.
421         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
422         `XCHAR_ID_TABLE'.
423         (Fremove_char_attribute): Likewise.
424         (syms_of_chartab): Don't define type `char-id-table'.
425
426         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
427         (char_id_table): Likewise.
428         (GC_CHAR_ID_TABLE_P): Likewise.
429         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
430         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
431         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
432         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
433         (get_char_id_table): Use `Lisp_Char_Table' instead of
434         `Lisp_Char_ID_Table'.
435         (put_char_id_table_0): Likewise.
436         (put_char_id_table): Likewise.
437
438 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
439
440         * chartab.h: Lisp_Byte_Table related codes are moved from
441         chartab.h.
442
443         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
444
445 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
446
447         * chartab.h: Don't include "chartab.h".
448         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
449         (Lisp_Char_ID_Table): Likewise.
450         (char_id_table): Likewise.
451         (XCHAR_ID_TABLE): Likewise.
452         (XSETCHAR_ID_TABLE): Likewise.
453         (CHAR_ID_TABLE_P): Likewise.
454         (GC_CHAR_ID_TABLE_P): Likewise.
455         (get_char_id_table): Likewise.
456
457         * char-ucs.h: Include "chartab.h".
458         (struct Lisp_Char_ID_Table): Moved to chartab.h.
459         (Lisp_Char_ID_Table): Likewise.
460         (char_id_table): Likewise.
461         (XCHAR_ID_TABLE): Likewise.
462         (XSETCHAR_ID_TABLE): Likewise.
463         (CHAR_ID_TABLE_P): Likewise.
464         (GC_CHAR_ID_TABLE_P): Likewise.
465         (get_char_id_table): Likewise.
466
467 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
468
469         * chartab.c (copy_uint8_byte_table): New function.
470         (copy_uint16_byte_table): New function.
471         (copy_byte_table): New function.
472         (map_over_uint8_byte_table): Modify to avoid huge numbers of
473         characters to call.
474         (map_over_uint16_byte_table): Likewise.
475         (map_over_byte_table): Likewise.
476         (get_byte_table): Move prototype to chartab.h.
477         (put_byte_table): Likewise.
478         (put_char_id_table_0): Moved to chartab.h.
479         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
480         (char_table_entry_equal): Likewise.
481         (char_table_entry_hash): Likewise.
482         (char_table_entry_description): Likewise.
483         (char_table_entry): Likewise.
484         (make_char_table_entry): Likewise.
485         (copy_char_table_entry): Likewise.
486         (get_non_ascii_char_table_value): Likewise.
487         (map_over_charset_ascii): Likewise.
488         (map_over_charset_control_1): Likewise.
489         (map_over_charset_row): Likewise.
490         (map_over_other_charset): Likewise.
491         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
492         (print_char_table): Likewise.
493         (char_table_equal): Likewise.
494         (char_table_hash): Likewise.
495         (char_table_description): Likewise.
496         (fill_char_table): Likewise.
497         (Fcopy_char_table): Likewise.
498         (get_char_table): Likewise.
499         (Fget_range_char_table): Likewise.
500         (put_char_table): Likewise.
501         (map_char_table): Likewise.
502         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
503         UTF-2000.
504
505 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
508         `Vauto_fill_chars' in XEmacs UTF-2000.
509
510         * chartab.h (get_byte_table): New prototype [moved from
511         chartab.c].
512         (put_byte_table): Likewise [moved from chartab.c].
513         (put_char_id_table_0): New inline function [moved from chartab.c].
514         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
515         (Lisp_Char_Table_Entry): Likewise.
516         (char_table_entry): Likewise.
517         (XCHAR_TABLE_ENTRY): Likewise.
518         (XSETCHAR_TABLE_ENTRY): Likewise.
519         (CHAR_TABLE_ENTRYP): Likewise.
520         (CHECK_CHAR_TABLE_ENTRY): Likewise.
521         (NUM_ASCII_CHARS): Likewise.
522         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
523         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
524
525 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
526
527         * chartab.c (get_char_id_table): Change interface.
528         (put_char_id_table_0): New function.
529         (put_char_id_table): Change interface; new implementation.
530         (Fget_composite_char): Modify for interface change of
531         `get_char_id_table'.
532         (Fchar_variants): Likewise.
533         (add_char_attribute_alist_mapper): Likewise.
534         (Fchar_attribute_alist): Likewise.
535         (Fget_char_attribute): Likewise.
536         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
537         as same as character as the first argument like `put-char-table';
538         modify for interface change of `put_char_id_table'.
539         (Fremove_char_attribute): Modify for interface change of
540         `put_char_id_table'.
541
542 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
543
544         * text-coding.c: Sync up with XEmacs 21.2.41.
545         (COMPOSE_ADD_CHAR): Modify for interface change of
546         `get_char_id_table'.
547
548         * mule-charset.c (put_char_ccs_code_point): Modify for interface
549         change of `put_char_id_table'.
550         (remove_char_ccs): Likewise.
551
552         * chartab.h (put_char_id_table): Change interface.
553
554         * char-ucs.h (get_char_id_table): Change interface.
555         (charset_code_point): Modify for interface change of
556         `get_char_id_table'.
557         (encode_char_1): Likewise.
558
559 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
562         argument `ccs'.
563         (map_over_uint16_byte_table): Likewise.
564         (map_over_byte_table): Likewise.
565         (map_char_id_table): Add new argument `range' like
566         `map_char_table'.
567         (Fmap_char_attribute): Add new argument `range' like
568         `Fmap_char_table'.
569
570 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
571
572         * chartab.c (map_over_uint8_byte_table): Change interface of
573         mapping function to use struct chartab_range instead of Emchar.
574         (map_over_uint16_byte_table): Likewise.
575         (map_over_byte_table): Likewise.
576         (map_char_id_table): Likewise.
577         (struct slow_map_char_id_table_arg): Deleted.
578         (slow_map_char_id_table_fun): Deleted.
579         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
580         function `slow_map_char_table_fun' instead of struct
581         `slow_map_char_id_table_arg' and function
582         `slow_map_char_id_table_fun'.
583
584 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * mule-charset.c: Move char-it-table related codes to chartab.c.
587         (Vutf_2000_version): Moved to chartab.c.
588         (Fdefine_char): Likewise.
589         (Ffind_char): Likewise.
590         (syms_of_mule_charset): Move types `uint8-byte-table',
591         `uint16-byte-table', `byte-table' and `char-id-table' to
592         chartab.c; move functions `char_attribute_list,
593         `find_char_attribute_table, `char_attribute_alist,
594         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
595         `map_char_attribute, `define_char, `find_char, `char_variants and
596         `get_composite_char to chartab.c; move symbols `=>ucs',
597         `->decomposition', `compat', `isolated', `initial', `medial',
598         `final', `vertical', `noBreak', `fraction', `super', `sub',
599         `circle', `square', `wide', `narrow', `small' and `font' to
600         chartab.c.
601         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
602         setting codes for `Vcharacter_composition_table' and
603         `Vcharacter_variant_table' to chartab.c.
604         (complex_vars_of_mule_charset): Move setting code for
605         `Vchar_attribute_hash_table' to chartab.c.
606
607         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
608         (make_char_id_table): New prototype.
609         (put_char_id_table): Likewise.
610         (Fget_char_attribute): Likewise.
611
612         * chartab.c: Move char-id-table related code from mule-charset.c.
613         (Vutf_2000_version): Moved from mule-charset.c.
614
615         * char-ucs.h (Qucs): New external variable.
616         (put_char_ccs_code_point): New prototype.
617         (remove_char_ccs): Likewise.
618
619 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
620
621         * mule-charset.c (Vcharset_ucs_jis): New variable.
622         (Qucs_jis): Likewise.
623         (syms_of_mule_charset): Add new symbol `ucs-jis'.
624         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
625
626         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
627
628 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * mule-charset.c (map_over_uint8_byte_table): New function.
631         (map_over_uint16_byte_table): Likewise.
632         (map_over_byte_table): Likewise.
633         (map_char_id_table): Likewise.
634         (slow_map_char_id_table_fun): Likewise.
635         (Fmap_char_attribute): Likewise.
636         (syms_of_mule_charset): Add new function `map-char-attribute'.
637
638 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
641         (syms_of_mule_charset): Add new function `find-char'.
642
643 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
644
645         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
646         XEmacs UTF-2000.
647         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
648         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
649         XEmacs UTF-2000.
650         (complex_vars_of_mule_charset): Add new coded-charset
651         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
652         `ideograph-gt-pj-*'.
653
654         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
655
656 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * mule-charset.c (encode_builtin_char_1): Purge codes about
659         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
660         {MIN|MAX}_CHAR_HEBREW.
661         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
662         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
663
664         * char-ucs.h (MIN_CHAR_GREEK): Purged.
665         (MAX_CHAR_GREEK): Purged.
666         (MIN_CHAR_CYRILLIC): Purged.
667         (MAX_CHAR_CYRILLIC): Purged.
668         (MIN_CHAR_HEBREW): Commented out.
669         (MAX_CHAR_HEBREW): Likewise.
670
671 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * mule-charset.c (Qto_ucs): New variable.
674         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
675         (Fdefine_char): Likewise.
676         (syms_of_mule_charset): Add new symbol `=>ucs'.
677
678 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * mule-charset.c (Fdecode_char): Fixed.
681
682 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
685         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
686         "tcvn5712-1".
687
688 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
689
690         * mule-charset.c (Vcharset_ucs_big5): New variable.
691         (Qucs_big5): Likewise.
692         (syms_of_mule_charset): Add new symbol `ucs-big5'.
693         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
694
695         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
696
697 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
698
699         * mule-charset.c (decode_builtin_char): Check Big5 code range
700         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
701
702 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
703
704         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
705         (Qchinese_gb12345): Likewise.
706         (Fdecode_builtin_char): Fixed.
707         (syms_of_mule_charset): Add `chinese-gb12345'.
708         (complex_vars_of_mule_charset): Add coded-charset
709         `chinese-gb12345'.
710
711         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
712         (LEADING_BYTE_CHINESE_GB12345): New macro.
713
714 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
715
716         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
717         and `latin-viscii-upper' for `latin-viscii'.
718
719 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * mule-charset.c (Fdecode_builtin_char): Comment out
722         regularization code for ISO-IR GR representation.
723
724 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
725
726         * mule-charset.c (decode_builtin_char): New function; renamed from
727         `make_builtin_char'; return -1 instead of signal.
728         (Fdecode_builtin_char): Use `decode_builtin_char'.
729
730         * char-ucs.h (decode_builtin_char): New prototype; renamed from
731         `make_builtin_char'.
732         (DECODE_CHAR): Use `decode_builtin_char' instead of
733         `make_builtin_char'; use mapping table of `chinese-big5' for
734         `chinese-big5-{1,2}'.
735
736 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * text-coding.c (char_encode_big5): New function.
739         (char_finish_big5): Likewise.
740         (reset_encoding_stream): Use `char_encode_big5' and
741         `char_finish_big5' for CODESYS_BIG5.
742         (mule_encode): Don't use `encode_coding_big5'.
743         (encode_coding_big5): Deleted.
744
745 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
748         0x81- in XEmacs UTF-2000.
749         (detect_coding_big5): Likewise.
750
751 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * mule-charset.c (Fdefine_char): Don't use a CCS property to
754         generate character-id if the CCS property does not have
755         corresponding predefined character.
756         (make_builtin_char): Return -1 if corresponding predefined
757         character is not found.
758         (Fdecode_char): Return nil if corresponding character is not
759         found.
760         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
761         don't map to builtin ucs space.
762
763 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
766         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
767
768 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * mule-charset.c (Vcharset_ideograph_gt): New variable.
771         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
772         (Qideograph_gt): Likewise.
773         (Qideograph_gt_pj_{1..11}): Likewise.
774         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
775         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
776         `ideograph-gt-pj-11'.
777         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
778         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
779         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
780
781         * char-ucs.h (LEADING_BYTE_GT): New macro.
782         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
783         (MIN_CHAR_GT): Likewise.
784         (MAX_CHAR_GT): Likewise.
785
786 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
787
788         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
789         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
790
791         * doprnt.c (unsigned_int_converters): Add `c'.
792         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
793
794         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
795         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
796         `MIN_CHAR_MOJIKYO'.
797         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
798         (MAX_CHAR_MOJIKYO_0): New macro.
799         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
800
801 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
802
803         * mule-charset.c (Fdefine_char): Delete cemented out code.
804         (encode_builtin_char_1): Modify for new allocation of builtin
805         Mojikyo characters.
806
807         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
808
809 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
810
811         * mule-charset.c (Vcharset_ucs_cns): New variable.
812         (Qucs_cns): New variable.
813         (syms_of_mule_charset): Add new symbol `ucs-cns'.
814         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
815
816 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
819
820 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
821
822         * search.c (search_buffer): Make `charset_base_code' as
823         character-id >> 6 to eliminate the corresponding last byte in
824         UTF-8 representation [I'm not sure it is right thing].
825         (boyer_moore): Likewise.
826
827 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
828
829         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
830         representation in MULE.
831
832 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
833
834         * text-coding.c (Fmake_coding_system): Use
835         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
836         `EXTERNAL_PROPERTY_LIST_LOOP'.
837
838 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * text-coding.c (decode_output_utf8_partial_char): New function.
841         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
842
843 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * text-coding.c (decode_coding_utf8): Output original byte
846         sequence if it is broken; change order of conditions.
847
848         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
849         of conditions.
850
851         * mb-multibyte.h (BYTE_ASCII_P):
852         Use bit ops for char-signedness safety.
853         (BYTE_C0_P): Use bit ops for char-signedness safety.
854         (BYTE_C1_P): Use bit ops for char-signedness safety.
855
856         * character.h: (XCHAR_OR_CHAR_INT):
857         Always use inline function.
858         Remove redundant type checking assert() - XINT will abort quite
859         nicely.
860
861 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
862
863         * text-coding.c: (Fencode_shift_jis_char):
864         (Fencode_big5_char):
865         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
866         Replace 0 with '\0' when working with bytes.
867         Replace initial "(" with "\(" in docstrings.
868
869         (Fmake_coding_system):
870         When type is ccl and value is vector, register it with a proper
871         symbol.  And checks whether the given ccl program is valid.
872         (mule_decode): When calling ccl_driver, if src indicates
873         NULL pointer, set an empty string instead.
874         (mule_encode): Likewise.
875
876         (detect_eol_type):
877         (detect_coding_sjis):
878         (decode_coding_sjis):
879         (detect_coding_big5):
880         (decode_coding_big5):
881         (detect_coding_ucs4):
882         (decode_coding_ucs4):
883         (detect_coding_utf8):
884         (decode_coding_utf8):
885         (detect_coding_iso2022):
886         (decode_coding_iso2022):
887         (decode_coding_no_conversion):
888         (mule_decode):
889         Make all detecting and decoding functions take an Extbyte * arg.
890         (text_encode_generic):
891         (encode_coding_big5):
892         (encode_coding_no_conversion):
893         (mule_encode):
894         Make all encoding functions take a Bufbyte * arg.
895         Use size_t instead of unsigned int for memory sizes.
896         Only cast to unsigned char whenever dereferencing Extbyte *.
897
898         (struct lrecord_description fcd_description_1): Use countof.
899         (complex_vars_of_file_coding):
900         Use countof instead of sizeof.
901         Use CHECK_NATNUM instead of CHECK_INT.
902
903 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
904
905         * mule-charset.c (Fget_char_attribute): Add new optional argument
906         `default-value'.
907         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
908         (remove_char_ccs): Likewise.
909
910 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
911
912         * text-coding.c (char_encode_shift_jis): New implementation in
913         UTF-2000.
914         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
915         ...)'.
916
917         * mule-charset.c (Vcharset_chinese_big5): New variable in
918         UTF-2000.
919         (Qchinese_big5): New variable in UTF-2000.
920         (BIG5_SAME_ROW): New macro in UTF-2000.
921         (make_builtin_char): Use builtin characters of
922         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
923         characters of `Vcharset_chinese_big5'.
924         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
925         (complex_vars_of_mule_charset): Add new coded-charset
926         `chinese-big5' in UTF-2000.
927
928         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
929         (Vcharset_chinese_big5): New external variable declaration.
930         (Vcharset_japanese_jisx0208_1990): Likewise.
931
932 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
933
934         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
935         function.
936         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
937
938 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
941         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
942         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
943         `mojikyo-pj-*'.
944
945 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
946
947         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
948
949 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
952         to 0.17.
953
954 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
957         for `CHARSET_BY_ATTRIBUTES'.
958         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
959         `CHARSET_BY_ATTRIBUTES'.
960
961         * text-coding.c (struct decoding_stream): Rename member `CH' to
962         `CPOS'.
963         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
964         (decode_coding_sjis): Likewise.
965         (decode_coding_big5): Likewise.
966         (decode_coding_ucs4): Likewise.
967         (decode_coding_utf8): Likewise.
968         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
969         `CHARSET_BY_ATTRIBUTES'.
970         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
971         `str->counter'; decode 3, 4 bytes sets.
972         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
973         sets.
974         (decode_coding_no_conversion): Use `str->cpos' instead of
975         `str->ch'.
976
977         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
978         (Qmojikyo_2022_1): New variable.
979         (make_charset): Don't use `CHARSET_TYPE_*'.
980         (range_charset_code_point): Support coded-charset
981         `mojikyo-2022-1'.
982         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
983         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
984         `CHARSET_BY_ATTRIBUTES'.
985         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
986         `CHARSET_BY_ATTRIBUTES'.
987         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
988         (complex_vars_of_mule_charset): Add new coded-charset
989         `mojikyo-2022-1'.
990
991         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
992         interface; changed to inline function.
993
994         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
995         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
996         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
997         (CHARSET_TYPE_94): Deleted.
998         (CHARSET_TYPE_94X94): Deleted.
999         (CHARSET_TYPE_96): Deleted.
1000         (CHARSET_TYPE_96X96): Deleted.
1001         (CHARSET_TYPE_128): Deleted.
1002         (CHARSET_TYPE_128X128): Deleted.
1003         (CHARSET_TYPE_256): Deleted.
1004         (CHARSET_TYPE_256X256): Deleted.
1005         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1006         to inline function.
1007         (DECODE_MOJIKYO_2022): New inline function.
1008         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1009         `Vcharset_mojikyo_2022_1'.
1010
1011 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1014         instead of `EQ'.
1015         (put_byte_table): Likewise.
1016         (char_id_table_equal): Use `get_byte_table' [new implementation].
1017
1018 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1019
1020         * mule-charset.c: Include <limits.h> in UTF-2000.
1021         (BT_UINT8_MIN): New macro in UTF-2000.
1022         (BT_UINT8_MAX): New macro in UTF-2000.
1023         (BT_UINT8_t): New macro in UTF-2000.
1024         (BT_UINT8_nil): New macro in UTF-2000.
1025         (BT_UINT8_unbound): New macro in UTF-2000.
1026         (INT_UINT8_P): New inline function in UTF-2000.
1027         (UINT8_VALUE_P): New inline function in UTF-2000.
1028         (UINT8_ENCODE): New inline function in UTF-2000.
1029         (UINT8_DECODE): New inline function in UTF-2000.
1030         (mark_uint8_byte_table): New function in UTF-2000.
1031         (print_uint8_byte_table): New function in UTF-2000.
1032         (uint8_byte_table_equal): New function in UTF-2000.
1033         (uint8_byte_table_hash): New function in UTF-2000.
1034         (make_uint8_byte_table): New function in UTF-2000.
1035         (uint8_byte_table_same_value_p): New function in UTF-2000.
1036         (BT_UINT16_MIN): New macro in UTF-2000.
1037         (BT_UINT16_MAX): New macro in UTF-2000.
1038         (BT_UINT16_t): New macro in UTF-2000.
1039         (BT_UINT16_nil): New macro in UTF-2000.
1040         (BT_UINT16_unbound): New macro in UTF-2000.
1041         (INT_UINT16_P): New inline function in UTF-2000.
1042         (UINT16_VALUE_P): New inline function in UTF-2000.
1043         (UINT16_ENCODE): New inline function in UTF-2000.
1044         (UINT16_DECODE): New inline function in UTF-2000.
1045         (UINT8_TO_UINT16): New inline function in UTF-2000.
1046         (mark_uint16_byte_table): New function in UTF-2000.
1047         (print_uint16_byte_table): New function in UTF-2000.
1048         (uint16_byte_table_equal): New function in UTF-2000.
1049         (uint16_byte_table_hash): New function in UTF-2000.
1050         (make_uint16_byte_table): New function in UTF-2000.
1051         (uint16_byte_table_same_value_p): New function in UTF-2000.
1052         (print_byte_table): New function in UTF-2000.
1053         (byte-table): Use `print_byte_table' as printer.
1054         (make_byte_table): Delete second argument `older'.
1055         (byte_table_same_value_p): New function in UTF-2000.
1056         (copy_byte_table): Deleted.
1057         (get_byte_table): New function in UTF-2000.
1058         (put_byte_table): New function in UTF-2000.
1059         (print_char_id_table): New function in UTF-2000.
1060         (char-id-table): Use `print_char_id_table' as printer.
1061         (make_char_id_table): Delete second argument `older'.
1062         (get_char_id_table): Use `get_byte_table [new implementation].
1063         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1064         implementation].
1065         (Ffind_char_attribute_table): New function in UTF-2000.
1066         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1067         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1068         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1069         (syms_of_mule_charset): Add new function
1070         `find-char-attribute-table' in UTF-2000.
1071
1072         * lrecord.h (enum lrecord_type): Add
1073         `lrecord_type_uint16_byte_table' and
1074         `lrecord_type_uint8_byte_table'.
1075
1076         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1077         (Lisp_Uint8_Byte_Table): New type.
1078         (XUINT8_BYTE_TABLE): New macro.
1079         (XSETUINT8_BYTE_TABLE): New macro.
1080         (UINT8_BYTE_TABLE_P): New macro.
1081         (GC_UINT8_BYTE_TABLE_P): New macro.
1082         (struct Lisp_Uint16_Byte_Table): New structure.
1083         (Lisp_Uint16_Byte_Table): New type.
1084         (XUINT16_BYTE_TABLE): New macro.
1085         (XSETUINT16_BYTE_TABLE): New macro.
1086         (UINT16_BYTE_TABLE_P): New macro.
1087         (GC_UINT16_BYTE_TABLE_P): New macro.
1088
1089 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1090
1091         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1092         (Vcharacter_ideographic_strokes_table): Deleted.
1093         (Vcharacter_total_strokes_table): Deleted.
1094         (Vcharacter_morohashi_daikanwa_table): Deleted.
1095         (Vcharacter_decomposition_table): Deleted.
1096         (Qname): Deleted because it is duplicated.
1097         (Qideographic_radical): Deleted.
1098         (Qideographic_strokes): Deleted.
1099         (Qtotal_strokes): Deleted.
1100         (Qmorohashi_daikanwa): Deleted.
1101         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1102         `ideographic-radical', `ideographic-strokes', `total-strokes',
1103         `morohashi-daikanwa' and `->decomposition'.
1104         (Fget_char_attribute): Likewise.
1105         (Fput_char_attribute): Likewise; use `make-vector' instead of
1106         `make_older_vector' for `->decomposition' value.
1107         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1108         `ideograph-daikanwa'.
1109         (syms_of_mule_charset): Delete builtin symbols `name',
1110         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1111         `morohashi-daikanwa'.
1112         (vars_of_mule_charset): Don't setup
1113         `Vcharacter_ideographic_radical_table',
1114         `Vcharacter_ideographic_strokes_table',
1115         `Vcharacter_total_strokes_table',
1116         `Vcharacter_morohashi_daikanwa_table' and
1117         `Vcharacter_decomposition_table'.
1118
1119 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1120
1121         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1122         `make_older_vector', `make_vector_newer_1' and
1123         `make_vector_newer'.
1124
1125         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1126         `make_older_vector' and `make_vector_newer'.
1127
1128         * config.h.in (HAVE_GGC): New macro.
1129
1130 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1131
1132         * mule-charset.c (struct char_attribute_list_closure): New
1133         structure in UTF-2000.
1134         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1135         (Fchar_attribute_list): Likewise.
1136         (Fset_charset_mapping_table): Use `make_vector_newer'.
1137         (Fdecode_builtin_char): New function in UTF-2000.
1138         (syms_of_mule_charset): Add new function `char-attribute-list' and
1139         `decode-builtin-char' in UTF-2000.
1140
1141         * lisp.h (make_vector_newer): New prototype.
1142
1143         * alloc.c (make_vector_newer_1): New function.
1144         (make_vector_newer): New function.
1145
1146 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1147
1148         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1149         50100)'.
1150
1151 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1154         (Vcharacter_attribute_table): Deleted.
1155         (Vcharacter_name_table): Deleted.
1156         (put_char_attribute): Deleted.
1157         (remove_char_attribute): Deleted.
1158         (struct char_attribute_alist_closure): New structure.
1159         (add_char_attribute_alist_mapper): New function.
1160         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1161         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1162         (Fget_char_attribute): Likewise.
1163         (Fput_char_attribute): Likewise.
1164         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1165         of `remove_char_attribute'.
1166         (Fdefine_char): Return character.
1167         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1168         and `Vcharacter_name_table'.
1169         (complex_vars_of_mule_charset): Likewise
1170         `Vchar_attribute_hash_table'.
1171
1172 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1173
1174         * character.h (CHARC_CHARSET): New macro.
1175         (CHARC_CHARSET_ID): New macro.
1176         (CHARC_CODE_POINT): New macro.
1177         (CHARC_COLUMNS): New macro.
1178         (CHARC_TO_CHAR): New inline function.
1179         (CHARC_EQ): New inline function.
1180         (CHARC_ASCII_EQ): New inline function.
1181         (CHARC_IS_SPACE): New inline function.
1182         (ASCII_TO_CHARC): New inline function.
1183
1184         * char-ucs.h (encode_char_2): Deleted.
1185         (ENCODE_CHAR): Use `encode_char_1' again.
1186         (breakup_char_1): Likewise.
1187         (CHAR_TO_CHARC): New inline function.
1188
1189         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1190
1191 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1194         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1195         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1196         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1197         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1198         `CHARC_IS_SPACE'.
1199         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1200
1201         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1202         `CHARC_CODE_POINT'.
1203         (x_output_display_block): Use `CHARC_CHARSET' and
1204         `CHARC_ASCII_EQ'.
1205
1206         * redisplay-tty.c (tty_output_display_block): Use
1207         `CHARC_ASCII_EQ'.
1208         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1209
1210         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1211
1212         * insdel.c (find_charsets_in_charc_string): Use
1213         `CHARC_CHARSET_ID'.
1214         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1215         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1216         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1217         (convert_charc_string_into_malloced_string): Likewise.
1218
1219 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1220
1221         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1222         instead of <Emchar_dynarr *> for buf; use
1223         `convert_bufbyte_string_into_charc_dynarr' instead of
1224         `convert_bufbyte_string_into_emchar_dynarr'; use
1225         `find_charsets_in_charc_string' instead of
1226         `find_charsets_in_emchar_string'.
1227
1228         * redisplay.h:
1229         - Include "character.h".
1230         (struct rune): New member `cglyph'; delete member `chr'.
1231
1232         * redisplay.c (redisplay_text_width_charc_string): New function;
1233         delete `redisplay_text_width_emchar_string'.
1234         (rtw_charc_dynarr): New variable; renamed from
1235         `rtw_emchar_dynarr'.
1236         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1237         `rtw_emchar_dynarr'; use
1238         `convert_bufbyte_string_into_charc_dynarr' instead of
1239         `convert_bufbyte_string_into_emchar_dynarr'; use
1240         `redisplay_text_width_charc_string' instead of
1241         `redisplay_text_width_emchar_string'.
1242         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1243         instead of `rtw_emchar_dynarr'; use
1244         `convert_bufbyte_string_into_charc_dynarr' instead of
1245         `convert_bufbyte_string_into_emchar_dynarr'.
1246         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1247         `redisplay_text_width_charc_string' instead of
1248         `redisplay_text_width_emchar_string'.
1249         (create_text_block): Modify for <struct rune> change.
1250         (generate_formatted_string_db): Likewise.
1251         (create_string_text_block): Likewise.
1252         (pixel_to_glyph_translation): Likewise.
1253
1254         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1255         instead of <const Emchar *>.
1256         (x_text_width): Likewise.
1257         (x_output_display_block): Use <Charc_dynarr *> instead
1258         <Emchar_dynarr *>; modify for <structure rune> change.
1259         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1260         *>.
1261
1262         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1263         <const Emchar *>; use `charc_string_displayed_columns' instead of
1264         `emchar_string_displayed_columns'.
1265         (tty_output_display_block): Use <Charc_dynarr *> instead of
1266         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1267         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1268         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1269         `tty_output_emchar_dynarr_dynarr'.
1270         (tty_output_charc_dynarr): New function; delete
1271         `tty_output_charc_dynarr'.
1272
1273         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1274         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1275         <Emchar_dynarr *> for buf; use
1276         `convert_bufbyte_string_into_charc_dynarr' instead of
1277         `convert_bufbyte_string_into_emchar_dynarr'.
1278
1279         * frame.c (title_string_charc_dynarr): New variable; renamed from
1280         `title_string_emchar_dynarr'.
1281         (generate_title_string): Use `title_string_charc_dynarr' instead
1282         of `title_string_emchar_dynarr'; use
1283         `convert_charc_string_into_malloced_string' instead of
1284         `convert_emchar_string_into_malloced_string'.
1285         (init_frame): Use `title_string_charc_dynarr' instead of
1286         `title_string_emchar_dynarr'.
1287
1288         * console.h:
1289         - Include "character.h".
1290         (struct console_methods): Use <const Charc *> instead of <const
1291         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1292         <Emchar_dynarr *> in output_string_method.
1293
1294         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1295         <Emchar_dynarr *>.
1296
1297         * console-stream.c (stream_text_width): Use <const Charc *>
1298         instead of <const Emchar *>.
1299
1300         * character.h (Charc_dynarr): New type.
1301
1302         * char-ucs.h (structure Charc): New structure; define new type
1303         `Charc'.
1304
1305         * char-lb.h (DECODE_CHAR): New inline function.
1306         (encode_char_1): New inline function.
1307         (ENCODE_CHAR): New macro.
1308         (structure Charc): New structure; define new type `Charc'.
1309
1310         * char-1byte.h (Vcharset_control_1): New macro.
1311         (Vcharset_latin_iso8859_1): New macro.
1312         (DECODE_CHAR): New inline function.
1313         (encode_char_1): New inline function.
1314         (ENCODE_CHAR): New macro.
1315         (structure Charc): New structure; define new type `Charc'.
1316
1317         * insdel.c (find_charsets_in_charc_string): New function; delete
1318         `find_charsets_in_emchar_string'.
1319         (charc_string_displayed_columns): New function; delete
1320         `emchar_string_displayed_columns'.
1321         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1322         `convert_bufbyte_string_into_emchar_dynarr'.
1323         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1324         `convert_charc_string_into_bufbyte_dynarr'.
1325         (convert_charc_string_into_malloced_string): New function; delete
1326         `convert_charc_string_into_malloced_string'.
1327
1328         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1329         `find_charsets_in_emchar_string'.
1330         (charc_string_displayed_columns): New prototype; delete
1331         `emchar_string_displayed_columns'.
1332         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1333         `convert_charc_string_into_bufbyte_dynarr'.
1334         (convert_charc_string_into_malloced_string): New prototype; delete
1335         `convert_charc_string_into_malloced_string'.
1336
1337 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1338
1339         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1340
1341 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1342
1343         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1344
1345         * char-ucs.h: Use <short> for <Charset_ID>.
1346
1347         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1348         <Charset_ID>.
1349
1350 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1353         to 0.16.
1354
1355 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1358         variable.
1359         (Qmorohashi_daikanwa): New variable.
1360         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1361         for `morohashi-daikanwa' attribute.
1362         (Fget_char_attribute): Likewise.
1363         (Fput_char_attribute): Likewise.
1364         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1365         has the same value of `ideograph-daikanwa'.
1366         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1367         (vars_of_mule_charset): Setup
1368         `Vcharacter_morohashi_daikanwa_table'.
1369
1370 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1371
1372         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1373         attributes.
1374         (add_charset_to_list_mapper): Add `key' instead of
1375         `XCHARSET_NAME (value)' to return aliases.
1376
1377 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1378
1379         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1380         variable.
1381         (Vcharacter_ideographic_strokes_table): New variable.
1382         (Qideographic_radical): New variable.
1383         (Qideographic_strokes): New variable.
1384         (Fchar_attribute_alist): Use
1385         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1386         attribute; use `Vcharacter_ideographic_strokes_table' for
1387         `ideographic-strokes' attribute.
1388         (Fget_char_attribute): Likewise.
1389         (Fput_char_attribute): Likewise.
1390         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1391         `ideographic-strokes'.
1392         (vars_of_mule_charset): Setup
1393         `Vcharacter_ideographic_radical_table' and
1394         `Vcharacter_ideographic_strokes_table'.
1395
1396 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1397
1398         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1399         (Qtotal_strokes): New variable.
1400         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1401         `total-strokes' attribute.
1402         (Fget_char_attribute): Likewise.
1403         (Fput_char_attribute): Likewise.
1404         (syms_of_mule_charset): Add new symbol `total-strokes'.
1405         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1406
1407 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1410         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1411         are found.
1412         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1413         `->decomposition' attribute.
1414         (Fput_char_attribute): Likewise.
1415         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1416
1417 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * mule-charset.c (decoding_table_check_elements): New function.
1420         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1421
1422 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1423
1424         * mule-charset.c (Fset_charset_mapping_table): Use
1425         `put_char_ccs_code_point'.
1426
1427 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (decoding_table_put_char): New inline function.
1430         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1431
1432 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1433
1434         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1435         (XCHARSET_BYTE_SIZE): New macro.
1436         (decoding_table_remove_char): New inline function.
1437         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1438         `decoding_table_remove_char'.
1439         (remove_char_ccs): Use `decoding_table_remove_char'.
1440         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1441
1442 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1443
1444         * mule-charset.c (Vcharacter_name_table): New variable.
1445         (Qname): New variable.
1446         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1447         attribute.
1448         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1449         `Vcharacter_name_table' for `name' attribute.
1450         (Fremove_char_attribute): Use function `remove_char_ccs'.
1451         (put_char_ccs_code_point): New function.
1452         (remove_char_ccs): New function.
1453         (syms_of_mule_charset): Add new symbol `name'.
1454         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1455
1456 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * mule-charset.c (make_byte_table): Add new argument `older'.
1459         (make_char_id_table): Likewise.
1460         (copy_char_id_table): Comment out because it is not used.
1461         (put_char_id_table): Modify for `make_byte_table'.
1462         (Fput_char_attribute): Make encoding_table as older object;
1463         inherit older bit of `Vcharacter_composition_table'.
1464         (mark_charset): Don't mark `cs->encoding_table'.
1465         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1466         normal object; make `Vcharacter_composition_table' as an older
1467         object; delete staticpro for `Vcharacter_composition_table'; make
1468         `Vcharacter_variant_table' as a normal object.
1469
1470         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1471         (mark_object): Don't check older object in UTF-2000.
1472
1473         * lrecord.h (struct lrecord_header): Add new member `older' in
1474         UTF-2000.
1475         (set_lheader_implementation): Setup `SLI_header->older' in
1476         UTF-2000.
1477         (set_lheader_older_implementation): New macro in UTF-2000.
1478         (OLDER_RECORD_P): New macro in UTF-2000.
1479         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1480         (alloc_older_lcrecord): New prototype in UTF-2000.
1481         (alloc_older_lcrecord_type): New macro in UTF-2000.
1482
1483 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1484
1485         * mule-charset.c (byte_table_description): Use
1486         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1487         (char_id_table_description): Delete bogus `, 1'.
1488         (Fget_char_attribute): Refer encoding_table of each coded-charset
1489         to get value of coded-charset attribute of a character.
1490         (Fput_char_attribute): Use `make_older_vector' instead of
1491         `make_vector'; use encoding_table of each coded-charset to store
1492         value of coded-charset attribute of a character.
1493         (Fremove_char_attribute): Use encoding_table of each coded-charset
1494         to store value of coded-charset attribute of a character.
1495         (mark_charset): Mark `cs->encoding_table'; don't mark
1496         `cs->decoding_table'.
1497         (charset_description): Add description of new member
1498         `encoding_table'.
1499         (make_charset): Initialize `encoding_table'.
1500
1501         * char-ucs.h (struct Lisp_Charset): Add new member
1502         `encoding_table'.
1503         (CHARSET_ENCODING_TABLE): New macro.
1504         (XCHARSET_ENCODING_TABLE): New macro.
1505         (charset_code_point): New implementation.
1506         (encode_char_1): Likewise.
1507
1508         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1509         (disksave_object_finalization_1): Call finalizers of
1510         `all_older_lcrecords' in UTF-2000.
1511         (make_older_vector): New function in UTF-2000.
1512         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1513         UTF-2000.
1514
1515         * lisp.h (make_older_vector): New prototype in UTF-2000.
1516
1517 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1518
1519         * lrecord.h (enum lrecord_type): Rename
1520         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1521
1522         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1523         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1524         `get_char_code_table'.
1525
1526         * mule-charset.c (mark_char_id_table): Renamed from
1527         `mark_char_code_table'.
1528         (char_id_table_equal): Renamed from `char_code_table_equal'.
1529         (char_id_table_hash): Renamed from `char_code_table_hash'.
1530         (make_char_id_table): Renamed from `make_char_code_table'.
1531         (copy_char_id_table): Renamed from `copy_char_code_table'.
1532         (get_char_id_table): Renamed from `get_char_code_table'.
1533         (put_char_id_table): Renamed from `put_char_code_table'.
1534         (to_char_id): Renamed from `to_char_code'.
1535
1536         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1537         `Lisp_Char_Code_Table'.
1538         (char_id_table): Renamed from `char_code_table'.
1539         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1540         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1541         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1542         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1543         (get_char_id_table): Renamed from `get_char_code_table'.
1544
1545 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1546
1547         * lrecord.h (enum lrecord_type): Rename
1548         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1549
1550         * mule-charset.c (mark_byte_table): Renamed from
1551         `mark_char_byte_table'.
1552         (byte_table_equal): Renamed from `char_byte_table_equal'.
1553         (byte_table_hash): Renamed from `byte_table_hash'.
1554         (make_byte_table): Renamed from `make_byte_table'.
1555         (copy_byte_table): Renamed from `copy_char_byte_table'.
1556
1557         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1558         `Lisp_Char_Byte_Table'.
1559         (byte_table): Renamed from `char_byte_table'.
1560         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1561         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1562         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1563         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1564
1565 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1566
1567         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1568         (dfc_convert_to_internal_format): Likewise.
1569         
1570         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1571         * text-coding.c (Fcoding_system_alias_p): New function.
1572         * text-coding.c (Fcoding_system_aliasee): New function.
1573         * text-coding.c (append_suffix_to_symbol): New function.
1574         * text-coding.c (dangling_coding_system_alias_p): New function.
1575         * text-coding.c (Ffind_coding_system):
1576         * text-coding.c (Fcopy_coding_system):
1577         * text-coding.c (encode_coding_no_conversion):
1578         * text-coding.c (syms_of_file_coding):
1579         * text-coding.c (vars_of_file_coding):
1580         Rewrite coding system alias code.
1581         Allow nested aliases, like symbolic links.
1582         Allow redefinition of coding system aliases.
1583         Prevent existence of dangling coding system aliases.
1584         Eliminate convert_to_external_format.
1585         Eliminate convert_to_internal_format.
1586         
1587         * text-coding.c: Change enum eol_type to eol_type_t.
1588
1589 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1590
1591         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1592         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1593
1594         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1595         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1596
1597 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1598
1599         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1600         `ideograph-daikanwa'.
1601
1602         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1603         (Vcharset_ucs_bmp): Likewise.
1604         (Vcharset_mojikyo): Add new extern variable definition.
1605         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1606         (Vcharset_latin_iso8859_3): Likewise.
1607         (Vcharset_latin_iso8859_4): Likewise.
1608         (Vcharset_latin_iso8859_9): Likewise.
1609         (Vcharset_latin_viscii_lower): Likewise.
1610         (Vcharset_latin_viscii_upper): Likewise.
1611         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1612         `mojikyo' code-point is used to decode.
1613         (encode_char_2): New function [to convert `mojikyo' code-point to
1614         Mojikyo font encoding].
1615         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1616         (breakup_char_1): Likewise.
1617         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1618
1619 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1620
1621         * text-coding.c (Fmake_coding_system): Add document about
1622         `disable-composition' property.
1623
1624 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1625
1626         * text-coding.c (Qdisable_composition): New variable; delete
1627         `Qcomposite'.
1628         (Fmake_coding_system): Add new property `disable-composite';
1629         delete property `composite'.
1630         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1631         instead of `!CODING_SYSTEM_COMPOSITE'.
1632         (syms_of_file_coding): Add new symbol `disable-composition';
1633         delete symbol `composite'.
1634
1635         * file-coding.h (struct Lisp_Coding_System): Add
1636         `disable_composition'; delete `enable_composition'.
1637         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1638         `CODING_SYSTEM_COMPOSITE'.
1639         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1640         `XCODING_SYSTEM_COMPOSITE'.
1641
1642 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1645         to 0.15.
1646
1647 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1648
1649         * text-coding.c (Qcomposite): New variable.
1650         (Fmake_coding_system): Add new property `composite'.
1651         (struct decoding_stream): Add `combined_char_count',
1652         `combined_chars' and `combining_table' in UTF-2000.
1653         (COMPOSE_FLUSH_CHARS): New macro.
1654         (COMPOSE_ADD_CHAR): New macro.
1655         (reset_decoding_stream): Reset `str->combined_char_count' and
1656         `str->combining_table' in UTF-2000.
1657         (decode_coding_iso2022): Modify for character-decomposition.
1658         (syms_of_file_coding): Add new symbol `composite'.
1659
1660 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1663         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1664         of `Vcharacter_composition_table' if `->decomposition' property
1665         has only 1 element.
1666         (Qlatin_tcvn5712): New variable.
1667         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1668         (complex_vars_of_mule_charset): Add new coded-charset
1669         `latin-tcvn5712'.
1670
1671         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1672
1673 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1674
1675         * file-coding.h (struct Lisp_Coding_System): Add
1676         `enable_composition'.
1677         (CODING_SYSTEM_COMPOSITE): New macro.
1678         (XCODING_SYSTEM_COMPOSITE): New macro.
1679
1680 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1681
1682         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1683
1684 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1685
1686         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1687         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1688
1689 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1690
1691         * mule-charset.c (Vcharset_mojikyo): New variable.
1692         (Fdefine_char): Don't use coded-charset which does not have
1693         non-builtin character range to allocate character-id.
1694         (Qmojikyo): New variable.
1695         (syms_of_mule_charset): Add new symbol `mojikyo'.
1696         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1697
1698         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1699         (LEADING_BYTE_MOJIKYO): New macro.
1700         (MIN_CHAR_MOJIKYO): New macro.
1701         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1702         (MAX_CHAR_MOJIKYO): New macro.
1703
1704 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1705
1706         * mule-charset.c (remove_char_attribute): Fixed.
1707
1708 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1709
1710         * mule-charset.c (remove_char_attribute): New function.
1711         (Fremove_char_attribute): New function.
1712         (encode_builtin_char_1): Comment out builtin-support for
1713         greek-iso8859-7 and cyrillic-iso8859-5.
1714         (Fdecode_char): Check `code' is an integer.
1715         (syms_of_mule_charset): Add `remove-char-attribute'.
1716         (MIN_CHAR_GREEK): Deleted.
1717         (MAX_CHAR_GREEK): Likewise.
1718         (MIN_CHAR_CYRILLIC): Likewise.
1719         (MAX_CHAR_CYRILLIC): Likewise.
1720         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1721         MAX_CHAR_GREEK for `greek-iso8859-7'.
1722
1723         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1724         (MAX_CHAR_GREEK): Likewise.
1725         (MIN_CHAR_CYRILLIC): Likewise.
1726         (MAX_CHAR_CYRILLIC): Likewise.
1727
1728 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1729
1730         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1731         format is used without `ucs' property.
1732         (Fdecode_char): Fix problem with GR representation.
1733         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1734         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1735
1736 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1737
1738         * mule-charset.c (make_builtin_char): New function.
1739         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1740         (Fset_charset_mapping_table): Modify for new representation of
1741         code-point.
1742         (Fdecode_char): New function.
1743         (syms_of_mule_charset): Add new builtin function `decode-char' in
1744         UTF-2000.
1745
1746         * char-ucs.h (make_builtin_char): New prototype.
1747         (DECODE_CHAR): New inline function.
1748         (MAKE_CHAR): Use `DECODE_CHAR'.
1749
1750 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1751
1752         * text-coding.c (parse_charset_conversion_specs): Use
1753         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1754         `XCHARSET_TYPE'.
1755         (iso2022_designate): Likewise.
1756
1757         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1758         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1759
1760         * mule-charset.c (Vcharset_ucs): New variable.
1761         (print_charset): Change design; use `CHARSET_CHARS' and
1762         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1763         (make_charset): Change signature to specify `chars' and
1764         `dimension' instead of `type'.
1765         (range_charset_code_point): Modify for 256^n-set.
1766         (encode_builtin_char_1): Encode as `ucs' in default.
1767         (Fmake_charset): Modify for `make_charset'.
1768         (Fmake_reverse_direction_charset): Likewise.
1769         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1770         UTF-2000.
1771         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1772         for `make_charset'.
1773
1774         * char-ucs.h (Vcharset_ucs): New variable.
1775         (LEADING_BYTE_UCS): New macro.
1776         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1777         and `chars' to `unsigned short' from `unsigned int'.
1778         (CHARSET_TYPE): Deleted.
1779         (XCHARSET_TYPE): Deleted.
1780
1781 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1782
1783         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1784
1785         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1786         (ENCODE_CHAR): New macro.
1787
1788 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1789
1790         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1791         to 0.14 (Kawachi-Katakami).
1792
1793 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1794
1795         * text-coding.c (char_encode_shift_jis): Modify for
1796         `charset_code_point'.
1797         (char_encode_iso2022): Likewise.
1798
1799         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1800         (integer) instead of list of <Lisp_Object>s (integers) as the
1801         format of code-point of a coded-charset.
1802         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1803         (encode_builtin_char_1): New function; delete
1804         `split_builtin_char'.
1805         (charset_code_point): Return <int> instead of <Lisp_Object>.
1806         (Fsplit_char): Don't use `SPLIT_CHAR'.
1807
1808         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1809         prototype for `split_builtin_char'.
1810         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1811         (charset_code_point): Likewise.
1812         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1813         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1814
1815 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1816
1817         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1818         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1819
1820 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1821
1822         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1823
1824         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1825         (MAX_CHAR_OBS_94x94): Deleted.
1826
1827 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1828
1829         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1830
1831         * char-ucs.h (MAX_CHAR_BMP): New macro.
1832
1833 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1834
1835         * text-coding.c: Sync with r21-2-24.
1836
1837 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1838
1839         * file-coding.c: Modify for UTF-2000.
1840
1841 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1842
1843         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1844         to 0.13 (Takaida).
1845
1846 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1847
1848         * mule-charset.c (split_builtin_char): Delete builtin support for
1849         `katakana-jisx0201'.
1850         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1851         BMP area in builtin representation.
1852
1853         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1854         `Vcharset_katakana_jisx0201'.
1855
1856 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1857
1858         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1859         (Qisolated): New variable.
1860         (Qinitial): New variable.
1861         (Qmedial): New variable.
1862         (Qfinal): New variable.
1863         (Qvertical): New variable.
1864         (Qsmall): New variable.
1865         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1866         `Qvertical' and `Qsmall'.
1867         (Qmojikyo_pj_[1 .. 21]): New variable.
1868         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1869         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1870         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1871         .. 21]'.
1872
1873 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1874
1875         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1876         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1877         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1878
1879 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1880
1881         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1882         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1883         BMP.
1884         (Qjapanese_jisx0208_1990): New variable.
1885         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1886         (complex_vars_of_mule_charset): Add new coded-charset
1887         `japanese-jisx0208-1990'.
1888
1889         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1890         (MIN_CHAR_JIS_X0208_1990): New macro.
1891         (MAX_CHAR_JIS_X0208_1990): New macro.
1892
1893 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1894
1895         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1896         coded-charset is not found.
1897
1898 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1899
1900         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1901         (Fdefine_char): Use `Fmake_char'.
1902
1903 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1904
1905         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1906         (Vcharset_hiragana_jisx0208): Deleted.
1907         (Vcharset_katakana_jisx0208): Deleted.
1908         (Qideograph_daikanwa): New variable.
1909         (Qhiragana_jisx0208): Deleted.
1910         (Qkatakana_jisx0208): Deleted.
1911         (split_builtin_char): Split `ideograph-daikanwa'.
1912         (Fsplit_char): New implementation for UTF-2000.
1913         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1914         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1915         (complex_vars_of_mule_charset): Add new coded-charset
1916         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1917         `katakana-jisx0208'.
1918
1919         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1920         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1921         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1922         (MIN_CHAR_DAIKANWA): New macro.
1923         (MAX_CHAR_DAIKANWA): New macro.
1924
1925 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1926
1927         * data.c (Fstring_to_number): Don't recognize floating point if
1928         base is not 10.
1929
1930 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1931
1932         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1933
1934 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1935
1936         * mule-charset.c (Qsquare): New variable.
1937         (to_char_code): Add `Qsquare'.
1938         (syms_of_mule_charset): Add new symbol `square'.
1939
1940 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1941
1942         * mule-charset.c (Qcircle): New variable.
1943         (to_char_code): Add `Qcircle'.
1944         (syms_of_mule_charset): Add new symbol `circle'.
1945
1946 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1947
1948         * mule-charset.c (Qfont): New variable.
1949         (to_char_code): Add `Qfont'.
1950         (syms_of_mule_charset): Add new symbol `font'.
1951
1952 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1953
1954         * mule-charset.c (Qsub): New variable.
1955         (to_char_code): Add `Qsub'.
1956         (syms_of_mule_charset): Add new symbol `sub'.
1957
1958 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1959
1960         * mule-charset.c (Fput_char_attribute): Convert each element of
1961         VALUE to GL position if ATTRIBUTE is a GR-set,
1962
1963 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1964
1965         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1966         coded-charset is a GR-set.
1967
1968 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1969
1970         * mule-charset.c (Fput_char_attribute): Check each element of
1971         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1972
1973 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1974
1975         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1976         UTF-2000.
1977         (Qethiopic_ucs): New variable in UTF-2000.
1978         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1979         (complex_vars_of_mule_charset): Add new coded-charset
1980         `ethiopic-ucs' in UTF-2000.
1981
1982         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1983         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1984         9)'.
1985         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1986         10)'.
1987         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1988
1989 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1990
1991         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1992         `ascii'.
1993
1994 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1995
1996         * mule-charset.c (Vcharacter_variant_table): New variable.
1997         (Q_ucs): New variable.
1998         (Fchar_variants): New function.
1999         (Fput_char_attribute): Register `->ucs' value to
2000         `Vcharacter_variant_table'.
2001         (syms_of_mule_charset): Add new function `char-variants' and new
2002         symbol `->ucs'.
2003         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2004
2005 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2006
2007         * mule-charset.c (get_char_code_table): Allow negative character
2008         code.
2009         (put_char_code_table): Likewise.
2010         (Vcharacter_composition_table): New variable.
2011         (Q_decomposition): New variable.
2012         (Qwide): New variable.
2013         (Qnarrow): New variable.
2014         (Qcompat): New variable.
2015         (QnoBreak): New variable.
2016         (Qsuper): New variable.
2017         (Qfraction): New variable.
2018         (to_char_code): New function.
2019         (Fget_composite_char): New function.
2020         (Fput_char_attribute): Register `->decomposition' value to
2021         `Vcharacter_composition_table'.
2022         (syms_of_mule_charset): Add new function `get-composite-char', new
2023         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2024         `super' and `fraction'.
2025         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2026
2027 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2028
2029         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2030         character; copy the return value.
2031
2032 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2033
2034         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2035
2036         * mule-charset.c (range_charset_code_point): Must use make_int.
2037         (split_builtin_char): New function.
2038
2039 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2040
2041         * mule-charset.c (char_byte_table): Change name from
2042         "char-code-table" to "char-byte-table".
2043         (mark_char_code_table): New function.
2044         (char_code_table_equal): New function.
2045         (char_code_table_hash): New function.
2046         (char_code_table_description): New constant.
2047         (char_code_table): New type.
2048         (make_char_code_table): New function.
2049         (copy_char_code_table): New function.
2050         (get_char_code_table): Modify for `char_code_table' type.
2051         (put_char_code_table): Likewise.
2052         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2053         (Kashiwara).
2054
2055         * char-ucs.h (char_code_table): New type.
2056         (XCHAR_CODE_TABLE): New macro.
2057         (XSETCHAR_CODE_TABLE): New macro.
2058         (CHAR_CODE_TABLE_P): New macro.
2059         (GC_CHAR_CODE_TABLE_P): New macro.
2060         (struct Lisp_Char_Code_Table): New structure.
2061
2062 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2063
2064         * mule-charset.c (Fmake_charset): Setup byte_offset for
2065         {94|96}^n-set.
2066
2067 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2068
2069         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2070         character.
2071
2072 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2073
2074         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2075         is found.
2076
2077 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2078
2079         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2080         charset, it is regarded as a charset.
2081         (put_char_attribute): New function in UTF-2000.
2082         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2083         charset, mapping-table of the charset is modified.
2084         (Fdefine_char): New function in UTF-2000.
2085         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2086         `Fput_char_attribute'.
2087         (syms_of_mule_charset): Add new function `define-char' and new
2088         symbol `ucs' in UTF-2000.
2089         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2090
2091 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2092
2093         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2094         non-UTF-2000 configuration.
2095
2096 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2097
2098         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2099         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2100
2101         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2102         deleted.
2103         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2104         (Fset_charset_mapping_table): Likewise.
2105
2106         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2107         (CHARSET_ENCODING_TABLE): Delete.
2108         (XCHARSET_ENCODING_TABLE): Delete.
2109         (charset_code_point): New interface.
2110
2111 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2112
2113         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2114         instead of `charset_get_byte1' and `charset_get_byte2'.
2115
2116         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2117         (charset_get_byte2): Deleted.
2118
2119 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2120
2121         * char-ucs.h (SPLIT_CHAR): New inline function.
2122         (breakup_char_1): Use `SPLIT_CHAR'.
2123
2124         * mule-charset.c (range_charset_code_point): New function.
2125         (charset_code_point): New function.
2126
2127         * char-ucs.h (range_charset_code_point): New interface.
2128         (breakup_char_1): Use `range_charset_code_point'.
2129
2130 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2131
2132         * mule-charset.c (Fmake_charset): Delete unused local variable
2133         `code_offset'.
2134
2135         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2136         (breakup_char_1): Find a charset and code-point in
2137         `Vcharacter_attribute_table'.
2138
2139 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2140
2141         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2142         to 0.10 (Yao).
2143
2144 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2145
2146         * mule-charset.c (Vcharacter_attribute_table): New variable.
2147         (Fchar_attribute_alist): New function.
2148         (Fget_char_attribute): New function.
2149         (Fput_char_attribute): New function.
2150         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2151         too.
2152         (syms_of_mule_charset): Add new function `char-attribute-alist',
2153         `get-char-attribute' and `put-char-attribute'.
2154         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2155
2156 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2157
2158         * mule-charset.c (Fmake_charset): Just use
2159         `get_unallocated_leading_byte'.
2160
2161         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2162         sets; don't use final-byte based number for private sets.
2163
2164 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2165
2166         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2167         integer.
2168
2169 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2170
2171         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2172         to 0.9.
2173
2174 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2175
2176         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2177         of `CHAR_LEADING_BYTE' in UTF-2000.
2178
2179         * insdel.c (find_charsets_in_bufbyte_string): Use
2180         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2181         (find_charsets_in_emchar_string): Likewise.
2182
2183         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2184         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2185
2186         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2187         (CHAR_CHARSET_ID): New macro.
2188
2189 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2190
2191         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2192         charset-id - MIN_LEADING_BYTE.
2193         (put_char_table): Likewise.
2194
2195 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2196
2197         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2198         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2199         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2200         (CHARSET_ID_OFFSET): New macro.
2201         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2202         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2203         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2204         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2205         4).
2206         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2207         5).
2208         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2209         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2210         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2211         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2212         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2213
2214 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2215
2216         * mule-charset.c (next_allocated_leading_byte): New variable in
2217         UTF-2000.
2218         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2219         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2220         (get_unallocated_leading_byte): Simply use
2221         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2222         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2223         UTF-2000.
2224
2225         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2226         (MAX_LEADING_BYTE_PRIVATE): New macro.
2227         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2228         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2229
2230 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2231
2232         * mule-charset.c (Fmake_charset): Allocate final-byte based
2233         charset-id for 94-set, 96-set and 94x94-set.
2234
2235 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2236
2237         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2238         ambiguous `else'.
2239         (Fmake_charset): Likewise.
2240         (complex_vars_of_mule_charset): Modify the font registry of
2241         `ucs-bmp' not to match `Ethiopic-Unicode'.
2242
2243 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2244
2245         * mule-charset.c (complex_vars_of_mule_charset): Add font
2246         registory of `ucs-bmp'.
2247
2248 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2249
2250         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2251         coded-charsets in `default-coded-charset-priority-list' when
2252         breaking up a character.
2253
2254         * mule-charset.c (Vcharset_latin_viscii): New variable.
2255         (Qlatin_viscii): New variable.
2256         (make_charset): Don't use `decoding_table'.
2257         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2258         byte_offset.
2259         (Fset_charset_mapping_table): New implementation.
2260         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2261         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2262         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2263         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2264         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2265         charset `latin_viscii'.
2266
2267         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2268         (CHARSET_TYPE_94X94): Change to 1 from 2.
2269         (CHARSET_TYPE_96): Change to 2 from 1.
2270         (CHARSET_TYPE_128): New macro.
2271         (CHARSET_TYPE_128X128): Change to 5 from 4.
2272         (CHARSET_TYPE_256): New macro.
2273         (CHARSET_TYPE_256X256): Change to 7 from 5.
2274         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2275
2276 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2277
2278         * text-coding.c (char_encode_shift_jis): Refer
2279         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2280         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2281
2282         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2283         (char_byte_table_equal): New function in UTF-2000.
2284         (char_byte_table_hash): New function in UTF-2000.
2285         (char_byte_table_description): New constant in UTF-2000.
2286         (char_byte_table): New type in UTF-2000.
2287         (make_char_byte_table): New function in UTF-2000.
2288         (copy_char_byte_table): New function in UTF-2000.
2289         (make_char_code_table): New macro in UTF-2000.
2290         (get_char_code_table): New function in UTF-2000.
2291         (put_char_code_table): New function in UTF-2000.
2292         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2293         (charset_description): Add setting in UTF-2000.
2294         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2295         `CHARSET_TO_BYTE1_TABLE(cs)'.
2296         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2297         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2298         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2299         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2300         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2301         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2302         `CHARSET_TO_BYTE2_TABLE(cs)'.
2303
2304         * char-ucs.h (char_byte_table): New type.
2305         (XCHAR_BYTE_TABLE): New macro.
2306         (XSETCHAR_BYTE_TABLE): New macro.
2307         (CHAR_BYTE_TABLE_P): New macro.
2308         (GC_CHAR_BYTE_TABLE_P): New macro.
2309         (struct Lisp_Char_Byte_Table): New structure.
2310         (get_char_code_table): New interface.
2311         (Emchar_to_byte_table): Deleted.
2312         (get_byte_from_character_table): Deleted.
2313         (struct Lisp_Charset): Add `encoding_table'; delete
2314         `to_byte1_table' and `to_byte2_table'.
2315         (CHARSET_ENCODING_TABLE): New macro.
2316         (CHARSET_TO_BYTE1_TABLE): Deleted.
2317         (CHARSET_TO_BYTE2_TABLE): Deleted.
2318         (XCHARSET_ENCODING_TABLE): New macro.
2319         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2320         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2321
2322 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2323
2324         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2325         `vietnamese-viscii-*'.
2326
2327 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2328
2329         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2330         (Qvietnamese_viscii_upper): New variable.
2331         (Fdefine_charset_alias): New function.
2332         (syms_of_mule_charset): Add new function `define-charset-alias'.
2333         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2334         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2335         `latin-viscii-*'.
2336
2337 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2338
2339         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2340         (MAX_CHAR_OBS_94x94): New macro.
2341         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2342         for 94x94 sets.
2343
2344         * mule-charset.c (put_byte_from_character_table): Change unit size
2345         from 128 to 256.
2346         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2347         not defined.
2348         (Fmake_reverse_direction_charset): Modify dummy argument of
2349         `make_charset' for non-UTF-2000 environment.
2350
2351 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2352
2353         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2354
2355         * mule-charset.c (destroy_byte_from_character_table): New macro.
2356         (latin_jisx0201_to_ucs): Deleted.
2357         (latin_iso8859_2_to_ucs): Deleted.
2358         (latin_iso8859_3_to_ucs): Deleted.
2359         (latin_iso8859_4_to_ucs): Deleted.
2360         (latin_iso8859_9_to_ucs): Deleted.
2361         (latin_viscii_lower_to_ucs): Deleted.
2362         (latin_viscii_upper_to_ucs): Deleted.
2363         (mark_charset): Mark `cs->decoding_table'.
2364         (Fcharset_mapping_table): Fix DOC-string.
2365         (Fset_charset_mapping_table): New function.
2366         (syms_of_mule_charset): Add nwe function
2367         `set-charset-mapping-table'.
2368         (complex_vars_of_mule_charset): Don't setup and use
2369         `latin_*_to_ucs'.
2370
2371 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2372
2373         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2374         charset.
2375
2376 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2377
2378         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2379         (Vcharset_katakana_jisx0208): New variable.
2380         (Qhiragana_jisx0208): New variable.
2381         (Qkatakana_jisx0208): New variable.
2382         (make_charset): Add new argument `byte_offset'.
2383         (charset_get_byte1): Modify for new coded-charset definition; use
2384         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2385         `XCHARSET_BYTE_OFFSET'.
2386         (Fmake_charset): Modify for `make_charset'.
2387         (Fmake_reverse_direction_charset): Likewise.
2388         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2389         `katakana-jisx0208'.
2390         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2391         `.'  in font registry of charset `katakana-jisx0201',
2392         `latin-jisx0201', `vietnamese-viscii-lower' and
2393         `vietnamese-viscii-upper'; modify DOC-string of charset
2394         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2395         registry of charset `japanese-jisx0208' not to use font for JIS
2396         X0208:1990; add new charset `hiragana-jisx0208' and
2397         `katakana-jisx0208'.
2398
2399         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2400         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2401         (struct Lisp_Charset): Add `byte_offset'.
2402         (CHARSET_BYTE_OFFSET): New macro.
2403         (XCHARSET_UCS_MIN): New macro.
2404         (XCHARSET_UCS_MAX): New macro.
2405         (XCHARSET_CODE_OFFSET): New macro.
2406         (XCHARSET_BYTE_OFFSET): New macro.
2407         (MIN_CHAR_HIRAGANA): New macro.
2408         (MAX_CHAR_HIRAGANA): New macro.
2409         (MIN_CHAR_KATAKANA): New macro.
2410         (MAX_CHAR_KATAKANA): New macro.
2411         (MAKE_CHAR): Modify for new coded-charset definition; use
2412         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2413         `XCHARSET_BYTE_OFFSET'.
2414
2415 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2416
2417         * mule-charset.c (CHAR96): Deleted.
2418         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2419         <Lisp_Object>.
2420         (latin_iso8859_2_to_ucs): Likewise.
2421         (latin_iso8859_3_to_ucs): Likewise.
2422         (latin_iso8859_4_to_ucs): Likewise.
2423         (latin_iso8859_9_to_ucs): Likewise.
2424         (latin_viscii_lower_to_ucs): Likewise.
2425         (latin_viscii_upper_to_ucs): Likewise.
2426         (latin_tcvn5712_to_ucs): Commented out.
2427         (make_charset): Change type of argument `decoding_table' from
2428         <Emchar*> to <Lisp_Object> [vector of characters].
2429         (Fmake_charset): Modify for `make_charset'.
2430         (Fmake_reverse_direction_charset): Likewise.
2431         (Fcharset_mapping_table): New function in UTF-2000.
2432         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2433         UTF-2000.
2434         (complex_vars_of_mule_charset): Modify for type change of
2435         `*_to_ucs'; modify for `make_charset'.
2436
2437         * char-ucs.h (struct Lisp_Charset): Change type of
2438         `decoding_table' from <Emchar*> to <Lisp_Object>.
2439         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2440
2441 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2442
2443         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2444         error with non-UTF-2000-Mule.
2445
2446 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2447
2448         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2449         in lisp again].
2450         (Vcharset_chinese_cns11643_4): Likewise.
2451         (Vcharset_chinese_cns11643_5): Likewise.
2452         (Vcharset_chinese_cns11643_6): Likewise.
2453         (Vcharset_chinese_cns11643_7): Likewise.
2454         (Qchinese_cns11643_3): Likewise.
2455         (Qchinese_cns11643_4): Likewise.
2456         (Qchinese_cns11643_5): Likewise.
2457         (Qchinese_cns11643_6): Likewise.
2458         (Qchinese_cns11643_7): Likewise.
2459         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2460         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2461         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2462         (complex_vars_of_mule_charset): Likewise.
2463
2464 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2465
2466         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2467         96-set.
2468         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2469         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2470
2471 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2472
2473         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2474         0xFF60.
2475         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2476         (breakup_char_1): Likewise.
2477
2478         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2479         one of them includes the specified character.
2480
2481 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2482
2483         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2484
2485 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2486
2487         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2488
2489 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2490
2491         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2492         definition for non-UTF-2000 Mule.
2493         (latin_iso8859_3_to_ucs): Likewise.
2494         (latin_iso8859_4_to_ucs): Likewise.
2495         (latin_iso8859_9_to_ucs): Likewise.
2496         (latin_jisx0201_to_ucs): Likewise.
2497         (MIN_CHAR_THAI): Likewise.
2498         (MAX_CHAR_THAI): Likewise.
2499         (MIN_CHAR_GREEK): Likewise.
2500         (MAX_CHAR_GREEK): Likewise.
2501         (MIN_CHAR_HEBREW): Likewise.
2502         (MAX_CHAR_HEBREW): Likewise.
2503         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2504         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2505         (MIN_CHAR_CYRILLIC): Likewise.
2506         (MAX_CHAR_CYRILLIC): Likewise.
2507
2508 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2509
2510         * char-ucs.h (breakup_char_1): Use
2511         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2512         thai-tis620 and katakana-jisx0201 area.
2513
2514 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2515
2516         * char-ucs.h (breakup_char_1): Use
2517         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2518         area.
2519
2520         * text-coding.c (reset_encoding_stream): Fixed.
2521         (char_encode_ucs4): Delete `& 255'.
2522
2523         * char-ucs.h (breakup_char_1): Use
2524         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2525
2526 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2527
2528         * file-coding.c (Fmake_coding_system): Don't set up
2529         `codesys->fixed.size'.
2530         (encode_coding_no_conversion): Don't refer
2531         `str->codesys->fixed.size'.
2532
2533 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2534
2535         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2536         (latin_a_char_to_byte1): Deleted.
2537         (latin_a_char_to_byte2): Deleted.
2538
2539 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2540
2541         * mule-charset.c (make_charset): Add new argument `ucs_min',
2542         `ucs_max' and `code_offset'.
2543         (charset_get_byte1): New implementation [delete specific charset
2544         depended implementations].
2545         (Fmake_charset): Modify for `make_charset'.
2546         (Fmake_reverse_direction_charset): Likewise.
2547         (complex_vars_of_mule_charset): Likewise.
2548
2549         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2550         `code_offset'.
2551         (CHARSET_UCS_MIN): New macro.
2552         (CHARSET_UCS_MAX): New macro.
2553         (CHARSET_CODE_OFFSET): New macro.
2554         (MAKE_CHAR): Delete charset depended definitions [except
2555         katakana-jisx0201].
2556
2557 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2558
2559         * char-ucs.h (breakup_char_1): Use
2560         `Vdefault_coded_charset_priority_list' for C0-Controls,
2561         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2562
2563 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2564
2565         * char-ucs.h (charset_get_byte1): New function.
2566         (XCHARSET_GET_BYTE1): Deleted.
2567         (charset_get_byte2): New function.
2568         (XCHARSET_GET_BYTE2): Deleted.
2569         (Vdefault_coded_charset_priority_list): New external variable.
2570         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2571         `Vdefault_preferred_coded_charset_list'.
2572
2573         * mule-charset.c (charset_get_byte1): New function.
2574         (charset_get_byte2): New function.
2575         (Vdefault_coded_charset_priority_list): New variable.
2576         (vars_of_mule_charset): Add new variable
2577         `default-coded-charset-priority-list'.
2578
2579 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2580
2581         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2582         (XCHARSET_GET_BYTE2): New inline function.
2583         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2584         `XCHARSET_GET_BYTE2'.
2585
2586 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2587
2588         * mule-charset.c (make_charset): Initialize
2589         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2590         NULL if table is not defined.
2591
2592 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2593
2594         * text-coding.c (char_encode_shift_jis): Use
2595         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2596         `ucs_to_latin_jisx0201'.
2597
2598         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2599         (ucs_to_latin_iso8859_2): Deleted.
2600         (ucs_to_latin_iso8859_3): Deleted.
2601         (ucs_to_latin_iso8859_4): Deleted.
2602         (ucs_to_latin_iso8859_9): Deleted.
2603         (ucs_to_latin_viscii_lower): Deleted.
2604         (ucs_to_latin_viscii_upper): Deleted.
2605         (ucs_to_latin_tcvn5712): Deleted.
2606         (make_charset): Add new argument `decoding_table'; set up
2607         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2608         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2609         `decoding_table' is defined in UTF-2000.
2610         (Fmake_charset): Modify for `make_charset'.
2611         (Fmake_reverse_direction_charset): Likewise.
2612         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2613         and `GENERATE_96_SET'.
2614
2615         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2616         (ucs_to_latin_jisx0201): Deleted.
2617         (latin_iso8859_2_to_ucs): Deleted.
2618         (ucs_to_latin_iso8859_2): Deleted.
2619         (latin_iso8859_3_to_ucs): Deleted.
2620         (ucs_to_latin_iso8859_3): Deleted.
2621         (latin_iso8859_4_to_ucs): Deleted.
2622         (ucs_to_latin_iso8859_4): Deleted.
2623         (latin_iso8859_9_to_ucs): Deleted.
2624         (ucs_to_latin_iso8859_9): Deleted.
2625         (latin_viscii_lower_to_ucs): Deleted.
2626         (ucs_to_latin_viscii_lower): Deleted.
2627         (latin_viscii_upper_to_ucs): Deleted.
2628         (ucs_to_latin_viscii_upper): Deleted.
2629         (struct Lisp_Charset): Renamed `encoding_table' to
2630         `to_byte1_table'; add `to_byte2_table'.
2631         (CHARSET_DECODING_TABLE): New macro.
2632         (CHARSET_TO_BYTE1_TABLE): New macro.
2633         (CHARSET_TO_BYTE2_TABLE): New macro.
2634         (XCHARSET_DECODING_TABLE): New macro.
2635         (XCHARSET_TO_BYTE1_TABLE): New macro.
2636         (XCHARSET_TO_BYTE2_TABLE): New macro.
2637         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2638         tables.
2639         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2640         don't use `ucs_to_*' tables.
2641
2642 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2643
2644         * text-coding.c (Fmake_coding_system): Don't set up
2645         `codesys->fixed.size'.
2646         (encode_coding_no_conversion): Use `if' instead of `switch'.
2647
2648         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2649
2650 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2651
2652         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2653         (Fmake_charset): Modify for `make_charset'.
2654         (Fmake_reverse_direction_charset): Likewise.
2655         (complex_vars_of_mule_charset): Likewise.
2656
2657 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2658
2659         * text-coding.c (char_encode_shift_jis): Use table
2660         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2661
2662 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2663
2664         * text-coding.c (text_encode_generic): Use `if' instead of
2665         `switch'.
2666         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2667         decode JIS-Latin.
2668
2669 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2670
2671         * text-coding.c (encode_coding_sjis): Deleted.
2672         (char_encode_shift_jis): New function.
2673         (char_finish_shift_jis): New function.
2674         (reset_encoding_stream): Set up `encode_char' and `finish' for
2675         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2676         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2677         (char_encode_utf8): Treat `eol_type'.
2678
2679 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2680
2681         * file-coding.c (decode_coding_iso2022): Use
2682         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2683
2684 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2685
2686         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2687         to 0.7 (Hirano).
2688
2689 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2690
2691         * char-lb.h (CHAR_COLUMNS): New macro.
2692
2693 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2694
2695         * text-coding.c (char_encode_ucs4): New function.
2696         (char_finish_ucs4): New function.
2697         (encode_coding_ucs4): Deleted.
2698         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2699         (text_encode_generic): Delete local variable `charset' and `half'.
2700         (ucs_to_mule_table): Deleted.
2701         (mule_to_ucs_table): Deleted.
2702         (Fset_ucs_char): Deleted.
2703         (ucs_to_char): Deleted.
2704         (Fucs_char): Deleted.
2705         (Fset_char_ucs): Deleted.
2706         (Fchar_ucs): Deleted.
2707         (decode_ucs4): Deleted.
2708         (mule_char_to_ucs4): Deleted.
2709         (encode_ucs4): Deleted.
2710         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2711         (decode_coding_utf8): Likewise.
2712         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2713         (char_encode_iso2022): Fixed.
2714         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2715         `Fset_char_ucs' and `Fchar_ucs'.
2716         (complex_vars_of_file_coding): Don't initialize
2717         `ucs_to_mule_table'.
2718
2719         * objects-tty.c (tty_initialize_font_instance): Don't use
2720         `XCHARSET_COLUMNS'.
2721
2722         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2723         UTF-2000.
2724
2725         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2726         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2727
2728         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2729         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2730         (emchar_string_displayed_columns): Likewise.
2731
2732         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2733         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2734         (string_column_at_point): Likewise.
2735         (Fmove_to_column): Likewise.
2736
2737         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2738         `encoding_table' and `decoding_table'.
2739         (CHARSET_REP_BYTES): Deleted.
2740         (XCHARSET_REP_BYTES): Deleted.
2741         (XCHARSET_COLUMNS): Deleted.
2742         (CHAR_COLUMNS): New macro.
2743         (lookup_composite_char): Deleted unconditionally.
2744         (composite_char_string): Likewise.
2745
2746 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2747
2748         * char-ucs.h (Emchar_to_byte_table): New type.
2749         (get_byte_from_character_table): New function interface.
2750         (Vcharset_latin_jisx0201): New variable.
2751         (latin_jisx0201_to_ucs): New variable.
2752         (ucs_to_latin_jisx0201): New variable.
2753         (Vcharset_latin_iso8859_2): New variable.
2754         (latin_iso8859_2_to_ucs): New variable.
2755         (ucs_to_latin_iso8859_2): New variable.
2756         (Vcharset_latin_iso8859_3): New variable.
2757         (latin_iso8859_3_to_ucs): New variable.
2758         (ucs_to_latin_iso8859_3): New variable.
2759         (Vcharset_latin_iso8859_4): New variable.
2760         (latin_iso8859_4_to_ucs): New variable.
2761         (ucs_to_latin_iso8859_4): New variable.
2762         (Vcharset_latin_iso8859_9): New variable.
2763         (latin_iso8859_9_to_ucs): New variable.
2764         (ucs_to_latin_iso8859_9): New variable.
2765         (Vcharset_latin_viscii_lower): New variable.
2766         (latin_viscii_lower_to_ucs): New variable.
2767         (ucs_to_latin_viscii_lower): New variable.
2768         (Vcharset_latin_viscii_upper): New variable.
2769         (latin_viscii_upper_to_ucs): New variable.
2770         (ucs_to_latin_viscii_upper): New variable.
2771         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2772         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2773         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2774         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2775         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2776         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2777         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2778         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2779         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2780         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2781
2782         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2783         (Vcharset_latin_viscii_upper): New variable.
2784         (make_byte_from_character_table): New function.
2785         (put_byte_from_character_table): New function.
2786         (get_byte_from_character_table): New function.
2787         (CHAR96): New macro.
2788         (ucs_to_latin_jisx0201): New variable.
2789         (latin_jisx0201_to_ucs): New variable.
2790         (ucs_to_latin_iso8859_2): New variable.
2791         (latin_iso8859_2_to_ucs): New variable.
2792         (ucs_to_latin_iso8859_3): New variable.
2793         (latin_iso8859_3_to_ucs): New variable.
2794         (ucs_to_latin_iso8859_4): New variable.
2795         (latin_iso8859_4_to_ucs): New variable.
2796         (ucs_to_latin_iso8859_9): New variable.
2797         (latin_iso8859_9_to_ucs): New variable.
2798         (ucs_to_latin_viscii_lower): New variable.
2799         (latin_viscii_lower_to_ucs): New variable.
2800         (ucs_to_latin_viscii_upper): New variable.
2801         (latin_viscii_upper_to_ucs): New variable.
2802         (ucs_to_latin_tcvn5712): New variable.
2803         (latin_tcvn5712_to_ucs): New variable.
2804         (Qlatin_viscii_lower): New variable.
2805         (Qlatin_viscii_upper): New variable.
2806         (syms_of_mule_charset): Set up new symbol
2807         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2808         (complex_vars_of_mule_charset): Set up new charset
2809         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2810         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2811         `ucs_to_<CHARSET>' tables.
2812
2813 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2814
2815         * text-coding.c: New file.
2816
2817 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2818
2819         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2820
2821         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2822         (MAKE_CHAR): Modify for `ucs-bmp'.
2823         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2824         non-MULE characters of BMP.
2825
2826 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2827
2828         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2829         to 0.6.
2830
2831 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2832
2833         * lstream.h:
2834         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2835         - Include character.h for `CHAR_ASCII_P'.
2836
2837         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2838
2839         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2840         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2841
2842         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2843         (BYTE_C0_P): Likewise.
2844         (BYTE_C1_P): Likewise.
2845         (Lstream_get_emchar_1): Likewise.
2846         (Lstream_fput_emchar): Likewise.
2847         (Lstream_funget_emchar): Likewise.
2848         (copy_internal_to_external): Likewise.
2849         (copy_external_to_internal): Likewise.
2850
2851         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2852         (BYTE_C0_P): Likewise.
2853         (BYTE_C1_P): Likewise.
2854         (Lstream_get_emchar_1): Likewise.
2855         (Lstream_fput_emchar): Likewise.
2856         (Lstream_funget_emchar): Likewise.
2857         (copy_internal_to_external): Likewise.
2858         (copy_external_to_internal): Likewise.
2859
2860         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2861         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2862
2863         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2864         (BYTE_ASCII_P): Moved to mb-1byte.h.
2865
2866 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2867
2868         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2869
2870         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2871         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2872         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2873         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2874         (VALIDATE_CHARPTR_FORWARD): Likewise.
2875         (simple_charptr_emchar): Moved to mb-multibyte.h.
2876         (simple_set_charptr_emchar): Likewise.
2877         (simple_charptr_copy_char): Likewise.
2878         (non_ascii_charptr_emchar): Likewise.
2879         (non_ascii_set_charptr_emchar): Likewise.
2880         (non_ascii_charptr_copy_char): Likewise.
2881         (charptr_emchar): Moved to mb-*byte.h.
2882         (set_charptr_emchar): Likewise.
2883         (charptr_copy_char): Likewise.
2884
2885         * mb-1byte.h, mb-multibyte.h: New files.
2886
2887 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2888
2889         * mb-utf-8.h (MULTIBYTE): New macro.
2890         (MAX_EMCHAR_LEN): Moved from buffer.h.
2891         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2892
2893         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2894
2895         * mb-lb.h, multibyte.h: New files.
2896
2897         * char-1byte.h (Charset_ID): Moved from buffer.h.
2898         (MIN_LEADING_BYTE): Likewise.
2899         (LEADING_BYTE_ASCII): Likewise.
2900         (NUM_LEADING_BYTES): Likewise.
2901         (CHARSETP): Likewise.
2902         (CHARSET_BY_LEADING_BYTE): Likewise.
2903         (XCHARSET_LEADING_BYTE): Likewise.
2904         (XCHARSET_GRAPHIC): Likewise.
2905         (XCHARSET_COLUMNS): Likewise.
2906         (XCHARSET_DIMENSION): Likewise.
2907         (CHAR_CHARSET): Likewise.
2908         (CHAR_LEADING_BYTE): Likewise.
2909         (BREAKUP_CHAR): Likewise.
2910         (Vcharset_ascii): Likewise.
2911
2912         * buffer.h: Include multibyte.h unconditionally.
2913         (VALID_CHARPTR_P): Moved to multibyte.h.
2914         (ASSERT_VALID_CHARPTR): Likewise.
2915         (REAL_INC_CHARPTR): Likewise.
2916         (REAL_INC_CHARBYTIND): Likewise.
2917         (REAL_DEC_CHARPTR): Likewise.
2918         (INC_CHARPTR): Likewise.
2919         (INC_CHARBYTIND): Likewise.
2920         (DEC_CHARPTR): Likewise.
2921         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2922         (VALIDATE_CHARPTR_FORWARD): Likewise.
2923         (charptr_n_addr): Likewise.
2924         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2925         (simple_charptr_emchar): Moved to multibyte.h.
2926         (simple_set_charptr_emchar): Likewise.
2927         (simple_charptr_copy_char): Likewise.
2928         (non_ascii_charptr_emchar): Likewise.
2929         (non_ascii_set_charptr_emchar): Likewise.
2930         (non_ascii_charptr_copy_char): Likewise.
2931         (charptr_emchar): Likewise.
2932         (set_charptr_emchar): Likewise.
2933         (charptr_copy_char): Likewise.
2934         (charptr_emchar_n): Likewise.
2935         (Charset_ID): Moved to char-1byte.h.
2936         (Vcharset_ascii): Likewise.
2937         (CHAR_CHARSET): Likewise.
2938         (CHAR_LEADING_BYTE): Likewise.
2939         (LEADING_BYTE_ASCII): Likewise.
2940         (NUM_LEADING_BYTES): Likewise.
2941         (MIN_LEADING_BYTE): Likewise.
2942         (CHARSETP): Likewise.
2943         (CHARSET_BY_LEADING_BYTE): Likewise.
2944         (XCHARSET_LEADING_BYTE): Likewise.
2945         (XCHARSET_GRAPHIC): Likewise.
2946         (XCHARSET_COLUMNS): Likewise.
2947         (XCHARSET_DIMENSION): Likewise.
2948         (BREAKUP_CHAR): Likewise.
2949
2950 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2951
2952         * character.h: Add document about interface for characters.
2953
2954         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2955         (MAKE_CHAR): Delete comment about
2956         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2957         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2958         (BREAKUP_CHAR): Modify name of arguments.
2959         (CHAR_CHARSET): Modify name of argument.
2960
2961         * buffer.h: Delete document about Emchar accessors.
2962
2963 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2964
2965         * character.h (CHAR_INTP): Moved from buffer.h
2966         (CHAR_OR_CHAR_INTP): Likewise.
2967         (XCHAR_OR_CHAR_INT): Likewise.
2968         (CHECK_CHAR_COERCE_INT): Likewise.
2969
2970         * buffer.h (CHAR_INTP): Moved to character.h
2971         (CHAR_OR_CHAR_INTP): Likewise.
2972         (XCHAR_OR_CHAR_INT): Likewise.
2973         (CHECK_CHAR_COERCE_INT): Likewise.
2974
2975 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2976
2977         * character.h:
2978         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2979         - Include char-1byte.h, char-lb.h or char-ucs.h.
2980
2981         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2982
2983         * buffer.h: Include character unconditionally.
2984         (valid_char_p): Moved to char-*.h.
2985         (non_ascii_valid_char_p): Moved to char-lb.h.
2986
2987         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2988
2989 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2990
2991         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2992         in UTF-2000 because it is not ported yet and not to use
2993         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2994         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2995         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2996
2997         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2998         (CHAR_ASCII_P): Moved from character.h.
2999
3000         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3001         (CHAR_ASCII_P): Likewise.
3002         (CHAR_FIELD1_MASK): Deleted.
3003         (CHAR_FIELD2_MASK): Deleted.
3004         (CHAR_FIELD3_MASK): Deleted.
3005         (MAX_CHAR_BASIC_LATIN): New macro.
3006         (CHAR_FIELD1): Deleted.
3007         (CHAR_FIELD2_INTERNAL): Deleted.
3008         (CHAR_FIELD3_INTERNAL): Deleted.
3009         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3010         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3011         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3012         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3013         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3014         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3015         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3016         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3017         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3018         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3019         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3020         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3021         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3022         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3023         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3024         (MIN_CHAR_COMPOSITION): Deleted.
3025         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3026         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3027
3028 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3029
3030         * buffer.h: Include mb-utf-8.h in UTF-2000.
3031
3032         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3033
3034         * mb-utf-8.h: New file.
3035
3036 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3037
3038         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3039         instead of `int'.
3040
3041         * mule-charset.h, buffer.h (Charset_ID): New type.
3042
3043 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3044
3045         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3046         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3047         instead of `MULE_CHAR_PRIVATE_OFFSET',
3048         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3049         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3050         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3051
3052         * character.h (Vcharset_japanese_jisx0212): New variable
3053         definition.
3054
3055 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3056
3057         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3058         (charset_by_attributes): Delete array about direction.
3059         (latin_a_char_to_charset): New variable in UTF-2000.
3060         (latin_a_char_to_byte1): New variable in UTF-2000.
3061         (latin_a_char_to_byte2): New variable in UTF-2000.
3062         (Qucs_bmp): New variable.
3063         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3064         `Bufbyte'.
3065         (next_allocated_2_byte_leading_byte): Likewise.
3066         (non_ascii_set_charptr_emchar): Likewise.
3067         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3068         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3069         `charset_by_attributes'.
3070         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3071         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3072         and `CHARSET_BY_LEADING_BYTE'.
3073         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3074         `utf-2000-version' to `vars_of_mule_charset'.
3075         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3076         define `leading-code-private-11' in UTF-2000; move setting of
3077         `utf-2000-version' from `syms_of_mule_charset'.
3078         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3079         UTF-2000.
3080
3081         * character.h (Charset_ID): New type.
3082         (LEADING_BYTE_UCS_BMP): New macro.
3083         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3084         (CHARSET_ID_OFFSET_94): New macro.
3085         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3086         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3087         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3088         final-byte.
3089         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3090         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3091         (CHARSET_ID_OFFSET_96): New macro.
3092         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3093         CHARSET_ID_OFFSET_96 and final-byte.
3094         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3095         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3096         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3097         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3098         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3099         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3100         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3101         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3102         (LEADING_BYTE_THAI_TIS620): Likewise.
3103         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3104         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3105         (CHARSET_ID_OFFSET_94x94): New macro.
3106         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3107         CHARSET_ID_OFFSET_94x94 and final-byte.
3108         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3109         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3110         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3111         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3112         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3113         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3114         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3115         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3116         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3117         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3118         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3119         (CHARSET_TYPE_128X128): New macro.
3120         (CHARSET_TYPE_256X256): New macro.
3121         (XCHARSET_PRIVATE_P): Delete unconditionally.
3122         (charset_by_attributes): Delete array about direction.
3123         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3124         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3125         (MIN_CHAR_94): New macro.
3126         (MAX_CHAR_94): New macro.
3127         (MIN_CHAR_96): New macro.
3128         (MAX_CHAR_96): New macro.
3129         (MIN_CHAR_94x94): New macro.
3130         (MAX_CHAR_94x94): New macro.
3131         (MIN_CHAR_96x96): New macro.
3132         (MAX_CHAR_96x96): New macro.
3133         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3134         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3135         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3136         - 32)'.
3137         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3138         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3139         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3140         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3141         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3142         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3143         `XCHARSET_LEADING_BYTE' to make code-point.
3144         (latin_a_char_to_charset): New variable.
3145         (latin_a_char_to_byte1): New variable.
3146         (latin_a_char_to_byte2): New variable.
3147         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3148         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3149         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3150
3151         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3152         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3153         (find_charsets_in_emchar_string): Likewise.
3154         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3155
3156         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3157         `int'.
3158         (decode_coding_iso2022): Likewise.
3159
3160         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3161         of `unsigned char'.
3162
3163         * redisplay.c (redisplay_text_width_emchar_string): Use
3164         `Charset_ID' instead of `unsigned char'.
3165         (redisplay_frame_text_width_string): Likewise.
3166
3167         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3168         `unsigned char'.
3169
3170         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3171         instead of `unsigned char'.
3172         (face_cachel_charset_font_metric_info): Likewise.
3173
3174         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3175         (get_non_ascii_char_table_value): Likewise.
3176         (get_char_table): Likewise.
3177         (put_char_table): Likewise.
3178         (map_over_other_charset): Likewise.
3179         (map_char_table): Likewise.
3180
3181         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3182         instead of `unsigned char'.
3183
3184 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3185
3186         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3187         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3188
3189         * mule-charset.c (leading_code_private_11): Don't define in
3190         UTF-2000.
3191
3192         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3193         in UTF-2000 because it is not ported yet and not to use
3194         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3195
3196 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3197
3198         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3199
3200 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3201
3202         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3203         in UTF-2000.
3204
3205         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3206         of unsigned char to store leading-byte.
3207
3208         * chartab.c (get_non_ascii_char_table_value): Don't use
3209         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3210
3211         * file-coding.c (encode_coding_big5): Delete bogus implementation
3212         in UTF2000.
3213
3214         * character.h (LEADING_BYTE_*): Delete definition for
3215         non-UTF-2000.
3216         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3217         (LEADING_BYTE_PREFIX_P): Deleted.
3218         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3219         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3220         (BUFBYTE_LEADING_BYTE_P): Deleted.
3221         (CHARSET_PRIVATE_P): Deleted unconditionally.
3222         (rep_bytes_by_first_byte): Deleted unconditionally.
3223         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3224         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3225         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3226         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3227         (CHAR_FIELD2): Deleted.
3228         (CHAR_FIELD3): Deleted.
3229         (MAKE_CHAR): Delete definition for non-UTF-2000.
3230         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3231         (breakup_char_1): New implementation.
3232         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3233         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3234
3235 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3236
3237         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3238         condition.
3239
3240 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3241
3242         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3243         (CHARSET_PRIVATE_P): Likewise.
3244         (XCHARSET_PRIVATE_P): Likewise.
3245         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3246
3247         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3248         UTF2000.
3249         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3250
3251 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3252
3253         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3254         (NUM_LEADING_BYTES): Changed from 128 to 256.
3255         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3256         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3257         UTF2000.
3258         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3259
3260         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3261         UTF2000.
3262         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3263         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3264         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3265         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3266         (Qchinese_cns11643_3): New variable in UTF2000.
3267         (Qchinese_cns11643_4): New variable in UTF2000.
3268         (Qchinese_cns11643_5): New variable in UTF2000.
3269         (Qchinese_cns11643_6): New variable in UTF2000.
3270         (Qchinese_cns11643_7): New variable in UTF2000.
3271         (syms_of_mule_charset): Define `chinese-cns11643-3',
3272         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3273         and `chinese-cns11643-7' in UTF2000.
3274         (vars_of_mule_charset): Initialize
3275         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3276         + 1 in UTF2000.
3277         (complex_vars_of_mule_charset): Setup charset
3278         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3279         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3280
3281 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3282
3283         * mule-charset.c: Move setting for `leading-code-private-11' from
3284         `syms_of_mule_charset' to `vars_of_mule_charset'.
3285
3286 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3287
3288         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3289         and `NUM_LEADING_BYTES' in assert.
3290
3291 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3292
3293         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3294         instead of 128.
3295         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3296         `NUM_LEADING_BYTES' instead of 128.
3297
3298 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3299
3300         * mule-charset.h (charset_by_leading_byte): Use
3301         `NUM_LEADING_BYTES' instead of 128.
3302         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3303
3304         * mule-charset.c (charset_by_leading_byte): Use
3305         `NUM_LEADING_BYTES' instead of 128.
3306         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3307
3308         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3309         128.
3310
3311 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3312
3313         * mule-charset.c (syms_of_mule_charset): Update to
3314         0.4 (Shin-Imamiya).
3315
3316 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3317
3318         * file-coding.c (encode_coding_sjis): New implementation for
3319         UTF2000.  (decode_coding_sjis): Ditto.
3320
3321 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3322
3323         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3324         Don't define in UTF2000.
3325
3326         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3327         defined.
3328
3329         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3330         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3331         MULE.
3332
3333 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3334
3335         * config.h.in (CHAR_IS_UCS4): New macro.
3336
3337         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3338         conventional MULE representation.
3339         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3340
3341         * mule-charset.h: Reverted to original.
3342
3343         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3344         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3345         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3346
3347         * character.h: New file.
3348
3349         * file-coding.c (Fmake_coding_system): Set 1 to
3350         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3351         defined.
3352         (encode_coding_no_conversion): New implementation for UTF2000.
3353
3354         * file-coding.h (struct Lisp_Coding_System): Add new member
3355         `fixed.size'.
3356
3357 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3358
3359         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3360         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3361         (encode_coding_iso2022): New implementation for UTF2000.
3362
3363 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3364
3365         * mule-canna.c (c2mu): New implementation for UTF2000.
3366         (m2c): Likewise.
3367
3368 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3369
3370         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3371
3372 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3373
3374         * file-coding.c (reset_encoding_stream): Set 0 to
3375         `str->iso2022.current_char_boundary' in UTF2000.
3376         (encode_utf8): Don't define in UTF2000.
3377         (encode_coding_utf8): New implementation for UTF-8 representation
3378         of UTF2000.
3379         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3380
3381 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3382
3383         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3384
3385         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3386         UTF2000.
3387         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3388
3389         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3390
3391         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3392         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3393         as UTF-8 in UTF2000.
3394         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3395         (non_ascii_valid_char_p): Don't define in UTF2000.
3396         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3397         (Lstream_get_emchar_1): Likewise.
3398         (utf-2000-version): New variable in UTF2000.
3399
3400         * lread.c (read_escape): Add new reader `u'.
3401
3402         * insdel.c (three_to_one_table): Don't define in UTF2000.
3403         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3404         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3405         UTF2000.
3406         (bytind_to_bufpos_func): Likewise.
3407         (buffer_mule_signal_inserted_region): Likewise.
3408         (vars_of_insdel): Don't initialize `three_to_one_table'.
3409         (init_buffer_text): Use `buf->text->mule_size' instead of
3410         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3411         UTF2000.
3412
3413         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3414         UTF-8 representation in UTF2000.
3415         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3416         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3417         (decode_coding_iso2022): Don't define local variable `lb' in
3418         UTF2000; don't use LEADING_BYTE in UTF2000; use
3419         `DECODE_ADD_UCS_CHAR' in UTF2000.
3420         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3421
3422         * config.h.in (UTF2000): New macro.
3423
3424         * buffer.h (struct buffer_text): Add new member `mule_size' and
3425         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3426         (valid_char_p): Return always 1 in UTF2000.
3427         (MAX_EMCHAR_LEN): 6 in UTF2000.
3428         (three_to_one_table): Don't define in UTF2000.
3429         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3430         UTF2000.
3431         (real_bytind_to_bufpos): Likewise.
3432
3433         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3434
3435 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3436
3437         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3438         representation change.
3439         (Vutf_2000_version): New variable.
3440         (leading_code_private_11): New variable.
3441         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3442         `leading-code-private-11'.
3443
3444         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3445         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3446         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3447         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3448         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3449         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3450         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3451         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3452         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3453         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3454         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3455         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3456         (MIN_CHAR_GREEK): New macro.
3457         (MAX_CHAR_GREEK): New macro.
3458         (MIN_CHAR_CYRILLIC): New macro.
3459         (MAX_CHAR_CYRILLIC): New macro.
3460         (MIN_CHAR_HEBREW): New macro.
3461         (MAX_CHAR_HEBREW): New macro.
3462         (MIN_CHAR_THAI): New macro.
3463         (MAX_CHAR_THAI): New macro.
3464         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3465         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3466         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3467         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3468         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3469         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3470         (CHAR_FIELD2): New inline function.
3471         (CHAR_FIELD3): New inline function.
3472         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3473         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3474         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3475         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3476         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3477         (MIN_CHAR_COMPOSITION): Likewise.
3478         (CHAR_LEADING_BYTE): Modified for character representation change.
3479         (MAKE_CHAR): Likewise.
3480
3481         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3482         (Vcharset_greek_iso8859_7): Likewise.
3483         (Vcharset_cyrillic_iso8859_5): Likewise.
3484         (Vcharset_hebrew_iso8859_8): Likewise.
3485         (Vcharset_thai_tis620): Likewise.
3486         (Vcharset_katakana_jisx0201): Likewise.
3487
3488 2001-01-26  Martin Buchholz <martin@xemacs.org>
3489
3490         * XEmacs 21.2.43 "Terspichore" is released.
3491
3492 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3493
3494         Type fiddling for window_config.saved_windows_count
3495         * window.c (struct window_config): 
3496         Make saved_windows_count member unsigned.
3497         * window.c (sizeof_window_config_for_n_windows): 
3498         Make parameter unsigned.
3499         * window.c (mark_window_config):
3500         * window.c (window_config_equal):
3501         * window.c (free_window_configuration):
3502         * window.c (Fset_window_configuration):
3503         * window.c (count_windows):
3504         * window.c (Fcurrent_window_configuration):
3505         * window.c (reinit_vars_of_window):
3506         Update all callers and users.
3507
3508 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3509
3510         Alignment correctness for flexible arrays.
3511         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3512         Make alignment-correct. Add interesting comments.
3513         * alloc.c (size_vector):
3514         * alloc.c (make_vector_internal):
3515         * alloc.c (make_bit_vector_internal):
3516         * alloc.c (sweep_bit_vectors_1):
3517         * fns.c (size_bit_vector):
3518         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3519         * window.c (sizeof_window_config_for_n_windows): 
3520         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3521
3522 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3523
3524         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3525
3526 2001-01-23  Andy Piper  <andy@xemacs.org>
3527
3528         * select.c (Fown_selection_internal): pass owned_p
3529
3530         * select-msw.c (mswindows_own_selection): New Signature.
3531
3532         * console.h (struct console_methods): add owned_p to
3533         _own_selection.
3534
3535         * select-x.c (x_own_selection): pass owned_p
3536         (hack_motif_clipboard_selection): use owned_p
3537         (vars_of_select_x): new variable -
3538         x_selection_strict_motif_ownership.
3539
3540 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3541
3542         * specifier.h (specifier_data_offset): Remove pointless parens.
3543         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3544
3545 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3546
3547         Make Lisp_Object sizeof methods be alignment-correct.
3548         pdump must restore objects to the same alignment as the C compiler
3549         assumes.  It really matters on SGIs.
3550         * lstream.c (aligned_sizeof_lstream): New.
3551         (sizeof_lstream): Use aligned_sizeof_lstream.
3552         (Lstream_new): Likewise.
3553         * opaque.c (aligned_sizeof_opaque): New.
3554         (sizeof_opaque): Use aligned_sizeof_opaque.
3555         (make_opaque): Likewise.
3556         * specifier.c (aligned_sizeof_specifier): New.
3557         (sizeof_specifier): Use aligned_sizeof_specifier.
3558         (make_specifier_internal): Likewise.
3559
3560 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3561
3562         * lstream.h (struct lstream): Use max_align_t for trailing data.
3563         * specifier.h (struct Lisp_Specifier): Likewise.
3564
3565 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3566
3567         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3568         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3569         (CCL_SUSPEND): Likewise.
3570         (CCL_INVALID_CMD): Likewise.
3571         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3572         (ccl_driver): Likewise.
3573         (CCL_WRITE_CHAR): Macro hygiene.
3574         (CCL_WRITE_STRING): Macro hygiene.
3575
3576 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3577
3578         Port "portable" dumper to SunOS 4 and HP-UX.
3579         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3580         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3581         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3582
3583 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3584
3585         * lisp.h (ALIGNOF): A better definition for C++.
3586
3587 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3588
3589         Macro hygiene.
3590         Fix printf warnings: int format, long int arg.
3591         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3592         (PUSH_FAILURE_POINT): Use correct printf formats.
3593         (POP_FAILURE_POINT): Use correct printf formats.  
3594         Use do {...} while (0)
3595
3596 2001-01-20  Martin Buchholz <martin@xemacs.org>
3597
3598         * XEmacs 21.2.42 "Poseidon" is released.
3599
3600 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3601
3602         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3603
3604 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3605
3606         De-kludgify FIXED_TYPE free list frobbing.
3607         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3608         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3609         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3610         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3611         * alloc.c (LRECORD_FREE_P): New.
3612         * alloc.c (MARK_LRECORD_AS_FREE): New.
3613         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3614         * alloc.c (STRUCT_FREE_P): Deleted.
3615         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3616         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3617         * alloc.c (STRING_CHARS_FREE_P): New.
3618         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3619         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3620         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3621         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3622         * alloc.c (resize_string): Use new definitions.
3623         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3624         * alloc.c (verify_string_chars_integrity): Use new definitions.
3625         * alloc.c (compact_string_chars): Use new definitions.
3626         * alloc.c: Update monster comments.
3627         * lrecord.h (lrecord_type): Add some new lrecord types for
3628         alloc.c's use.
3629
3630 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3631
3632         Improve alignment hackery.
3633         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3634         (max_align_t): Moved from opaque.h - general purpose.
3635         (ALIGN_PTR): Use size_t, not long.
3636         * opaque.h (max_align_t): Move to lisp.h.
3637
3638 2001-01-18  Norbert Koch  <nk@LF.net>
3639
3640         * gui.h: Fix and add prototypes to fix build problems.
3641
3642 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3643
3644         temacs is going away, so `dump-temacs' is now a bad name.
3645         * .dbxrc (dump-temacs): Rename to `dmp'.
3646         * .gdbinit (dump-temacs): Rename to `dmp'.
3647
3648 2001-01-17  Andy Piper  <andy@xemacs.org>
3649
3650         * glyphs.c (print_image_instance): comment to make martin happy.
3651
3652         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3653         change.
3654
3655         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3656         activation.
3657         (mswindows_tab_control_redisplay): warning suppression.
3658
3659         * glyphs-widget.c (widget_update): re-write to cope with updated
3660         items.
3661         (widget_instantiate): use new gui_item functions.
3662         (tab_control_update): deleted.
3663         (progress_gauge_update): deleted.
3664         (image_instantiator_progress_guage): take out update reference.
3665         (image_instantiator_tree_view): ditto.
3666         (image_instantiator_tab_control): ditto.
3667
3668         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3669         Right the new way.
3670         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3671         return whether anything was changed.
3672         (update_gui_item_keywords): as it sounds.
3673
3674         * gui.h: declare widget_gui_parse_item_keywords.
3675
3676         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3677         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3678
3679 2001-01-17  Martin Buchholz <martin@xemacs.org>
3680
3681         * XEmacs 21.2.41 "Polyhymnia" is released.
3682
3683 2001-01-16  Didier Verna  <didier@xemacs.org>
3684
3685         * glyphs.c (image_instantiate): don't use fallbacks when
3686         instantiating a face's background pixmap by inheritance.
3687
3688 2001-01-14  Mike Sperber <mike@xemacs.org>
3689
3690         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3691         Conditionalize accordingly.
3692
3693 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3694
3695         * dumper.c (pdump_file_get): Fix a compiler warning.
3696
3697 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3698
3699         Make Purify happy when pdumping.
3700         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3701         iniitalizing all bits of new lisp object memory.
3702         * symbols.c (Fmake_local_variable): Likewise.
3703         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3704         * symbols.c (Fdefvaralias): Likewise.
3705         * mule-charset.c (vars_of_mule_charset): Likewise.
3706
3707 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3708         Add the `-nd' flag when running pre-dump operations under the debugger.
3709         * .dbxrc (run-temacs): Add `-nd'.
3710         * .dbxrc (update-elc): Likewise.
3711         * .dbxrc (dump-temacs): Likewise.
3712         * .gdbinit (run-temacs): Likewise.
3713         * .gdbinit (check-temacs): Likewise.
3714         * .gdbinit (update-elc): Likewise.
3715         * .gdbinit (dump-temacs): Likewise.
3716
3717 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3718
3719         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3720         export OBJECT_MODE=64
3721         configure --pdump --use-union-type=no
3722         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3723         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3724
3725         * miscplay.c (sndcnv8U_2mono):
3726         Avoid two uses of `++' in the same expression.
3727         Suppresses a GCC warning.
3728
3729 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3730
3731         Make sure future compilers don't miscompile alloc.c.
3732         * alloc.c:
3733         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3734         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3735
3736 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3737
3738         * dumper.c: A little post-pdump-rename comment fixup.
3739
3740 2001-01-09  Jerry James  <james@eecs.ku.edu>
3741
3742         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3743
3744 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3745
3746         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3747         script:
3748         #!/bin/sh
3749         replace_symbol () {
3750           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3751         }
3752
3753         replace_symbol pdump_wire_lists pdump_weak_object_chains
3754         replace_symbol pdump_wire_list dump_add_weak_object_chain
3755
3756         replace_symbol pdump_wires pdump_root_objects
3757         replace_symbol pdump_wire dump_add_root_object
3758
3759         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3760         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3761
3762         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3763         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3764         replace_symbol dumpstructinfo pdump_root_struct_ptr
3765         replace_symbol dumpstruct dump_add_root_struct_ptr
3766
3767         replace_symbol dumpopaque dump_add_opaque
3768         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3769         replace_symbol dumpopaqueinfos pdump_opaques
3770         replace_symbol dumpopaqueinfo pdump_opaque
3771
3772         replace_symbol nb_structdump nb_root_struct_ptrs
3773         replace_symbol nb_opaquedump nb_opaques
3774
3775         replace_symbol align_table pdump_align_table
3776         replace_symbol dump_header pdump_header
3777
3778         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3779         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3780
3781
3782 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3783
3784         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3785         optimizing bytecount_to_charcount().
3786
3787 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3788
3789         * config.h.in:
3790         (HAVE_DLFCN_H): Removed.
3791         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3792
3793 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3794
3795         Portable dumper maintainability improvements.
3796         * alloc.c (staticpro):
3797         * alloc.c (staticpro_nodump):
3798         * alloc.c (garbage_collect_1):
3799         * alloc.c (reinit_alloc_once_early):
3800         * alloc.c (init_alloc_once_early):
3801         * alloc.c: Move dumper functions to alloc.c.
3802         * dumper.c (pdump_backtrace):
3803         * dumper.c (pdump_dump_structs):
3804         * dumper.c (pdump_dump_opaques):
3805         * dumper.c (pdump_dump_rtables):
3806         * dumper.c (pdump_dump_wired):
3807         * dumper.c (pdump):
3808         * dumper.c (pdump_load_check):
3809         * dumper.c (pdump_load_finish):
3810         * dumper.c (pdump_file_unmap):
3811         * dumper.c (pdump_file_get):
3812         * dumper.c (pdump_resource_free):
3813         * dumper.c (pdump_resource_get):
3814         * dumper.c (pdump_file_free):
3815         * dumper.c (pdump_file_try):
3816         * dumper.c (pdump_load):
3817         Remove fixed size limits on staticpro(), staticpro_nodump(),
3818         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3819         Remove custom code for dumping lrecord_implementations_table - use
3820         dumpopaque instead.
3821         Remove (most of the) custom code for dumping staticpros - dump it
3822         like any other dynarr.
3823
3824         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3825         * dumper.c: Moved functions from alloc.c.
3826         * alloc.c (dumpstruct): Moved to dumper.c.
3827         * alloc.c (dumpopaque): Likewise.
3828         * alloc.c (pdump_wire): Likewise.
3829         * alloc.c (pdump_wire_list): Likewise.
3830
3831         * lisp.h (Dynarr_sizeof): New.
3832         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3833         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3834         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3835
3836         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3837         * lisp.h (dumpopaque): ditto.
3838         * lisp.h (pdump_wire): ditto.
3839         * lisp.h (pdump_wire_list): ditto.
3840
3841 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3842
3843         * make-src-depend (PrintPatternDeps):
3844         Use `sort' to make output independent of perl version.
3845
3846 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3847
3848         Port to Netbsd 1.5.
3849         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3850         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3851
3852 2001-01-03  Didier Verna  <didier@xemacs.org>
3853
3854         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3855         that `focus_frame' is alive before thinking of calling
3856         `redisplay_redraw_cursor' on it.
3857
3858 2001-01-08  Martin Buchholz <martin@xemacs.org>
3859
3860         * XEmacs 21.2.40 is released.
3861
3862 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3863
3864         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3865
3866 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3867
3868         * alloc.c (dbg_valmask): Make const.
3869         * alloc.c (dbg_typemask): Make const.
3870         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3871         * alloc.c (dbg_valbits): Make const.
3872         * alloc.c (dbg_gctypebits): Make const.
3873
3874 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3875
3876         * redisplay-x.c (x_bevel_area):
3877         redisplay.h (struct rune):
3878         Typo fixes in comments.
3879
3880 2001-01-05  Andy Piper  <andy@xemacs.org>
3881
3882         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3883         adjustment.
3884
3885         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3886
3887 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3888
3889         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3890
3891         * mule-ccl.c (stack_idx_of_map_multiple):
3892         Non const global data must not be initialized!
3893         Found by MIYASHITA Hisashi.
3894
3895 2001-01-02  Andy Piper  <andy@xemacs.org>
3896
3897         * frame.c (change_frame_size): make sure frame size is always
3898         marked as changed.
3899
3900         * glyphs.c (image_instance_layout): minor code reuse.
3901
3902         * window.c (Fcurrent_window_configuration): revert previous
3903         change.
3904
3905 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3906
3907         * glyphs.h:
3908         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3909
3910 2000-12-31  Andy Piper  <andy@xemacs.org>
3911
3912         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3913         when widget gets unmapped.
3914
3915         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3916         function. Make sure widgets losing focus don't just drop it.
3917         (handle_focus_event_1): record the widget with focus.
3918
3919 2000-12-31  Andy Piper  <andy@xemacs.org>
3920
3921         * window.c (allocate_window): use
3922         make_image_instance_cache_hash_table.
3923         (make_dummy_parent): ditto.
3924         (Fset_window_configuration): ditto.
3925
3926         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3927
3928         * glyphs.c (process_image_string_instantiator): use
3929         INSTANTIATOR_TYPE.
3930         (get_image_instantiator_governing_domain): ditto.
3931         (normalize_image_instantiator): ditto.
3932         (instantiate_image_instantiator): ditto.
3933         (make_image_instance_1): ditto.
3934         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3935         (instantiator_eq_equal): new function for use with instance hash
3936         tables.
3937         (instantiator_eq_hash): ditto.
3938         (make_image_instance_cache_hash_table): create a suitable hash
3939         table for storing image instances.
3940
3941         * elhash.h (hash_table_weakness): new internal weakness type
3942         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3943         declare new functions.
3944
3945         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3946         another weakness type for glyphs.
3947         (make_standard_lisp_hash_table): new function split out from
3948         make_general_lisp_hash_table.
3949         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3950         (hash_table_instantiate): ditto.
3951         (Fmake_hash_table): ditto.
3952
3953 2000-12-31  Martin Buchholz <martin@xemacs.org>
3954
3955         * XEmacs 21.2.39 is released.
3956
3957 2000-12-29  Andy Piper  <andy@xemacs.org>
3958
3959         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3960
3961         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3962         the frame has changed so that we pick up geometry changes such as
3963         menubar visibility.
3964
3965 2000-12-28  Andy Piper  <andy@xemacs.org>
3966
3967         * lastfile.c (my_ebss): make a char array so we can pad the
3968         bss. Fixes cygwin unexec.
3969
3970         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3971
3972 2000-12-26  Andy Piper  <andy@xemacs.org>
3973
3974         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3975         comments and try and be more precise about a non-/SIGIO world.
3976         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3977         SIGIO.
3978
3979         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3980         we don't normalize to zero width or height.
3981
3982 2000-12-24  Andy Piper  <andy@xemacs.org>
3983
3984         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3985
3986 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3987
3988         * s/sco5.h: SCO 5 has pty support.
3989
3990 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3991
3992         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3993         input-method-xlib.c contains whole contents of input-method-xfs.c,
3994         so we can use input-method-xlib.c's code for USE_XFONTSET
3995         using #ifdefs.
3996         * input-method-xfs.c: removed.
3997
3998 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3999
4000         * file-coding.h (enum coding_category_type): reorder enumerators to
4001         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4002         (now one greater than largest real coding_category_type enumerator).
4003         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4004         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4005         Fcoding_category_list, Fset_coding_priority_list,
4006         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4007         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4008
4009 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4010
4011         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4012         * redisplay-output.c (redisplay_output_window): Clear top of window
4013         when face is changed.
4014         * redisplay-x.c (x_redraw_exposed_window): Call
4015         redisplay_clear_top_of_window.
4016         * redisplay.h: Publish redisplay_clear_top_of_window.
4017
4018 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4019
4020         * buffer.c (Fkill_buffer): Map over all devices.
4021         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4022         (list_windows): New function.
4023         (list_all_windows): Ditto.
4024         (Freplace_buffer_in_windows): Use them.
4025
4026 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4027
4028         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4029         (Fopen_database): Use `db_create' instead of `db_open'.
4030         (syms_of_database): Initialize Qqueue.
4031
4032 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4033
4034         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4035         buffer_local_face_property.
4036         * buffer.h (struct buffer): New member buffer_local_face_property.
4037         * window.c (Fset_window_buffer):  Mark window's face as changed
4038         when buffer has buffer local face.
4039         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4040         * objects.c (color_after_change): Set buffer_local_face_property
4041         when locale of face specifier is buffer.
4042         * objects.c (font_after_change): Ditto.
4043         * objects.c (face_boolean_after_change): Ditto.
4044         * glyphs.c (image_after_change): Ditto.
4045
4046 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4047
4048         * nt.c (mswindows_fstat): Report file permissions, volume serial
4049         number, etc. Code adapted from FSF Emacs 20.7.
4050
4051 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4052
4053         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4054         of stat when we don't have symbolic links, to make sure
4055         mswindows_stat is called on mswindows.
4056
4057 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4058
4059         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4060
4061 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4062
4063         * doprnt.c (emacs_doprnt_1): More printing fixes.
4064         Make printing of numbers compatible with libc and FSF Emacs.
4065         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4066         Use the system printf to do most of the hard work of formatting,
4067         instead of doprnt_1().
4068         Calculate memory to allocate for format string.
4069         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4070         (doprnt_1): Cleaner code and documentation.
4071
4072 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4073
4074         * Makefile.in.in: Use the loop variable to install headers.
4075
4076 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4077
4078         * window.c (Fsplit_window): Don't invalidate face cache.
4079
4080 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4081
4082         * minibuf.c (Fall_completions): Undo the previous change
4083         which removed checking elements start with space.
4084
4085 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4086
4087         * mule-canna.c: Didier suppression.
4088
4089 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4090
4091         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4092         (warning suppression).  Add English comment translations.
4093
4094 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4095
4096         * unexelfsgi.c (unexec): Better test for mmap failure.
4097
4098 2000-12-05  Martin Buchholz <martin@xemacs.org>
4099
4100         * XEmacs 21.2.38 is released.
4101
4102 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4103
4104         * redisplay.c (bar-cursor): Make a user variable.
4105
4106         * symsinit.h: Add init_postgresql_from_environment.
4107
4108 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4109
4110         * regex.c: Convert to clean C.
4111
4112 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4113
4114         * realpath.c:
4115         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4116         initialization.
4117         (sys_readlink): renamed to system_readlink to avoid conflict with
4118         the other sys_readlink.
4119
4120 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4121
4122         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4123
4124 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4125
4126         * postgresql.c (init_postgresql_from_environment): new function.
4127         (vars_of_postgresql): Move code initializing Lisp variables out and
4128         into init_postgresql_from_environment.
4129         emacs.c (main_1): Call init_postgresql_from_environment if and only
4130         if running a dumped XEmacs.
4131
4132 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4133
4134         * buffer.c: Make find-file-compare-truenames default to true on
4135         windows.
4136
4137         * realpath.c (win32_abs_start):
4138         (cygwin_readlink):
4139         (win32_readlink): New functions.
4140         (xrealpath): Return really real filenames on windows.
4141
4142         * fileio.c (Ffile_truename): Make file-truename work on windows.
4143
4144 2000-11-29  Didier Verna  <didier@xemacs.org>
4145
4146         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4147         * faces.c (update_face_cachel_data): use it.
4148         * faces.c (add_face_cachel): use it. Complete background pixmap
4149         frobbing in face cache if `update_face_cachel_data' has not done so.
4150
4151 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4152
4153         * search.c (string_match_1): Don't set last_thing_searched
4154         when search failed.
4155
4156 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4157
4158         * buffer.c: Include casetab.h
4159         (common_init_complex_vars_of_buffer): Use new case-table object.
4160         * buffer.h: Include casetab.h
4161         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4162         (DOWNCASE_TABLE_OF): Ditto.
4163         * bufslots.h: Remove char-tables and add case-table.
4164         * casetab.c: Include casetab.h
4165         (CASE_TABLE_P): Removed.
4166         (mark_case_table): New function.
4167         (allocate_case_table): New function.
4168         (Fcase_table_p): Use new case-table.
4169         (case_table_char): New function.
4170         (Fget_case_table): Ditto.
4171         (Fput_case_table): Ditto.
4172         (Fput_case_table_pair): Ditto.
4173         (Fcopy_case_table): Ditto.
4174         (Fcurrent_case_table): Return case-table.
4175         (Fstandard_case_table): Return case-table.
4176         (Fset_case_table): Fix doc-string.
4177         (set_case_table): Use case-table
4178         (syms_of_casetab): DEFSUBR new functions.
4179         (complex_vars_of_casetab): Set up standard case-table.
4180         * casetab.h: New file.
4181         * editfns.c: Include casetab.h
4182         (Fcompare_buffer_substrings): Use case-table.
4183         * inline.c: Include casetab.h
4184         * lisp.h: Remove bogus extern.
4185         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4186         * search.c: Include casetab.h
4187         (TRANSLATE_ASCII): Removed.
4188         (TRANSLATE): Unconditionally translate character.
4189         (looking_at_1): Use case-table.
4190         (string_match_1): Ditto.
4191         (fast_string_match): Ditto.
4192         (search_command): Ditto.
4193         (search_buffer): Separate boyer_moore.  Check whether
4194         boyer_moore is possible.
4195         (simple_search): New function.
4196         (boyer_moore): Separated from search_buffer. Translate char.
4197
4198 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4199
4200         * regex.c (RE_TR_ASCII): Removed.
4201         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4202         (PATFETCH): Call PATFETCH_RAW.
4203         (PATFETCH_RAW): Fetch Emchar.
4204         (PATUNFETCH): Decrement charptr.
4205         (GET_BUFFER_SPACE): Rename b to buf_end.
4206         (BUF_PUSH): Ditto.
4207         (BUF_PUSH_2): Ditto.
4208         (BUF_PUSH_3): Ditto.
4209         (EXTEND_BUFFER): Ditto.
4210         (SET_LIST_BIT): Ditto.
4211         (regex_compile): Ditto.  Translate non ASCII char.
4212         (compile_range): Ditto.
4213         (re_search_2): Ditto.
4214         (re_match_2_internal): Compare Emchar.
4215         (bcmp_translate): Ditto.
4216
4217 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4218
4219         * lisp.h (basic char/int typedefs):  comment improvement.
4220
4221 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4222
4223         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4224         unstomp inhibit_site_lisp.  Improve comments.
4225
4226 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4227
4228         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4229
4230 2000-11-28  Andy Piper  <andy@xemacs.org>
4231
4232         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4233         clipped display for windows in the gutter also.
4234         (redisplay_display_boxes_in_window_p): change semantics of return
4235         codes to be more intuitive.
4236
4237         * gutter.h: declare display_boxes_in_gutter_p.
4238
4239         * gutter.c (display_boxes_in_gutter_p): new function for
4240         redisplay.
4241
4242 2000-11-22  Andy Piper  <andy@xemacs.org>
4243
4244         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4245         autodetect domain.
4246
4247 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4248
4249         * callproc.c (Fold_call_process_internal):
4250         * gpm.c (Freceive_gpm_event):
4251         (tty_get_foreign_selection): Might be just warning supression.
4252         * fileio.c (Fwrite_region_internal):
4253         (Fset_visited_file_modtime):
4254         * keymap.c (event_matches_key_specifier_p):
4255         Initialize GCPROed variable.
4256
4257         * menubar-x.c (command_builder_find_menu_accelerator):
4258         Initialize before use.
4259
4260 2000-11-23  Andy Piper  <andy@xemacs.org>
4261
4262         * unexcw.c (unexec): make the resulting executable executable.
4263
4264 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4265
4266         * doc.c (get_doc_string):
4267         Use size_t, not int, for result of XSTRING_LENGTH.
4268
4269         * cmds.c (Fdelete_char):
4270         * cmds.c (Fpoint_at_eol):
4271         * cmds.c (Fself_insert_command):
4272         Use EMACS_INT, not int, for result of XINT.
4273         Someday, someone will want to insert more than 2**31 identical characters.
4274
4275         * cmds.c (Fdelete_char):
4276         * cmds.c (Fdelete_backward_char):
4277         * syntax.c (Fforward_word):
4278         * syntax.c (Fforward_comment):
4279         Make COUNT argument optional, for consistency with forward-char et al.
4280
4281 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4282
4283         * lisp.h:
4284         * print.c (long_to_string):
4285         Return a useful value: the pointer at end of data written.
4286
4287         * doprnt.c:
4288         Use `static const char * const' for constant strings.
4289         (union printf_arg): Delete `i', `ui' members.
4290         (get_doprnt_args):
4291         (emacs_doprnt_1):
4292         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4293         Do all printf-ing via the `l' specifier.
4294         Use EMACS_INT instead of int.
4295         Optimize.
4296
4297 2000-11-20  Didier Verna  <didier@xemacs.org>
4298
4299         * faces.c (update_face_cachel_data): don't frob the background
4300         pixmap when the window is being created. The face is needed but
4301         does not exist yet.
4302
4303 2000-11-20  Andy Piper  <andy@xemacs.org>
4304
4305         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4306         messing with a debug environment.
4307
4308 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4309
4310         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4311
4312 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4313
4314         * casetab.c (Fcase_table_p): Fix compile error and crash.
4315
4316 2000-11-18  Philip Aston  <philipa@mail.com>
4317
4318         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4319
4320 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4321
4322         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4323         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4324
4325 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4326
4327         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4328         * unexelf.c: Use HAVE_ELF_H.
4329         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4330         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4331         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4332         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4333         for testing.
4334         So this is an unexelfsgi.c from a different line of development.
4335
4336 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4337
4338         * regex.c (RE_TR_ASCII): New function.
4339         (RE_TRANSLATE): Call it.
4340
4341 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4342
4343         * buffer.h (TRT_TABLE_OF): Remove assert.
4344         (IN_TRT_TABLE_DOMAIN): Removed.
4345
4346 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4347
4348         * free-hook.c (log_gcpro):
4349         (show_gcprohist): Add support for GCPRO5.
4350
4351 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4352
4353         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4354
4355 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4356
4357         * symeval.h: Declare flush_all_buffer_local_cache.
4358
4359         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4360         (flush_buffer_local_cache): Added.
4361         (flush_all_buffer_local_cache): Added.
4362
4363         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4364
4365         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4366         (pdump_dump_data): Ditto.
4367         (pdump_reloc_one): Ditto.
4368         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4369         before dumping.
4370
4371
4372 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4373
4374         * buffer.c: Remove if 0'ed entry.
4375         * buffer.h: Rewrite TRT to use char-table.
4376         * bufslots.h: Remove mirror tables.
4377         * casetab.c: Remove mirror tables.
4378         (CASE_TABLE_P): New macro.
4379         (Fcase_table_p): Element of a case table is string or char-table.
4380         (make_mirror_trt_table): Removed.
4381         (set_case_table): Setup char-table from strings for backward
4382         compatibility.
4383         * dired.c (Fdirectory_files):
4384         * dired-msw.c: (mswindows_get_files):
4385         * lisp.h: Change prototype of re_pattern_buffer.
4386         * regex.c: (RE_TRANSLATE): New macro.
4387         (TRANSLATE_P): Ditto.
4388         Change translate to type RE_TRANSLATE_TYPE.
4389         * regex.h: Define RE_TRANSLATE_TYPE
4390         * search.c (TRANSLATE): New macro.
4391         (TRANSLATE_ASCII): New macro.
4392         Translate table is changed to Lisp_Object.
4393         (signal_failure): Inhibit return.
4394
4395 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4396
4397         * device-msw.c:
4398         * eldap.c:
4399         * event-Xt.c:
4400         * event-stream.c:
4401         * print.c:
4402         Do UNGCPRO before return.
4403
4404 2000-11-14  Martin Buchholz <martin@xemacs.org>
4405
4406         * XEmacs 21.2.37 is released.
4407
4408 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4409
4410         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4411         Add comments about discarded return value.
4412
4413 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4414
4415         * callint.c:
4416         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4417
4418 2000-10-27  Andy Piper  <andy@xemacs.org>
4419
4420         * gutter.c (Fset_default_gutter_position): default left and right
4421         gutters to visible.
4422         (calculate_gutter_size): calculate resonable heuristic for left
4423         and right gutter sizes.
4424         (specifier_vars_of_gutter): change left and right gutter sizes to
4425         autodetect.
4426         (calculate_gutter_size_from_display_lines): new function.
4427         (output_gutter): check for resizing on left and right gutters.
4428         (clear_gutter): don't special case top and left gutters.
4429         (specifier_vars_of_gutter): use new signature for
4430         set_specifier_caching.
4431
4432         * glyphs-x.c (x_redisplay_widget): spelling fix.
4433         * glyphs.c (specifier_vars_of_glyphs):
4434         * menubar.c (specifier_vars_of_menubar):
4435         * redisplay.c (specifier_vars_of_redisplay):
4436         * toolbar.c (specifier_vars_of_toolbar):
4437         * window.c (specifier_vars_of_window):
4438         * scrollbar.c (specifier_vars_of_scrollbar):
4439         (complex_vars_of_scrollbar): use new signature for
4440         set_specifier_caching.
4441
4442         * specifier.c (set_specifier_caching): include recompute flag.
4443         (recompute_one_cached_specifier_in_window): always recompute if
4444         flag set.
4445         (recompute_one_cached_specifier_in_frame): ditto.
4446
4447         * specifier.h (struct specifier_caching): add recompute flag.
4448
4449 2000-10-24  Andy Piper  <andy@xemacs.org>
4450
4451         * unexcw.c (copy_executable_and_dump_data_section): add new
4452         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4453         5.0 happy.
4454
4455 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4456
4457         * console-x.h (x_device): New member modifier_release_time.
4458         * event-Xt.c (x_handle_sticky_modifiers):
4459         Bound interval modifier keys are sticky.
4460         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4461         * events.h: extern it.
4462
4463 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4464
4465         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4466
4467 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4468
4469         * event-stream.c (execute_command_event): Preserve current_events
4470         and the like when event is misc-user-event.
4471         Inhibit quit during the call to maybe_echo_keys.
4472
4473 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4474
4475         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4476         symlink when buffer is killed.
4477         (inhibit_clash_detection): New variable.
4478
4479 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4480
4481         * console.c (Fset_input_method): Trigger redisplay on tty.
4482
4483 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4484
4485         * process.c (Fprocess_status): Revert to previous behavior:
4486         (process-status "nosuchprocess") ==> nil
4487
4488 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4489
4490         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4491         Work around another GCC 2.95.2 optimizer bug.
4492
4493 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4494
4495         * process.c (Fget_process): Use LIST_LOOP_2.
4496         (kill_buffer_processes): Use LIST_LOOP_2.
4497
4498         * minibuf.c (Fall_completions):
4499         Delete old non-functional code for FSF fourth argument.
4500
4501         * frame.c (frame_matches_frame_spec):
4502         Renamed from `frame_matches_frametype'.  Update all callers.
4503         (device_matches_device_spec):
4504         Renamed from 'device_matches_console_spec'.  Update all callers.
4505
4506         * doc.c (Fsubstitute_command_keys):
4507         Remove buffer overflow crash.  Small code cleanups.
4508
4509         * casetab.c (check_case_table): Simpler code.
4510
4511         * window.c (Freplace_buffer_in_windows):
4512         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4513         (and similar implementation) as Fdelete_windows_on.
4514         Update all callers.
4515
4516         * alloc.c (Fmake_list):
4517         * alloc.c (make_vector):
4518         * alloc.c (Fmake_vector):
4519         * alloc.c (make_bit_vector):
4520         * alloc.c (Fmake_bit_vector):
4521         * alloc.c (Fbit_vector):
4522         * alloc.c (Fmake_string):
4523         * alloc.c (Fpurecopy):
4524         * alloc.c (Fmemory_limit):
4525         * buffer.c:
4526         * buffer.c (Fget_buffer):
4527         * buffer.c (Fkill_buffer):
4528         * buffer.c (complex_vars_of_buffer):
4529         * bytecode.c (Fcompiled_function_stack_depth):
4530         * callint.c (Fprefix_numeric_value):
4531         * event-stream.c:
4532         * event-stream.c (Fread_key_sequence):
4533         * casetab.c:
4534         * casetab.c (Fcase_table_p):
4535         * casetab.c (check_case_table):
4536         * casetab.c (Fset_case_table):
4537         * casetab.c (Fset_standard_case_table):
4538         * chartab.c:
4539         * chartab.c (Fchar_table_type):
4540         * chartab.c (Freset_char_table):
4541         * chartab.c (Fget_char_table):
4542         * chartab.c (Fget_range_char_table):
4543         * chartab.c (Fput_char_table):
4544         * chartab.c (Fmap_char_table):
4545         * chartab.c (Fcategory_table_p):
4546         * chartab.c (Fcheck_category_at):
4547         * chartab.c (Fchar_in_category_p):
4548         * chartab.c (Fcategory_table):
4549         * chartab.c (Fcopy_category_table):
4550         * chartab.c (Fset_category_table):
4551         * chartab.c (Fcategory_designator_p):
4552         * chartab.c (Fcategory_table_value_p):
4553         * cmds.c (Fdelete_char):
4554         * cmds.c (Fdelete_backward_char):
4555         * cmds.c (Fself_insert_command):
4556         * cmds.c (Fself_insert_internal):
4557         * console.c (Fvalid_console_type_p):
4558         * console.c (Fcdfw_console):
4559         * console.c (Fconsole_type):
4560         * console.c (Fconsole_name):
4561         * console.c (Fconsole_device_list):
4562         * console.c (Fconsole_on_window_system_p):
4563         * data.c:
4564         * data.c (Feq):
4565         * data.c (Fold_eq):
4566         * data.c (Fsubr_interactive):
4567         * data.c (Fchar_to_int):
4568         * data.c (Fint_to_char):
4569         * data.c (Fsetcar):
4570         * data.c (Fsetcdr):
4571         * data.c (Fnumber_to_string):
4572         * data.c (Fstring_to_number):
4573         * data.c (Frem):
4574         * database.c (mark_database):
4575         * database.c (finalize_database):
4576         * database.c (Fdatabase_live_p):
4577         * database.c (Fdatabasep):
4578         * device-x.c (Fx_get_resource):
4579         * device.c (Fdfw_device):
4580         * dired.c:
4581         * dired.c (Ffile_name_completion):
4582         * dired.c (Ffile_name_all_completions):
4583         * dired.c (Fuser_name_completion):
4584         * dired.c (Fuser_name_completion_1):
4585         * dired.c (Fuser_name_all_completions):
4586         * doc.c (Fdocumentation):
4587         * doc.c (Fdocumentation_property):
4588         * doc.c (Fsubstitute_command_keys):
4589         * editfns.c:
4590         * editfns.c (Fchar_to_string):
4591         * editfns.c (Fstring_to_char):
4592         * editfns.c (Ftemp_directory):
4593         * editfns.c (Finsert_char):
4594         * editfns.c (Fbuffer_substring_no_properties):
4595         * editfns.c (Fnarrow_to_region):
4596         * editfns.c (Fchar_equal):
4597         * editfns.c (Fchar_Equal):
4598         * editfns.c (Ftranspose_regions):
4599         * emacs.c (Fdump_emacs):
4600         * eval.c (Fthrow):
4601         * eval.c (Fcommand_execute):
4602         * eval.c (Fautoload):
4603         * eval.c (Fbacktrace):
4604         * eval.c (Fbacktrace_frame):
4605         * events.c:
4606         * events.c (Fcopy_event):
4607         * events.c (Fcharacter_to_event):
4608         * events.c (Fevent_button):
4609         * events.c (Fevent_process):
4610         * extents.c:
4611         * extents.c (Fnext_extent_change):
4612         * extents.c (Fextent_property):
4613         * faces.c (Ffacep):
4614         * faces.c (Fmake_face):
4615         * file-coding.c:
4616         * file-coding.c (Fencode_shift_jis_char):
4617         * file-coding.c (Fencode_big5_char):
4618         * fileio.c (Ffile_name_directory):
4619         * fileio.c (Ffile_name_nondirectory):
4620         * fileio.c (Ffile_name_as_directory):
4621         * fileio.c (Fdirectory_file_name):
4622         * fileio.c (Ffile_truename):
4623         * fileio.c (Fsubstitute_in_file_name):
4624         * fileio.c (Ffile_modes):
4625         * fileio.c (Fset_file_modes):
4626         * fileio.c (Fset_default_file_modes):
4627         * fileio.c (Fverify_visited_file_modtime):
4628         * floatfns.c (Facos):
4629         * floatfns.c (Fasin):
4630         * floatfns.c (Fatan):
4631         * floatfns.c (Fcos):
4632         * floatfns.c (Fsin):
4633         * floatfns.c (Ftan):
4634         * floatfns.c (Fbessel_j0):
4635         * floatfns.c (Fbessel_j1):
4636         * floatfns.c (Fbessel_jn):
4637         * floatfns.c (Fbessel_y0):
4638         * floatfns.c (Fbessel_y1):
4639         * floatfns.c (Fbessel_yn):
4640         * floatfns.c (Ferf):
4641         * floatfns.c (Ferfc):
4642         * floatfns.c (Flog_gamma):
4643         * floatfns.c (Fexp):
4644         * floatfns.c (Fexpt):
4645         * floatfns.c (Flog):
4646         * floatfns.c (Flog10):
4647         * floatfns.c (Fsqrt):
4648         * floatfns.c (Fcube_root):
4649         * floatfns.c (Facosh):
4650         * floatfns.c (Fasinh):
4651         * floatfns.c (Fatanh):
4652         * floatfns.c (Fcosh):
4653         * floatfns.c (Fsinh):
4654         * floatfns.c (Ftanh):
4655         * floatfns.c (Fabs):
4656         * floatfns.c (Ffloat):
4657         * floatfns.c (Flogb):
4658         * floatfns.c (Fceiling):
4659         * floatfns.c (Ffloor):
4660         * floatfns.c (Fround):
4661         * floatfns.c (Ftruncate):
4662         * floatfns.c (Ffceiling):
4663         * floatfns.c (Fffloor):
4664         * floatfns.c (Ffround):
4665         * floatfns.c (Fftruncate):
4666         * fns.c (Fstring_equal):
4667         * fns.c (Fstring_lessp):
4668         * fns.c (concat2):
4669         * fns.c (concat3):
4670         * fns.c (vconcat2):
4671         * fns.c (vconcat3):
4672         * fns.c (Fsubstring):
4673         * fns.c (Fassoc):
4674         * fns.c (Fold_assoc):
4675         * fns.c (assoc_no_quit):
4676         * fns.c (Fassq):
4677         * fns.c (Fold_assq):
4678         * fns.c (assq_no_quit):
4679         * fns.c (Frassoc):
4680         * fns.c (Fold_rassoc):
4681         * fns.c (Frassq):
4682         * fns.c (Fold_rassq):
4683         * fns.c (rassq_no_quit):
4684         * fns.c (Fremassoc):
4685         * fns.c (remassoc_no_quit):
4686         * fns.c (Fremassq):
4687         * fns.c (remassq_no_quit):
4688         * fns.c (Fremrassoc):
4689         * fns.c (Fremrassq):
4690         * fns.c (remrassq_no_quit):
4691         * fns.c (Fsort):
4692         * fns.c (Fplist_get):
4693         * fns.c (Fplist_put):
4694         * fns.c (Fplist_remprop):
4695         * fns.c (Fplist_member):
4696         * fns.c (Flax_plist_get):
4697         * fns.c (Flax_plist_put):
4698         * fns.c (Flax_plist_remprop):
4699         * fns.c (Flax_plist_member):
4700         * fns.c (Fequal):
4701         * fns.c (Fold_equal):
4702         * fns.c (Frequire):
4703         * fns.c (Fbase64_encode_region):
4704         * fns.c (Fbase64_encode_string):
4705         * fns.c (Fbase64_decode_region):
4706         * frame.c:
4707         * frame.c (frame_matches_frame_spec):
4708         * frame.c (device_matches_device_spec):
4709         * frame.c (next_frame):
4710         * frame.c (previous_frame):
4711         * frame.c (Fnext_frame):
4712         * frame.c (Fprevious_frame):
4713         * frame.c (Fframe_property):
4714         * frame.c (Fset_frame_height):
4715         * frame.c (Fset_frame_size):
4716         * frame.h:
4717         * glyphs.c:
4718         * glyphs.c (if):
4719         * glyphs.c (decode_error_behavior_flag):
4720         * glyphs.c (Fmake_image_instance):
4721         * indent.c (Findent_to):
4722         * intl.c (Fignore_defer_gettext):
4723         * keymap.c (Fkeymapp):
4724         * keymap.c (Flookup_key):
4725         * lread.c:
4726         * lread.c (Fload_internal):
4727         * lread.c (Feval_buffer):
4728         * lread.c (Feval_region):
4729         * macros.c (Fexecute_kbd_macro):
4730         * marker.c (set_marker_internal):
4731         * marker.c (Fset_marker):
4732         * marker.c (set_marker_restricted):
4733         * marker.c (Fcopy_marker):
4734         * marker.c (noseeum_copy_marker):
4735         * menubar.c:
4736         * menubar.c (Fpopup_menu):
4737         * minibuf.c:
4738         * mule-charset.c (Fcharset_name):
4739         * mule-charset.c (Fchar_charset):
4740         * mule-charset.c (Fchar_octet):
4741         * mule-charset.c (Fsplit_char):
4742         * mule-wnnfns.c (Fwnn_open):
4743         * mule-wnnfns.c (Fwnn_dict_comment):
4744         * mule-wnnfns.c (Fwnn_quit_henkan):
4745         * mule-wnnfns.c (Fwnn_word_toroku):
4746         * mule-wnnfns.c (Fwnn_word_sakujo):
4747         * mule-wnnfns.c (Fwnn_word_use):
4748         * mule-wnnfns.c (Fwnn_hindo_set):
4749         * objects.c:
4750         * objects.c (Fmake_color_instance):
4751         * objects.c (Fmake_font_instance):
4752         * print.c (Fwrite_char):
4753         * process.c:
4754         * process.c (mark_process):
4755         * process.c (print_process):
4756         * process.c (get_process_from_usid):
4757         * process.c (Fprocessp):
4758         * process.c (Fprocess_live_p):
4759         * process.c (Fget_process):
4760         * process.c (Fget_buffer_process):
4761         * process.c (get_process):
4762         * process.c (Fprocess_id):
4763         * process.c (Fprocess_name):
4764         * process.c (Fprocess_command):
4765         * process.c (init_process_io_handles):
4766         * process.c (start_process_unwind):
4767         * process.c (Fstart_process_internal):
4768         * process.c (Fopen_multicast_group_internal):
4769         * process.c (Fset_process_window_size):
4770         * process.c (read_process_output):
4771         * process.c (send_process):
4772         * process.c (Fprocess_tty_name):
4773         * process.c (Fset_process_buffer):
4774         * process.c (Fprocess_buffer):
4775         * process.c (Fprocess_mark):
4776         * process.c (set_process_filter):
4777         * process.c (Fset_process_filter):
4778         * process.c (Fprocess_filter):
4779         * process.c (Fprocess_send_region):
4780         * process.c (Fprocess_send_string):
4781         * process.c (exec_sentinel):
4782         * process.c (Fset_process_sentinel):
4783         * process.c (Fprocess_sentinel):
4784         * process.c (status_notify):
4785         * process.c (Fprocess_status):
4786         * process.c (Fprocess_exit_status):
4787         * process.c (process_send_signal):
4788         * process.c (Fprocess_send_eof):
4789         * process.c (deactivate_process):
4790         * process.c (remove_process):
4791         * process.c (Fdelete_process):
4792         * process.c (kill_buffer_processes):
4793         * process.c (Fprocess_kill_without_query):
4794         * process.c (Fprocess_kill_without_query_p):
4795         * rangetab.c:
4796         * rangetab.c (Fget_range_table):
4797         * rangetab.c (Fput_range_table):
4798         * rangetab.c (Fremove_range_table):
4799         * rangetab.c (Fclear_range_table):
4800         * search.c:
4801         * search.c (Fskip_chars_forward):
4802         * search.c (Fskip_chars_backward):
4803         * search.c (Fskip_syntax_forward):
4804         * search.c (Fskip_syntax_backward):
4805         * search.c (search_command):
4806         * search.c (Freplace_match):
4807         * search.c (Fregexp_quote):
4808         * select.c (Fown_selection_internal):
4809         * select.c (Fselection_owner_p):
4810         * select.c (Fselection_exists_p):
4811         * select.c (Fget_selection_internal):
4812         * specifier.c:
4813         * symbols.c:
4814         * symbols.c (Fintern):
4815         * symbols.c (Fintern_soft):
4816         * symbols.c (Funintern):
4817         * symbols.c (Fapropos_internal):
4818         * symbols.c (Fset_default):
4819         * syntax.c:
4820         * syntax.c (Fsyntax_table_p):
4821         * syntax.c (Fcopy_syntax_table):
4822         * syntax.c (Fset_syntax_table):
4823         * syntax.c (Fchar_syntax):
4824         * syntax.c (syntax_match):
4825         * syntax.c (Fmatching_paren):
4826         * syntax.c (Fforward_word):
4827         * syntax.c (scan_lists):
4828         * syntax.c (Fscan_lists):
4829         * syntax.c (Fscan_sexps):
4830         * syntax.c (Fparse_partial_sexp):
4831         * toolbar.c (Fcheck_toolbar_button_syntax):
4832         * tooltalk.doc:
4833         * window.c:
4834         * window.c (Fwindowp):
4835         * window.c (Fwindow_live_p):
4836         * window.c (Fwindow_point):
4837         * window.c (Fdelete_window):
4838         * window.c (Fnext_window):
4839         * window.c (Fprevious_window):
4840         * window.c (Fother_window):
4841         * window.c (window_loop):
4842         * window.c (Fget_lru_window):
4843         * window.c (Fsplit_window):
4844         * window.c (Fenlarge_window):
4845         * window.c (Fenlarge_window_pixels):
4846         * window.c (Fshrink_window):
4847         * window.c (Fshrink_window_pixels):
4848         * window.c (change_window_height):
4849         * window.c (Fwindow_configuration_p):
4850         * window.c (Fcurrent_window_configuration):
4851         * window.h:
4852         * casefiddle.c (casify_object):
4853         * casefiddle.c (Fupcase):
4854         * casefiddle.c (Fdowncase):
4855         * casefiddle.c (Fcapitalize):
4856         * casefiddle.c (Fupcase_initials):
4857         * casefiddle.c (casify_region_internal):
4858         * casefiddle.c (casify_region):
4859         * casefiddle.c (Fupcase_region):
4860         * casefiddle.c (Fdowncase_region):
4861         * casefiddle.c (Fcapitalize_region):
4862         * casefiddle.c (Fupcase_initials_region):
4863         * casefiddle.c (Fupcase_word):
4864         * casefiddle.c (Fdowncase_word):
4865         * casefiddle.c (Fcapitalize_word):
4866         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4867         Replace 0 with '\0' when working with bytes.
4868         Replace initial "(" with "\(" in docstrings.
4869
4870 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4871
4872         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4873
4874         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4875
4876 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4877
4878         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4879
4880 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4881
4882         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4883         correctly.
4884
4885 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4886
4887         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4888         (inhibit_auto_save_session): New variable.
4889         (vars_of_fileio): Declare and initialize them.
4890         * fileio.c (Fdo_auto_save): Don't create session file if
4891         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4892
4893 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4894
4895         * sgiplay.c (play_internal): C++ compilability.
4896         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4897         * callproc.c (Fold_call_process_internal):
4898         Remove unused vars `env', `first'.
4899         * scrollbar.c (update_scrollbar_instance):
4900         #### unused var `current_window'.
4901         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4902         etc. within #ifdef NOT_YET.
4903         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4904         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4905         * specifier.c (specifier_instance):
4906         #### unused var `tag'.
4907         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4908
4909 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4910
4911         * fns.c (Fbutlast):
4912         * fns.c (list_sort):
4913         * fns.c (Ffillarray):
4914         * fns.c (bytecode_nconc2):
4915         * fns.c (Fnconc):
4916         * fns.c (mapcar1):
4917         * fns.c (Fmapconcat):
4918         Be pedantically 64-bit correct.  For the time when someone will
4919         want to have a list with length > 2**32.
4920
4921         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4922         Work around MIPSpro compiler bug.
4923
4924         * process-unix.c (unix_kill_child_process): Add snarky comment.
4925         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4926
4927         * config.h.in: Oops, _getpt ==> _getpty
4928
4929 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4930
4931         * config.h.in:
4932         * regex.c:
4933         Use void*, not char*, as return type of alloca().
4934
4935         * alloc.c (free_marker): Side effect inside assert expression!
4936
4937 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4938
4939         * mule-charset.c (Fset_charset_ccl_program): To check
4940         if the given ccl program is valid, use setup_ccl_program()
4941         instead of CHECK_VECTOR().
4942         (Fmake_charset): Likewise.
4943
4944 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4945
4946         * faces.c (get_extent_fragment_face_cache_index):
4947         Fix cachel.merged_faces memory leak.
4948
4949 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4950
4951         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4952         Reset MSB of octets obtained by DECODE_SJIS
4953         because of the incompatibility with Emacs.
4954         (ccl_driver)<CCL_ENCODE_SJIS>:
4955         Set MSB of octets before passing them to
4956         ENCODE_SJIS because of the incompatibility
4957         with Emacs.
4958
4959 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4960
4961         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4962         (DECLARE_LRECORD): Undo the last change.
4963         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4964
4965 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4966
4967         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4968         the implementation to lrecord_implementations_table.
4969
4970 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4971
4972         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4973         initial value of `lrecord_type_##c_name' and
4974         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4975         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4976         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4977         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4978         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4979
4980 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4981
4982         * miscplay.c (sndcnv8S_2mono):
4983         (sndcnv2monounsigned):
4984         (sndcnvULaw_2linear):
4985         (sndcnv16swap):
4986         Remove implementation-defined behavior.
4987
4988 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4989
4990         * input-method-xlib.c: Warning suppression.
4991
4992 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4993
4994         * mule-ccl.c: Sync up with Emacs 21.0.90.
4995         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4996         Do nothing.
4997         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4998         Likewise.
4999         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5000         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5001         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5002         leading char belongs to official 2-dimensional charset.
5003         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5004         write the given character as is.  Otherwise,
5005         if it is a multibyte char, convert it by
5006         non_ascii_set_charptr_emchar, then write it.
5007         (CCL_WRITE_STRING): Likewise.
5008         (ccl_get_compiled_code): New function.
5009         (setup_ccl_program): When ccl_prog is invalid,
5010         return -1.
5011         (Fregister_code_conversion_map): New function.
5012         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5013
5014         * mule-ccl.h: Sync up with Emacs 21.0.90.
5015         (Fregister_ccl_program): export it.
5016
5017         * redisplay-msw.c (separate_textual_runs):
5018         If ccl program is not valid, don't do ccl conversion.
5019
5020         * redisplay-x.c (separate_textual_runs): Ditto.
5021
5022         * file-coding.c (Fmake_coding_system):
5023         When type is ccl and value is vector, register it
5024         with a proper symbol.  And checks whether the
5025         given ccl program is valid.
5026         (mule_decode): When calling ccl_driver, if src indicates
5027         NULL pointer, set an empty string instead.
5028         (mule_encode): Likewise.
5029
5030 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5031
5032         The following large batch of changes gets us back to a state of
5033         C++ compilability.  Extbyte is now a char, which means that
5034         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5035
5036         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5037
5038         * sound.c (Fplay_sound): Type correctness.
5039
5040         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5041         (x_get_window_property): Type correctness.
5042         (receive_incremental_selection): unsigned char ==> Extbyte
5043         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5044         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5045         (Fx_store_cutbuffer_internal): Type correctness.
5046
5047         * process-unix.c (try_to_initialize_subtty): Type correctness.
5048
5049         * objects-x.c (x_print_color_instance): Type correctness.
5050         (x_print_font_instance): Type correctness.
5051         (x_list_fonts): SExtbyte ==> Extbyte.
5052         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5053         (x_find_charset_font): SExtbyte ==> Extbyte.
5054         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5055         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5056         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5057         Use bufbyte_strcmp.
5058
5059         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5060         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5061         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5062         (BYTE_C0_P): Use bit ops for char-signedness safety.
5063         (BYTE_C1_P): Use bit ops for char-signedness safety.
5064         (CHARSET_BY_LEADING_BYTE):
5065         (CHARSET_BY_ATTRIBUTES):
5066         Always use inline function.
5067         Use type_checking_assert.
5068         Hide chlook.
5069
5070         * mule-charset.c (non_ascii_charptr_copy_char):
5071         Modify to work with both ASCII and non-ASCII characters.
5072         Improve docs and variable names.
5073         Replace over-clever fall-through switch with a simple loop.
5074         (Lstream_get_emchar_1):
5075         Replace over-clever fall-through switch with a simple loop.
5076
5077         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5078         Warning suppression.
5079
5080         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5081         the return value of Lstream_getc, which could be EOF as well.
5082
5083         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5084
5085         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5086         APIs can be used on Extbytes without casts.  Risky!
5087         (SExtbyte): Remove.
5088         (UExtbyte): Remove.
5089
5090         * input-method-xlib.c (XIM_init_device):
5091         Use Xlib.h instead of IntrinsicP.h.
5092         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5093         which will break in X11R7.
5094         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5095         to call XRegisterIMInstantiateCallback with correct types.
5096
5097         * gui-x.c (button_item_to_widget_value): Type correctness.
5098
5099         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5100
5101         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5102         (xbm_instantiate_1): Type correctness.
5103         (BUILD_GLYPH_INST):  Type correctness.
5104
5105         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5106
5107         * file-coding.c:
5108         (decode_coding_sjis):
5109         (decode_coding_big5):
5110         (decode_coding_ucs4):
5111         (decode_coding_utf8):
5112         (decode_coding_iso2022):
5113         (decode_coding_no_conversion):
5114         Make all decoding functions take an Extbyte * arg.
5115         (encode_coding_sjis):
5116         (encode_coding_big5):
5117         (encode_coding_ucs4):
5118         (encode_coding_utf8):
5119         (encode_coding_iso2022):
5120         (encode_coding_no_conversion):
5121         Make all encoding functions take a Bufbyte * arg.
5122         Use size_t instead of unsigned int for memory sizes.
5123         Only cast to unsigned char whenever dereferencing Extbyte *.
5124
5125         * doc.c (unparesseuxify_doc_string): Type correctness.
5126
5127         * console-x.c (split_up_display_spec):
5128         Rewrite without using details of internal string representation.
5129         (x_semi_canonicalize_device_connection): Type correctness.
5130
5131         * config.h.in:
5132         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5133         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5134         (HAVE_XFREE386): Removed.
5135
5136         * buffer.h (DEC_CHARPTR): `const' correctness.
5137         (bufbyte_strcmp): New.
5138         (bufbyte_memcmp): New.
5139
5140         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5141
5142         * buffer.h (XCHAR_OR_CHAR_INT):
5143         Always use inline function.
5144         Remove redundant type checking assert() - XINT will abort quite nicely.
5145
5146 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5147
5148         * search.c (Freplace_match): Set newtext to an empty string.
5149
5150 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5151
5152         * s/decosf1-3.h: Remove #include of stropts.h
5153         * s/ptx.h: Remove #include of stropts.h
5154         * s/usg5-4.h: Remove #include of stropts.h
5155         * sysproc.h:
5156         * config.h.in:
5157         Use stropts.h, not sys/stropts.h.
5158         Use strtio.h, not sys/strtio.h.
5159
5160 2000-10-04  Martin Buchholz <martin@xemacs.org>
5161
5162         * XEmacs 21.2.36 is released.
5163
5164 2000-09-21  Andy Piper  <andy@xemacs.org>
5165
5166         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5167         changes still involve copying the widget tree.
5168         (update_widget_face): make sure a change is register in the widget
5169         tree. Call update_tab_widget_face appropriately.
5170         (update_tab_widget_face): ditto.
5171         (x_tab_control_redisplay): make sure non-structural changes still
5172         involve copying the widget tree.
5173
5174 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5175
5176         * lread.c (locate_file): Check the path element is non-nil.
5177
5178 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5179
5180         * lisp.h: Warning suppression for SCO compilers.
5181
5182         * redisplay-tty.c (reset_tty_modes): Fix crash.
5183         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5184
5185 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5186
5187         Big signal/process handling overhaul.  Bugs fixed:
5188         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5189         M-x comint-kill-subjob should work for both values nil and t of
5190         process-connection-type. It was broken on most platforms.
5191         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5192         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5193         * process-unix.c: Signal/Process handling overhaul.
5194         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5195         (allocate_pty): Use all available modern methods of allocating
5196         ptys, falling back to old style BSD allocation as a last resort.
5197         Use allegedly more secure Unix98 pty allocation by default.
5198         (allocate_pty_the_old_fashioned_way): New. the last resort.
5199         (unix_create_process): Push ptem, ldterm, ttcompat where
5200         available.  Autoconfiscate.
5201         (try_to_initialize_subtty): New.
5202         (unix_kill_child_process): Proper signal handling for ptys on most
5203         platforms, using special knowledge of AIX, BSD, etc...
5204         (unix_create_process): Always disconnect_controlling_terminal() for
5205         subprocesses, whether using ptys or not.
5206         * process.h: Remove old getpt-dependent PTY code.
5207         * process.c (Fprocess_send_signal): New, obvious generic function.
5208         (decode_signal): New.
5209         (Finterrupt_process):
5210         (Fkill_process):
5211         (Fquit_process):
5212         (Fstop_process):
5213         (Fcontinue_process):
5214         (Fsignal_process): Use decode_signal.
5215         (process_send_signal):
5216         Many docstring corrections.
5217         Allow any signal to be sent to a process object.
5218         * config.h.in: Add symbols for big signal/process overhaul.
5219         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5220         * sysproc.h: Include process-related headers, where available:
5221         sys/stropts.h sys/strtio.h pty.h libutil.h
5222         * s/irix4-0.h:
5223         * s/irix5-0.h:
5224         * s/cygwin32.h:
5225         * s/gnu.h:
5226         * s/linux.h:
5227         * s/hpux.h:
5228         * s/aix3-1.h:
5229         Remove old S&M pty stuff.
5230         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5231         * systty.h: Simplify cpp hackery, improve comments.
5232         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5233
5234         * editfns.c (Fformat_time_string):
5235         Be a little more paranoid with the return value of ctime.
5236
5237         * fileio.c (check_executable):
5238         (check_writable):
5239         Use symbolic constants X_OK, W_OK.
5240
5241         * console-x.c (split_up_display_spec): Fix a warning.
5242
5243 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5244
5245         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5246         * ntproc.c (sys_spawnve): make_string ==> build_string
5247         Small clarity improvements.
5248
5249 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5250
5251         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5252
5253         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5254
5255         * config.h.in (HAVE_STRCASECMP): Remove.
5256
5257 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5258
5259         * redisplay-output.c (redisplay_output_pixmap):
5260         Cleaner and possibly more 64-bit correct code.
5261
5262 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5263
5264         * dumper.c (pdump_load_finish): move restoration of
5265         `noninteractive1' to emacs.c (main_1).
5266         * emacs.c (main_1): protect LISP-visible command-line flags
5267         from pdump_load().
5268
5269 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5270
5271         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5272         DUMP_TARGET instead of literal program names.
5273
5274 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5275
5276         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5277
5278 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5279
5280         * *: Spelling mega-patch
5281
5282 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5283
5284         * fns.c (bad_bad_turtle):
5285         Delete "Eek!" comment, since we fixed the bug to which it refers.
5286
5287 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5288
5289         * alloca.c: Replace REGISTER with register.
5290
5291 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5292
5293         * file-coding.c (ucs_to_char): Use countof.
5294
5295 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5296
5297         * file-coding.c: (ucs_to_char):
5298         (complex_vars_of_file_coding):
5299         Use countof instead of sizeof.
5300         Use CHECK_NATNUM instead of CHECK_INT.
5301
5302         * sysdep.c (strcasecmp): Remove.
5303         * device-x.c (ascii_strcasecmp): New.
5304         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5305         Avoid using non-standard non-portable strcasecmp.
5306
5307 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5308
5309         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5310         * font-lock.c: remove reference to emacsfns.h.
5311         * search.c: small doc improvement.
5312         * event-Xt.c: correct file names in comments.
5313         * console-x.h Correct file names in comments.
5314         * frame.c: Correct file names in comments.
5315         * event-stream.c: remove Energize from comments.
5316
5317 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5318
5319         * symeval.h (DEFERROR_STANDARD):
5320         (DEFERROR):
5321         (DEFSYMBOL):
5322         (DEFSYMBOL_NO_DUMP):
5323         (DEFSYMBOL_MULTIWORD_PREDICATE):
5324         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5325         (DEFKEYWORD):
5326         The construct &##name is not sensible C.
5327         Fixes compilation errors with Unixware native compiler.
5328
5329 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5330
5331         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5332         (next_frame_internal): Removed.  We now just have next_frame.
5333         (next_frame):
5334         Write a simpler and cleaner one-pass algorithm.
5335         Remove called_from_delete_device arg and #ifdefed-out code.
5336         (previous_frame):
5337         Renamed from prev_frame.  Update callers.
5338         Cleaned up to have an analogous implementation to next_frame.
5339         (other_visible_frames_internal): Remove the
5340         called_from_delete_device bogus arg, and hence, remove this
5341         function.  Just use other_visible_frames().
5342
5343         * window.c (Fnext_window):
5344         Prettify docstring.
5345         Since next_frame() is guaranteed to return a frame, remove check
5346         for nil inserted in previous patch.
5347         (Fprevious_window):
5348         Prettify docstring.
5349         Make code look more like Fnext_window.
5350         (window_loop):
5351         Respect the `console' arg when iterating through windows.
5352         Fixes bug: (get-buffer-window buffer t device) not respecting
5353         the `device' arg.
5354         This function needs more work, as others have pointed out.
5355
5356         * frame.h: Rename prev_frame to previous_frame.
5357         device_matches_console_spec no longer takes a `frame' arg.
5358
5359         * s/gnu.h:
5360         * s/linux.h:
5361         * s/hpux.h:
5362         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5363         From "Golubev I. N." <gin@mo.msk.ru>.
5364
5365         * make-src-depend: Fix typo.
5366
5367 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5368
5369         * window.c (Fnext_window):
5370         next_frame() might return nil, not a frame.
5371         Fixes this crash:
5372         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5373
5374         * frame.c (next_frame_internal):
5375         We've passed a frame if we've passed its device.
5376         Fixes this crash:
5377         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5378 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5379
5380 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5381
5382         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5383         Allow option to suppress accelerators in menu/dialog items.
5384         (populate_or_checksum_helper): Pass dialog title through above.
5385
5386 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5387
5388         * event-msw.c (mswindows_key_to_emacs_keysym):
5389         Add "pause" key, fix "menu" key.
5390
5391 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5392
5393         * eval.c (reinit_vars_of_eval):
5394         Increase max_lisp_eval_depth to 1000,
5395         required for thai-xtis.el to byte-compile under some circumstances.
5396
5397 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5398
5399         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5400         From Kenichi Handa.
5401
5402 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5403
5404         * make-src-depend: Make the generated Makefiles smaller.
5405
5406         * s/hpux.h (SETUP_SLAVE_PTY):
5407         Provide a %d in the format string for the errno argument.
5408
5409         * editfns.c (Ftemp_directory):
5410         Warning fix.
5411         Avoid buffer overrun on very long file name.
5412
5413         * input-method-xlib.c (XIM_init_device):
5414         6th parameter of XRegisterIMInstantiateCallback has different
5415         pointer types on different OSes, so simply cast to (void *).
5416
5417         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5418
5419         * sysdll.c (dll_open):
5420         shl_load will hang hard if passed a NULL filename.
5421         Simply return NULL for compatibility with dlopen.
5422         * sysdll.c: Conform to XEmacs coding standards.
5423
5424         * sysdep.c (get_pty_max_bytes):
5425         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5426
5427 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5428
5429         * tooltalk.c: Add #include <syssignal.h>
5430
5431 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5432
5433         * s/hpux.h: Don't use undefined function sigunblock().
5434
5435 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5436
5437         * config.h.in: Add HAVE_BALLOON_HELP.
5438         * emacs.c: Use HAVE_BALLOON_HELP.
5439         * Makefile.in.in (x_objs):
5440         Make Balloon Help conditional on finding shape.h.
5441
5442 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5443
5444         * syntax.c (regex_emacs_buffer_p): New variable.
5445         * syntax.h (regex_emacs_buffer_p): extern.
5446         * search.c (looking_at_1):
5447         (string_match_1):
5448         (fast_string_match):
5449         (search_buffer): Set regex_emacs_buffer_p.
5450         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5451         when before_dot, at_dot, after_dot.
5452
5453 2000-08-23  Andy Piper  <andy@xemacs.org>
5454
5455         * gui-x.c (popup_selection_callback): Only set action_occurred
5456         when we really have an image instance.
5457         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5458
5459 2000-08-23  Andy Piper  <andy@xemacs.org>
5460
5461         * gui-msw.c (mswindows_handle_gui_wm_command): set
5462         action_occurred.
5463         * gui-x.c (popup_selection_callback): ditto.
5464
5465         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5466         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5467         (struct Lisp_Image_Instance): add action_occurred flag.
5468
5469         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5470         (image_instance_changed): ditto.
5471         (reset_frame_subwindow_instance_cache): only unmap windows - do
5472         not remove them from the cache also.
5473
5474         * glyphs-widget.c (tab_control_update): better debug.
5475         (progress_gauge_update): ditto.
5476         (layout_update): ditto.
5477         (layout_instantiate): ditto.
5478         (tab_control_order_only_changed): cope with null pending items.
5479
5480         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5481         debug. Force selection of an item when an action occurred. Cope
5482         with null pending_items.
5483         (mswindows_progress_gauge_redisplay): better debug.
5484         * glyphs-x.c (x_tab_control_redisplay): ditto.
5485
5486         * redisplay.c (redisplay_frame): reset the frame cache if the
5487         frame is garbaged.
5488
5489         * window.c (Fset_window_configuration): potentially re-enable
5490         frame cache reset.
5491         (window_unmap_subwindows): need to finalize instances here since
5492         it is only used in mark_window_as_deleted.
5493
5494 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5495
5496         * nas.c (SndOpenDataForReading):
5497         nas.c (WaveOpenDataForReading):
5498         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5499         Somehow escaped from the 2000-08-14 patch.
5500
5501 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5502
5503         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5504         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5505
5506 2000-08-21  Andy Piper  <andy@xemacs.org>
5507
5508         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5509         window if it is not already displayed.
5510
5511         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5512         it is not already displayed.
5513
5514         * window.c (Fset_window_configuration): don't reset the frame
5515         cache.
5516
5517         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5518         instances from the frame cache if we are actually finalizing them.
5519         (reset_frame_subwindow_instance_cache): reset frame cache only
5520         after unmapping everything.
5521         (map_subwindow): set displayed flag after mapping.
5522
5523 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5524
5525         * data.c (indirect_function):
5526         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5527
5528         * eval.c (function_argcount):
5529         Use original function when signaling errors.
5530
5531 2000-08-18  Andy Piper  <andy@xemacs.org>
5532
5533         * frame.c (delete_frame_internal): use new
5534         free_frame_subwindow_instances name.
5535
5536         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5537         (add_tab_item): make return type correct.
5538         (mswindows_tab_control_instantiate): assert index of tab.
5539         (mswindows_tab_control_redisplay): Re-code to use
5540         gui_item_equal_sans_selected and gui_item_list_find_selected.
5541
5542         * glyphs-widget.c (tab_control_update): Correct comment.
5543
5544         * window.c (window_unmap_subwindows): use new
5545         unmap_subwindow_instance_cache_mapper.
5546         (window_unmap_subwindows_cache_mapper): deleted.
5547         (Fset_window_configuration): comparisons should now be with
5548         EQ. Preserve the subwindow instance cache across configuration
5549         changes.
5550         (allocate_window): ditto.
5551         (make_dummy_parent): ditto.
5552
5553         * glyphs.c (free_frame_subwindow_instances): rename from
5554         free_frame_subwindow_instance_cache. finalize all instances rather
5555         than just those in the display cache.
5556         (finalize_all_subwindow_instances): walk windows unmapping and
5557         finalizing subwindows.
5558         (unmap_subwindow_instance_cache_mapper): moved from
5559         window.c. Allow finalization as well as unmapping.
5560
5561         * gui.c (gui_item_list_find_selected): new function.
5562
5563         * gui.h (gui_item_list_find_selected): declare.
5564
5565         * glyphs-x.c (x_tab_control_redisplay): pick tab
5566         explicitly. Re-code to use gui_item_equal_sans_selected and
5567         gui_item_list_find_selected.
5568
5569         * glyphs-x.h: add lwlib-utils.h
5570
5571         * buffer.c (Frecord_buffer): undo previous change.
5572
5573 2000-08-09  Vin Shelton  <acs@xemacs.org>
5574
5575         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5576         possible.  Create temporary files more securely.  The patch was
5577         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5578         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5579         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5580         for details.
5581
5582 2000-08-07  Ben Wing  <ben@xemacs.org>
5583
5584         * getloadavg.c: remove duplicate (and windows-breaking)
5585         includes of fcntl.h and sys/file.h.
5586
5587         * nt.c: remove duplicate getloadavg() definition.
5588
5589         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5590         encodings.
5591
5592 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5593
5594         * eval.c (function_argcount): If function needs to be autoloaded
5595         actually use the loaded definition.
5596         GCPRO function.
5597
5598 2000-08-05  Ben Wing  <ben@xemacs.org>
5599
5600         * getloadavg.c: add prototype for getloadavg().  remove
5601         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5602         of the code).  remove duplicate header includes.
5603
5604         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5605
5606         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5607         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5608         useful load average.
5609
5610         * alloc.c (reinit_alloc_once_early): removed references to
5611         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5612         the lisp vars are the only things referencing the malloc_sbrk_*
5613         vars, and they were already if 0'd out.  these vars only exist
5614         in the older malloc.c, which is basically unused, and they're
5615         only for informational purposes.
5616
5617         * m\*.h: removed useless VIRT_ADDR_VARIES.
5618
5619         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5620
5621 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5622
5623         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5624         color if the image is a mono pixmap.
5625
5626 2000-07-30  Ben Wing  <ben@xemacs.org>
5627
5628         * Makefile.in.in (release):
5629         Remove stray @.
5630
5631         * buffer.c (directory_is_current_directory):
5632         * dired-msw.c (mswindows_get_files):
5633         * dired.c:
5634         * dired.c (Fdirectory_files):
5635         * dired.c (file_name_completion_stat):
5636         * dired.c (Ffile_attributes):
5637         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5638         preprocessor tricks, to avoid problems on some machines
5639         (e.g. SCO).
5640
5641         * callproc.c (egetenv): GC docs.
5642
5643         * console-msw.h:
5644         * console-msw.h (struct mswindows_dialog_id):
5645         * lrecord.h (lrecord_type):
5646         New object for use with MSW dialogs.
5647
5648         * console.h (struct console_methods):
5649         New enable/disable frame methods, for proper modal dialogs.
5650
5651         * device-msw.c (msprinter_default_printer): Fix to follow
5652         proper Mule conventions.
5653
5654         * device-msw.c:
5655         * device-msw.c (signal_open_printer_error):
5656         * device-msw.c (msprinter_init_device):
5657         * device-msw.c (ensure_not_printing):
5658         * device-msw.c (plist_get_margin):
5659         * device-msw.c (Fmsprinter_select_settings):
5660         * device-msw.c (finalize_devmode):
5661         * device-msw.c (Fmsprinter_settings_despecialize):
5662         * device-msw.c (signal_enum_priner_error):
5663         * extents.c (decode_extent):
5664         * extents.c (decode_map_extents_flags):
5665         * extents.c (decode_extent_at_flag):
5666         * extents.c (Fextent_at):
5667         * extents.c (Fextents_at):
5668         * extents.c (symbol_to_glyph_layout):
5669         [[[[2]]]] Use structured errors.
5670
5671         * dialog-msw.c:
5672         * dialog-msw.c (mswindows_is_dialog_msg):
5673         * dialog-msw.c (mark_mswindows_dialog_id):
5674         * dialog-msw.c (dialog_proc):
5675         * dialog-msw.c (handle_question_dialog_box):
5676         * dialog-msw.c (syms_of_dialog_mswindows):
5677         Define new object to clean up marking; use it as a dialog identifier.
5678         Call new delete-dialog-box-hook.
5679
5680         * dialog-x.c (dbox_selection_callback):
5681         * dialog-x.c (dbox_descriptor_to_widget_value):
5682         * dialog-x.c (x_make_dialog_box_internal):
5683         Call new delete-dialog-box-hook.
5684         Return an id.
5685
5686         * dialog.c:
5687         * dialog.c (syms_of_dialog):
5688         * dialog.c (vars_of_dialog):
5689         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5690
5691         * eval.c:
5692         * eval.c (signal_call_debugger):
5693         when noninteractive, output stack traces on the console instead
5694         of in a (never-seen) buffer.
5695
5696         * eval.c (signal_type_error):
5697         * eval.c (invalid_argument_2):
5698         * lisp.h:
5699         new funs for use w/structured errors.
5700
5701         * event-Xt.c:
5702         * event-Xt.c (x_to_emacs_keysym):
5703         * event-Xt.c (describe_event):
5704         * event-Xt.c (emacs_Xt_event_handler):
5705         * event-Xt.c (vars_of_event_Xt):
5706         * event-msw.c:
5707         * event-msw.c (mswindows_wnd_proc):
5708         * event-msw.c (vars_of_event_mswindows):
5709         rename {x,mswindows}-debug-events to debug-{}-events for
5710         consistency with other debug-foo variables.
5711
5712         * event-stream.c:
5713         document next-event more clearly.
5714
5715         * fileio.c (Ffile_name_directory):
5716         * fileio.c (Ffile_name_nondirectory):
5717         * fileio.c (Funhandled_file_name_directory):
5718         * fileio.c (file_name_as_directory):
5719         * fileio.c (Ffile_name_as_directory):
5720         * fileio.c (directory_file_name):
5721         * fileio.c (Fdirectory_file_name):
5722         * fileio.c (Fmake_temp_name):
5723         * fileio.c (Ffile_truename):
5724         * fileio.c (Fsubstitute_in_file_name):
5725         * fileio.c (expand_and_dir_to_file):
5726         * fileio.c (barf_or_query_if_file_exists):
5727         * fileio.c (check_executable):
5728         * fileio.c (Ffile_exists_p):
5729         * fileio.c (Ffile_writable_p):
5730         * fileio.c (Ffile_directory_p):
5731         * fileio.c (Ffile_regular_p):
5732         * fileio.c (Ffile_modes):
5733         * fileio.c (Ffile_newer_than_file_p):
5734         * fileio.c (Fverify_visited_file_modtime):
5735         * fileio.c (Fset_visited_file_modtime):
5736         * fileio.c (auto_save_1):
5737         (1). (2).
5738         fix up gcpro's.
5739
5740         * frame-msw.c:
5741         * frame-msw.c (mswindows_init_frame_1):
5742         * frame-msw.c (mswindows_enable_frame):
5743         * frame-msw.c (error_frame_unsizable):
5744         * frame-msw.c (msprinter_init_frame_1):
5745         * frame-msw.c (msprinter_init_frame_3):
5746         * frame-msw.c (console_type_create_frame_mswindows):
5747         (2).
5748         implement new enable/disable frame methods.
5749
5750         * frame-x.c:
5751         * frame-x.c (x_enable_frame):
5752         * frame-x.c (console_type_create_frame_x):
5753         implement new enable/disable frame methods.
5754
5755         * frame.c:
5756         * frame.c (Fdisable_frame):
5757         * frame.c (syms_of_frame):
5758         * frame.h (struct frame):
5759         implement new enable/disable frame methods/functions.
5760
5761         * general-slots.h:
5762         add initial-focus.
5763
5764         * glyphs-msw.c (mswindows_widget_instantiate):
5765         comment that initial-focus should be implemented.
5766
5767         * glyphs-widget.c:
5768         * glyphs-widget.c (check_valid_instantiator):
5769         * glyphs-widget.c (check_valid_orientation):
5770         * glyphs-widget.c (check_valid_tab_orientation):
5771         * glyphs-widget.c (check_valid_justification):
5772         * glyphs-widget.c (check_valid_border):
5773         * glyphs-widget.c (check_valid_callback):
5774         * glyphs-widget.c (check_valid_int_or_function):
5775         * glyphs-widget.c (check_valid_string_or_vector):
5776         * glyphs-widget.c (check_valid_item_list_1):
5777         * glyphs-widget.c (widget_validate):
5778         * glyphs-widget.c (combo_box_validate):
5779         * glyphs-widget.c (widget_instantiate):
5780         * glyphs-widget.c (syms_of_glyphs_widget):
5781         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5782         * glyphs-widget.c (image_instantiator_combo_box):
5783         * glyphs-widget.c (image_instantiator_scrollbar):
5784         * glyphs-widget.c (image_instantiator_tab_control):
5785         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5786         (2).
5787         support (unimplemented) keyword initial-focus.
5788         reindent long macros.
5789
5790         * glyphs-x.c (x_redisplay_widget):
5791         * glyphs-x.c (x_button_instantiate):
5792         * glyphs-x.c (x_button_redisplay):
5793         * glyphs-x.c (x_progress_gauge_instantiate):
5794         * glyphs-x.c (x_edit_field_instantiate):
5795         * glyphs-x.c (x_combo_box_instantiate):
5796         * glyphs-x.c (x_tab_control_instantiate):
5797         * glyphs-x.c (x_label_instantiate):
5798         * gui-x.c:
5799         * gui-x.c (button_item_to_widget_value):
5800         * gui-x.c (gui_items_to_widget_values_1):
5801         * gui-x.c (gui_item_children_to_widget_values):
5802         * gui-x.c (gui_items_to_widget_values):
5803         * gui-x.h:
5804         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5805         add new flag to gui-parsing routines to indicate whether
5806         accelerator specs should be supported.
5807
5808         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5809
5810         * glyphs.h (struct Lisp_Image_Instance):
5811         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5812         add initial-focus flag.
5813
5814         * gui.c:
5815         * gui.c (syms_of_gui):
5816         * gui.c (vars_of_gui):
5817         clean up menu-no-selection-hook.
5818
5819         * gui.h:
5820         support delete-dialog-box-hook.
5821
5822         * lread.c (Fload_internal):
5823         * lread.c (locate_file_in_directory_mapper):
5824         (1).
5825
5826         * lrecord.h:
5827         * lrecord.h (struct toolbar_button):
5828         * lrecord.h (syms_of_toolbar):
5829         document how to create a new object.
5830
5831         * menubar-msw.c (mswindows_char_is_accelerator):
5832         may be called on frames w/o menus.
5833
5834         * menubar.c (vars_of_menubar):
5835         clean up :filter docs.
5836
5837         * nt.c (readdir):
5838         * ntproc.c:
5839         (1).
5840
5841         * process-nt.c:
5842         * process-nt.c (validate_signal_number):
5843         * process-nt.c (signal_cannot_launch):
5844         * process-nt.c (nt_create_process):
5845         * process-nt.c (nt_send_process):
5846         * process-nt.c (nt_kill_child_process):
5847         * process-nt.c (nt_open_network_stream):
5848         * process-nt.c (syms_of_process_nt):
5849         (2).
5850         delete quote-handling.  call new lisp code that does it better.
5851
5852         * process-unix.c (connect_to_file_descriptor):
5853         * process-unix.c (allocate_pty):
5854         * process-unix.c (unix_send_process):
5855         * process-unix.c (unix_kill_child_process):
5856         * process-unix.c (unix_open_network_stream):
5857         * process-unix.c (unix_open_multicast_group):
5858         (1). (2).
5859
5860         * process.c:
5861         * process.c (Fstart_process_internal):
5862         (2).  need to canonicalize process path even if absolute.
5863
5864         * select-msw.c (symbol_to_ms_cf):
5865         * select-msw.c (ms_cf_to_symbol):
5866         * select-msw.c (cf_is_autofreed):
5867         * select-msw.c (mswindows_destroy_selection):
5868         * select.c:
5869         * select.c (syms_of_select):
5870         * select.h:
5871         support dibv5, fix bugs. (from Mike Alexander)
5872
5873         * select.c (Fget_selection_internal):
5874         * select.c (select_convert_out):
5875
5876         * sysdep.c:
5877         * sysdep.c (xemacs_stat):
5878         renamed.
5879
5880         * sysdep.c (mkdir):
5881         * sysdep.c (rmdir):
5882         but keep original stat() here because we provide encapsulation
5883         around these funs.
5884
5885         * sysfile.h:
5886         * sysfile.h (fstat):
5887         remove stat garbage.
5888
5889         * syswindows.h:
5890         fix X/MSW conflict.
5891         don't include tchar.h.  it's inappropriate because it makes
5892         compile-time distinctions when we want runtime distinctions.
5893         (we provide our own tchar replacements)
5894
5895         * toolbar.c:
5896         use default object printer for toolbar-button.
5897
5898         * unexcw.c:
5899         make sure we don't encapsulate.
5900
5901         * window.c (vars_of_window):
5902         emphasize that temp-buffer-show-hook is obsolete.
5903
5904 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5905
5906         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5907         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5908
5909         * events.c (Fevent_timestamp_lessp):
5910         Not 64-bit clean.  Use EMACS_INT, not int.
5911
5912 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5913
5914         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5915         unsigned int and changed the last enum to
5916         lrecord_type_last_built_in_type.
5917         (lrecord_implementations_table): changed prototype to know how
5918         long the array is supposed to be.
5919         (lrecord_type_count): new unsigned int to keep track of the
5920         current number of lisp lrecord types.
5921         (DEFINE_EXTERNAL_LRECORD):
5922         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5923         dynamic-modules to declare new lisp types. They are the same
5924         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5925         int for each new type, and increment lrecord_type_count by 1.
5926
5927         * alloc.c (lrecord_implementations_table): Changed to reference
5928         lrecord_type_last_built_in_type for the size of the array.
5929         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5930
5931 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5932
5933         * glyphs.h (check_valid_item_list): Renamed from
5934         check_valid_item_list_1.
5935
5936 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5937
5938         * select.c (Qselect_coerce): New.
5939         * select.c (Vselection_coercion_alist): New.
5940         * select.c (syms_of_select): Declare.
5941         * select.c (get-selection-internal): Use it.
5942         Use the new select-coerce functionality.
5943
5944         * select.c (select_coerce): New.
5945         * select.h (select_coerce): Declare.
5946         New function to coerce one type of data into another.
5947
5948 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5949
5950         * callproc.c (Fcall_process_internal):
5951         (Fcall_process_internal):
5952         * process-unix.c (unix_create_process):
5953         Save and restore the value of errno, so that error messages are accurate.
5954
5955 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5956
5957         * elhash.c (print_hash_table):
5958         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5959         Prettify docstrings and indentation.
5960
5961 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5962
5963         * window.c (Fwindow_pixel_edges): Subtract frame border and
5964         gutter size.
5965
5966 2000-07-31  Andy Piper  <andy@xemacs.org>
5967
5968         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5969         will acknowledge the change.
5970
5971         * glyphs.h: declare tab_control_order_only_changed.
5972
5973         * glyphs-x.c (x_tab_control_redisplay): use
5974         tab_control_order_only_changed.
5975
5976         * glyphs-widget.c (tab_control_order_only_changed): new function.
5977
5978         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5979         tab_control_order_only_changed.
5980
5981         * gui.c (gui_item_equal_sans_selected): new function.
5982         (gui_item_equal): use it.
5983
5984         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5985         :properties in favor of :items..
5986
5987         * glyphs-widget.c (check_valid_item_list): rename from
5988         check_valid_item_list_1.
5989         (check_valid_item_list_1): renamed.
5990         (combo_box_validate): deprecate :properties in favor of :items.
5991         (widget_instantiate): ditto.
5992         (tab_control_update): ditto.
5993         (image_instantiator_combo_box): ditto.
5994         (image_instantiator_tree_view): ditto.
5995         (image_instantiator_tab_control): ditto.
5996         (layout_post_instantiate): remove dead code.
5997
5998         * print.c (debug_print_no_newline): only write to debugger if in
5999         WIN32_NATIVE.
6000
6001         * elhash.c (Fmake_hash_table): update doc string.
6002
6003         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6004         messages whilst in GC. This at least stops XEmacs crashing but has
6005         the potential for wierd behaviour.
6006
6007 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6008
6009         * config.h.in:
6010         Make existence of s&m files optional.
6011
6012         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6013         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6014         * s/gnu.h: Remove HAVE_GETLOADAVG.
6015         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6016         * s/sol2.h: Remove HAVE_GETLOADAVG.
6017         * lisp.h: Remove getloadavg() declaration.
6018         * fns.c:
6019         Include <sys/loadavg.h> if available.
6020         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6021         * config.h.in:  Group together getloadavg()-related macros.
6022         Use only configure-time tests to detect getloadavg().
6023
6024 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6025
6026         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6027
6028 2000-07-25  Andy Piper  <andy@xemacs.org>
6029
6030         * syswindows.h: add tchar.h for native builds.
6031
6032         * frame.c (syms_of_frame): remove set-glyph-image.
6033
6034         * general-slots.h: add Qset_glyph_image.
6035
6036         * glyphs-widget.c (layout_update): add domain arg to
6037         set-glyph-image.
6038         (syms_of_glyphs_widget): remove set-glyph-image.
6039
6040 2000-07-23  Ben Wing  <ben@xemacs.org>
6041
6042         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6043         Vpopup_frame_list.
6044
6045 2000-07-22  Andy Piper  <andy@xemacs.org>
6046
6047         * symsinit.h: add syms_of_win32().
6048
6049         * gui-msw.c (syms_of_gui_mswindows): remove
6050         Fmswindows_shell_execute.
6051         (Fmswindows_shell_execute): moved to win32.c.
6052
6053         * emacs.c (main_1): add syms_of_win32 ().
6054
6055         * win32.c (init_potentially_nonexistent_functions): rewrite in
6056         compiler-friendly terms.
6057         (Fmswindows_shell_execute): move here from gui-msw.c.
6058         (syms_of_win32): new.
6059
6060         * device-msw.c (Fmswindows_printer_list): clean up args to
6061         EnumPrinters.
6062         Don't include tchar under cygwin or mingw.
6063         (msprinter_default_printer): make cygwin-friendly.
6064
6065 2000-07-21  Andy Piper  <andy@xemacs.org>
6066
6067         * glyphs-widget.c (image_instantiator_tree_view): use tab
6068         control's update function.
6069         (layout_property): new function. Retrieve items.
6070
6071         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6072         function. Re-populate the tree view from the pending items.
6073
6074         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6075         is designated the parent if the domain is an image instance. This
6076         is needed so that dirtiness can be cascade up the hierarchy and
6077         thus for layout children to be redisplayed correctly.
6078         (allocate_image_instance): rename glyph -> parent.
6079
6080         * redisplay.h: change redisplay_output_layout signature.
6081
6082         * redisplay-msw.c (mswindows_output_display_block): use domain
6083         arg.
6084
6085         * redisplay-x.c (x_output_display_block): use domain arg.
6086
6087 2000-07-10  Andy Piper  <andy@xemacs.org>
6088
6089         * window.c (Fset_window_configuration): add comment.
6090
6091         * redisplay-output.c (compare_runes):
6092         (redisplay_output_subwindow): redisplay rather than update subwindow.
6093         (redisplay_output_layout): ditto.
6094
6095         * redisplay-msw.c (mswindows_frame_output_end):
6096         (mswindows_frame_output_end): make defer window pos optional.
6097
6098         * lisp.h: add Flast.
6099
6100         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6101         normalize method. Change update method to be for changed
6102         instantiators. Add redisplay method. Change signature of layout
6103         method.
6104         (struct Lisp_Image_Instance): add instantiator.
6105         (IMAGE_INSTANCE_INSTANTIATOR): new.
6106         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6107         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6108         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6109
6110         * glyphs.c:
6111         (find_instantiator_differences): new function.
6112         (Fset_instantiator_property): new convenience function.
6113         (check_image_instance_structure): strictly check for vector
6114         instantiators.
6115         (normalize_image_instantiator): make non-static.
6116         (instantiate_image_instantiator): pass on dest_mask and use new
6117         signatures for image_instance_layout and friends.
6118         (mark_image_instance): mark the instantiator. Mark the subwindow
6119         face not the widget face.
6120         (image_instance_equal): add instantiator.
6121         (image_instance_hash): ditto.
6122         (allocate_image_instance): ditto.
6123         (Fset_image_instance_property): removed.
6124         (Fimage_instance_file_name): ditto.
6125         (Fcolorize_image_instance): ditto.
6126         (image_instance_layout): add offsets to be set.
6127         (update_image_instance): new function. update an image instance
6128         from its changed instantiator.
6129         (inherit_normalize): add dest_mask.
6130         (xbm_normalize): ditto.
6131         (xface_normalize): ditto.
6132         (xpm_normalize): ditto.
6133         (text_update): set_property -> update.
6134         (image_instantiate): use the glyph identity as a hash key, not the
6135         instantiator.
6136         (glyph_width): use new image_instance_layout signature.
6137         (glyph_ascent): ditto.
6138         (glyph_descent): ditto.
6139         (glyph_height): ditto.
6140         (glyph_query_geometry): ressurrect.
6141         (glyph_layout): ditto.
6142         (redisplay_subwindow): update -> redisplay.
6143         (syms_of_glyphs): add Fset_instantiator_property.
6144         (image_instantiator_format_create): set_property -> update.
6145
6146         * glyphs-x.c:
6147         (autodetect_normalize): add dest_maks to signature.
6148         (x_redisplay_subwindow): update -> redisplay.
6149         (x_redisplay_widget): ditto.
6150         (x_button_redisplay): ditto.
6151         (x_progress_gauge_redisplay): ditto.
6152         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6153         stacking order.
6154         (console_type_create_glyphs_x): update -> redisplay.
6155         (image_instantiator_format_create_glyphs_x): ditto.
6156
6157         * glyphs-widget.c:
6158         (check_valid_instantiator): disallow glyphs in the instantiator,
6159         they must now be vectors.
6160         (check_valid_instantiator_list): ditto.
6161         (glyph_instantiator_to_glyph): use internal symbol rather than
6162         intern.
6163         (widget_update): renamed from widget_set_property. Call cascaded
6164         update methods.
6165         (redisplay_widget): renamed from update_widget.
6166         (widget_layout): image_instance_layout now takes position as well
6167         as size.
6168         (widget_normalize): ditto.
6169         (widget_instantiate): ditto.
6170         (tab_control_query_geometry) ditto.:
6171         (tab_control_update): renamed from tab_control_set_property.
6172         (progress_gauge_update): set_property -> update.
6173         (layout_normalize): rewrite so that child instantiators are
6174         normalized also.
6175         (layout_update): new function. Create glyphs from the normalized
6176         children and cope with any other layout keywords. We do not
6177         instantiate children here that will be take care of by
6178         redisplay_output_layout.
6179         (layout_instantiate): call layout_update and not much else.
6180         (layout_post_instantiate): not sure whether this is needed
6181         anymore.
6182         (layout_query_geometry): query glyph geometry rather than
6183         image_instance geometry.
6184         (layout_layout): set offsets from pass in parameters. Use glyph
6185         geometry and layout functions rather than image instance ones.
6186         (native_layout_layout): ditto.
6187         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6188         (image_instantiator_widget): set_property -> update.
6189         (image_instantiator_buttons): ditto.
6190         (image_instantiator_progress_guage): ditto.
6191         (image_instantiator_tab_control): ditto.
6192         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6193         (image_instantiator_layout): add update method.
6194
6195         * glyphs-msw.c (bmp_normalize):
6196         (mswindows_resource_normalize): add dest_mask so that it can be
6197         proprogated by layout_normalize.
6198         (begin_defer_window_pos): make optional because it may not be the
6199         right thing to do and it introduces differences with X.
6200         (mswindows_unmap_subwindow): ditto.
6201         (mswindows_map_subwindow): ditto.
6202         (mswindows_redisplay_subwindow): renamed from
6203         mswindows_update_subwindow.
6204         (mswindows_redisplay_widget): ditto.
6205         (mswindows_button_redisplay): renamed from
6206         mswindows_button_update. Update is now what the instantiation
6207         function does for a changed instantiator.
6208         (mswindows_progress_gauge_instantiate): set the progress value
6209         here if appropriate.
6210         (mswindows_tab_control_redisplay): cope with re-ordering of the
6211         members of the tab widget by simply selecting the new top
6212         widget. This makes things appear ok if you click on a tab.
6213         (mswindows_combo_box_instantiate): image_instance_layout now takes
6214         position as well as size.
6215         (mswindows_progress_gauge_redisplay): renamed from
6216         mswindows_progress_gauge_update.
6217         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6218         (image_instantiator_format_create_glyphs_mswindows): ditto.
6219
6220         * glyphs-eimage.c (jpeg_normalize):
6221         (gif_normalize):
6222         (png_normalize):
6223         (tiff_normalize): add dest_mask so that it can be proprogated by
6224         layout_normalize.
6225
6226         * elhash.c:
6227         (print_hash_table):
6228         (hash_table_weakness_validate):
6229         (decode_hash_table_weakness):
6230         (Fhash_table_weakness):
6231         (Fhash_table_type):
6232         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6233
6234         * console.h (struct console_methods): move update_* to
6235         redisplay_*.
6236
6237 2000-07-20  Ben Wing  <ben@xemacs.org>
6238
6239         * *.[ch] (XSETOBJ): remove unused middle argument.
6240         lisp-disunion.h: correct wrap_object() to one argument.
6241
6242 2000-07-15  Ben Wing  <ben@xemacs.org>
6243
6244         * s/cygwin32.h:
6245         * s/cygwin32.h (CYGWIN_CONV_PATH):
6246         Add missing logb prototype for v1.1.
6247         Use post-b20 names and alias to pre-b20 names when pre-b20.
6248
6249         * s/windowsnt.h: [5].
6250
6251 2000-07-15  Ben Wing  <ben@xemacs.org>
6252
6253         * Makefile.in.in (x_objs):
6254         * Makefile.in.in (sheap_objs):
6255         * Makefile.in.in (objs):
6256         added win32.o, cosmetic cleanups.
6257
6258         * alloc.c (Fmake_byte_code):
6259         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6260         etc. macros which declare their own args now.
6261
6262         * alloc.c (syms_of_alloc):
6263         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6264
6265         * buffer.c:
6266         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6267
6268         * buffer.c (Fget_file_buffer):
6269         Fixed GCPRO problem.
6270
6271         * buffer.c (get_truename_buffer):
6272         Fixed comment about GC checking.
6273
6274         * buffer.c (syms_of_buffer):
6275         Undeclared those dedicated frame funs.
6276         [2].
6277
6278         * buffer.h:
6279         Define convenience macros for internal/external conversions.
6280         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6281         and Qenvironment_variable_encoding for cleaner code.
6282
6283         * bufslots.h:
6284         Remove dedicated-frame; in lisp.
6285
6286         * bytecode.c (funcall_compiled_function):
6287         [1].
6288
6289         * bytecode.c (syms_of_bytecode):
6290         [2].
6291
6292         * console-msw.c:
6293         * console-msw.c (mswindows_show_console): Rewrote.
6294
6295         * console-msw.c (Fmswindows_debugging_output): New.
6296         Sends to OutputDebugString (special MSWin debugger interface).
6297
6298         * console-msw.c (Fmswindows_message_box):
6299         Fixed stupid bugs so it works when called from kill-emacs.
6300
6301         * console-msw.c (syms_of_console_mswindows):
6302         Declare Fmswindows_debugging_output.
6303
6304         * console-msw.h:
6305         New MSWin prototypes.
6306
6307         * console-msw.h (struct mswindows_frame):
6308         New entry last-click-mods for improved button-modifier support.
6309
6310         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6311         New struct entry `popup' with corresponding accessor.
6312
6313         * console-x.c:
6314         * console-x.c (split_up_display_spec):
6315         * console-x.c (get_display_arg_connection):
6316         * console-x.c (x_semi_canonicalize_console_connection):
6317         * console-x.c (x_canonicalize_device_connection):
6318         [[[6]]]: Change char to more specific type.
6319         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6320
6321         * console-x.c (x_semi_canonicalize_console_connection):
6322         * console-x.c (x_canonicalize_device_connection):
6323         [[[9]]]: Fix up error signalling to use new structured error system.
6324
6325         * console-x.h:
6326         [[[4]]]: Define codesys aliases:
6327         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6328         Qx_color_name_encoding, Qx_display_name_encoding.
6329
6330         * console.h (struct console_methods):
6331         New method make_dialog_box_internal supersedes older
6332         popup_dialog_box method.
6333
6334         * data.c:
6335         Define many new errors, part of new structured errors.
6336
6337         * data.c (init_errors_once_early):
6338         * data.c (syms_of_data):
6339         [2].
6340
6341         * device-msw.c (mswindows_init_device):
6342         [[[5]]]: Cleanup to support NT 3.51.
6343
6344         * device-msw.c (decode_devmode): Cleanup.
6345
6346         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6347         * device-msw.c (mswindows_handle_print_dialog_box):
6348         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6349         * device-msw.c (syms_of_device_mswindows):
6350         Delete the dialog box primitives recently introduced by Kirill and
6351         instead interface to general dialog box interface.
6352
6353         * device-x.c:
6354         * device-x.c (compute_x_app_name):
6355         * device-x.c (x_init_device):
6356         * device-x.c (Fx_valid_keysym_name_p):
6357         * device-x.c (Fx_set_font_path):
6358         [6].
6359         [7].
6360
6361         * device.h (wrap_device): New.
6362         First of its kind; meant to replace XSETDEVICE.
6363
6364         * dialog-msw.c: Many file-dialog symbols.
6365
6366         * dialog-msw.c (mswindows_register_popup_frame): New.
6367         * dialog-msw.c (mswindows_is_dialog_msg): New.
6368         For supporting kbd traversal in dialog boxes.
6369
6370         * dialog-msw.c (dialog_proc):
6371         Support hitting ESC in dialogs.
6372
6373         * dialog-msw.c (struct):
6374         Common dialog box errors.
6375
6376         * dialog-msw.c (handle_file_dialog_box): New.
6377         Add file dialog code.
6378
6379         * dialog-msw.c (handle_question_dialog_box):
6380         Redo existing code to support new question dialog syntax.
6381
6382         * dialog-msw.c (console_type_create_dialog_mswindows):
6383         We support new dialog console method.
6384
6385         * dialog-msw.c (syms_of_dialog_mswindows):
6386         * dialog-msw.c (vars_of_dialog_mswindows):
6387         New file dialog symbols, vars.
6388
6389         * dialog-x.c:
6390         * dialog-x.c (maybe_run_dbox_text_callback):
6391         * dialog-x.c (dbox_descriptor_to_widget_value):
6392         * dialog-x.c (x_make_dialog_box_internal):
6393         * dialog-x.c (console_type_create_dialog_x):
6394         Mule-ize entire file.
6395         Redo to support question dialog syntax.
6396         [6].
6397
6398         * dialog.c:
6399         * dialog.c (Fmake_dialog_box_internal):
6400         * dialog.c (syms_of_dialog):
6401         Kill old popup-dialog-box, replace with new primitive.
6402         Just call device method or signal error.
6403
6404         * eldap.c (Fldap_open):
6405         * eldap.c (Fldap_search_basic):
6406         * eldap.c (Fldap_add):
6407         * eldap.c (Fldap_modify):
6408         [1].
6409         [7].
6410
6411         * emacs.c:
6412         * emacs.c (make_arg_list_1):
6413         * emacs.c (make_arg_list):
6414         Mule-ize call to dll_init().
6415         [6].
6416         [8].
6417
6418         * emacs.c (make_argc_argv):
6419         * emacs.c (free_argc_argv):
6420         * emacs.c (init_cmdargs):
6421         * emacs.c (main_1):
6422         * emacs.c (Fkill_emacs):
6423         * emacs.c (Fdump_emacs):
6424         Update comments about what can be used in syms_* etc.
6425         Call init_win32() when necessary.
6426         Fix up MS Win dialog box in kill-buffer to actually work right.
6427         [7].
6428
6429         * eval.c:
6430         * eval.c (For):
6431         * eval.c (Fand):
6432         * eval.c (Fprogn):
6433         * eval.c (Fprog1):
6434         * eval.c (Fprog2):
6435         * eval.c (FletX):
6436         * eval.c (Flet):
6437         * eval.c (condition_case_3):
6438         * eval.c (Feval):
6439         * eval.c (function_argcount):
6440         * eval.c (funcall_lambda):
6441         [1].
6442
6443         * eval.c (type_error): New.
6444         * eval.c (maybe_type_error): New.
6445         * eval.c (continuable_type_error): New.
6446         * eval.c (maybe_continuable_type_error): New.
6447         * eval.c (type_error_with_frob): New.
6448         * eval.c (maybe_type_error_with_frob): New.
6449         * eval.c (continuable_type_error_with_frob): New.
6450         * eval.c (maybe_continuable_type_error_with_frob): New.
6451         New functions for use with structured errors.
6452
6453         * event-Xt.c:
6454         * event-Xt.c (x_event_to_emacs_event):
6455         Buttons are now modifiers too.
6456
6457         * event-Xt.c (emacs_Xt_current_event_timestamp):
6458         Implement new event method.
6459         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6460
6461         * event-msw.c:
6462         * event-msw.c (ntpipe_shove_writer): [5].
6463         * event-msw.c (mswindows_enqueue_mouse_button_event):
6464         * event-msw.c (mswindows_drain_windows_queue):
6465         * event-msw.c (mswindows_wnd_proc): [7].
6466         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6467         * event-msw.c (mswindows_modifier_state):
6468         Throughout: support new button modifiers.
6469
6470         * event-msw.c (emacs_mswindows_current_event_timestamp):
6471         Implement new event method.
6472         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6473
6474         * event-stream.c:
6475         * event-stream.c (event_stream_current_event_timestamp): New.
6476         * event-stream.c (maybe_kbd_translate): New functionality.
6477         * event-stream.c (vars_of_event_stream):
6478         Document new kbd-translate-table functionality.
6479
6480         * event-stream.c (Fcurrent_event_timestamp): New.
6481         New primitive for use in fabricated events.
6482         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6483
6484         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6485
6486         * events.c:
6487         * events.c (Fmake_event):
6488         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6489         [1].
6490         [9].
6491
6492         * events.c (format_event_object): fix gcc warnings.
6493
6494         * events.c (Fevent_timestamp): Document new primitives.
6495
6496         * events.c (TIMESTAMP_HALFSPACE): New.
6497
6498         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6499         comparing timestamps correctly (half-space algorithm).
6500
6501         * events.c (Fevent_modifier_bits): Doc fix.
6502
6503         * events.c (Fevent_modifiers): Major doc addition.
6504         * events.c (event_x_y_pixel_internal): Typo fix.
6505         * events.c (syms_of_events): Declare new primitives.
6506
6507         * events.h:
6508         Update long comment for button modifiers, timestamps.
6509
6510         * events.h (struct event_stream):
6511         New current_event_timestamp method.
6512
6513         * extents.c:
6514         * extents.c (extent_in_region_p):
6515         * extents.c (decode_extent):
6516         * extents.c (Fset_extent_parent):
6517         * extents.c (decode_map_extents_flags):
6518         Fix gcc warnings.
6519         [9].
6520
6521         * extents.c (struct extent_at_arg):
6522         * extents.c (decode_extent_at_flag):
6523         * extents.c (extent_at_mapper):
6524         * extents.c (extent_at_bytind):
6525         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6526         * extents.c (Fextents_at): New primitive. [9].
6527         * extents.c (symbol_to_glyph_layout): [9].
6528         Support new primitive `extents-at'.
6529
6530
6531         * extents.c (get_text_property_bytind):
6532         extent_at_bytind has another arg.
6533         [9].
6534
6535         * extents.c (syms_of_extents): New primitive.
6536
6537         * file-coding.c (Fmake_coding_system): [1].
6538         * file-coding.c (subsidiary_coding_system): fix gcc warning
6539         * file-coding.c (syms_of_file_coding): [2].
6540
6541         * fileio.c (Fexpand_file_name):
6542         * fileio.c (Fsysnetunam):
6543         * fileio.c (Ffile_exists_p):
6544         * fileio.c (Ffile_executable_p):
6545         * fileio.c (Fverify_visited_file_modtime):
6546         Clean up GCPROing.
6547
6548         * fileio.c (syms_of_fileio): [2].
6549
6550         * filelock.c (lock_file_1):
6551         * filelock.c (current_lock_owner):
6552         * filelock.c (lock_if_free):
6553         * filelock.c (lock_file):
6554         * filelock.c (unlock_file):
6555         Clean up GCPROing.
6556
6557         * fns.c (concat): Fix gcc warning.
6558
6559         * fns.c (Fmember):
6560         * fns.c (Fold_member):
6561         * fns.c (Fmemq):
6562         * fns.c (Fold_memq):
6563         * fns.c (memq_no_quit):
6564         * fns.c (Fassoc):
6565         * fns.c (Fold_assoc):
6566         * fns.c (Fassq):
6567         * fns.c (Fold_assq):
6568         * fns.c (assq_no_quit):
6569         * fns.c (Frassoc):
6570         * fns.c (Fold_rassoc):
6571         * fns.c (Frassq):
6572         * fns.c (Fold_rassq):
6573         * fns.c (rassq_no_quit):
6574         * fns.c (Fdelete):
6575         * fns.c (Fold_delete):
6576         * fns.c (Fdelq):
6577         * fns.c (Fold_delq):
6578         * fns.c (delq_no_quit):
6579         * fns.c (Fremassoc):
6580         * fns.c (Fremassq):
6581         * fns.c (remassq_no_quit):
6582         * fns.c (Fremrassoc):
6583         * fns.c (Fremrassq):
6584         * fns.c (remrassq_no_quit):
6585         * fns.c (Freverse):
6586         * fns.c (mapcar1):
6587         [1].
6588
6589         * frame-msw.c (mswindows_init_frame_1):
6590         * frame-msw.c (mswindows_delete_frame):
6591         Register popups with dialog code so keyboard traversing works.
6592
6593         * frame-tty.c (tty_raise_frame_no_select): [1].
6594
6595         * frame-x.c:
6596         * frame-x.c (x_set_frame_text_value):
6597         * frame-x.c (x_set_frame_properties):
6598         * frame-x.c (x_create_widgets):
6599         [7].
6600
6601         * frame.c:
6602         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6603
6604         * frame.h (wrap_frame): New.
6605         Macro like wrap_device.
6606
6607         * general.c:
6608         * general.c (SYMBOL):
6609         * general.c (syms_of_general):
6610         Major reorg.  This is now just a wrapper and symbols themselves
6611         are listed in general-slots.h.
6612
6613         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6614         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6615
6616         * glyphs-msw.c (mswindows_native_layout_instantiate):
6617         Add DS_CONTROL so keyboard traversal will work.
6618
6619         * glyphs-widget.c:
6620         * glyphs-widget.c (syms_of_glyphs_widget):
6621         Move some symbols to general-slots.h.
6622
6623         * glyphs-x.c:
6624         * glyphs-x.c (xbm_instantiate_1):
6625         * glyphs-x.c (x_xbm_instantiate):
6626         * glyphs-x.c (x_xface_instantiate):
6627         * glyphs-x.c (autodetect_instantiate):
6628         * glyphs-x.c (cursor_font_instantiate):
6629         * glyphs-x.c (x_update_widget):
6630         * glyphs-x.c (x_widget_instantiate):
6631         * glyphs.c (bitmap_to_lisp_data):
6632         * glyphs.c (pixmap_to_lisp_data):
6633         [7].
6634
6635         * glyphs.c (syms_of_glyphs):
6636         [2].
6637
6638         * gui-x.c:
6639         * gui-x.c (print_widget_value):
6640         * gui-x.c (menu_separator_style_and_to_external):
6641         * gui-x.c (add_accel_and_to_external):
6642         * gui-x.c (button_item_to_widget_value):
6643         * gui-x.c (gui_items_to_widget_values_1):
6644         * gui-x.c (gui_items_to_widget_values):
6645         * gui-x.c (syms_of_gui_x):
6646         * gui-x.c (vars_of_gui_x):
6647         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6648         [9].
6649
6650         * gui-x.h:
6651         Muleize, prototype changes matching gui-x.c.
6652
6653         * gui.c:
6654         * gui.c (separator_string_p):
6655         * gui.c (gui_item_add_keyval_pair):
6656         * gui.c (make_gui_item_from_keywords_internal):
6657         * gui.c (signal_too_long_error):
6658         * gui.c (parse_gui_item_tree_item):
6659         * gui.c (syms_of_gui):
6660         * gui.c (vars_of_gui):
6661         * gui.h:
6662         menu-no-selection-hook moved here (used by MSWin).
6663         Move some symbols to general-slots.h.
6664         [6].
6665         [9].
6666
6667         * insdel.c (get_buffer_pos_char):
6668         * insdel.c (get_buffer_range_char):
6669         Add GC comments.
6670
6671         * keymap.c (keymap_lookup_directly):
6672         * keymap.c (keymap_store):
6673         * keymap.c (ensure_meta_prefix_char_keymapp):
6674         * keymap.c (describe_map):
6675         * keymap.h:
6676         Support new button modifiers.
6677
6678         * lisp-disunion.h (wrap_object):
6679         * lisp-disunion.h (XSETOBJ):
6680         Rename make_obj to wrap_object.
6681
6682         * lisp-union.h:
6683         * lisp-union.h (make_int):
6684         * lisp-union.h (make_char):
6685         Support wrap_object.
6686
6687         * lisp.h:
6688         * lisp.h (LIST_LOOP):
6689         * lisp.h (EXTERNAL_LIST_LOOP):
6690         * lisp.h (LIST_LOOP_2):
6691         * lisp.h (EXTERNAL_LIST_LOOP_1):
6692         * lisp.h (EXTERNAL_LIST_LOOP_2):
6693         * lisp.h (EXTERNAL_LIST_LOOP_3):
6694         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6695         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6696         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6697         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6698         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6699         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6700         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6701         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6702         * lisp.h (struct Lisp_Symbol):
6703         * lisp.h (maybe_continuable_error_with_frob):
6704         Fix up section comments.
6705         Add new types for char to indicate usage.
6706         Delete symbols auto-generated from general-slots.h.
6707         Add prototypes for structured error functions.
6708         Add long comments describing looping macros and change interface
6709         so that lvalues are automatically declared.
6710         Add NO_DECLARE macro in case callers want to declare lvalues
6711         themselves.
6712
6713         * lread.c (read_syntax_error):
6714         * lread.c (continuable_read_syntax_error):
6715         * lread.c (read_structure):
6716         * lread.c (sequence_reader):
6717         * lread.c (read_list_conser):
6718         * lread.c (read_compiled_function):
6719         Rename syntax_error and continuable_syntax_error to avoid clash
6720         with same-named structured error functions.
6721
6722         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6723         * menubar-msw.c (populate_menu_add_item):
6724         * menubar-msw.c (populate_or_checksum_helper):
6725         [5].
6726         [9].
6727
6728         * menubar-x.c:
6729         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6730         Mule-ize whole file.
6731
6732         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6733
6734         * mule-charset.c (Fmake_charset):
6735         * mule-wnnfns.c (Fwnn_set_param):
6736         [1].
6737
6738         * ntproc.c (create_child):
6739         * ntproc.c (Fwin32_set_current_locale):
6740         Add comments portending doom.
6741
6742         * objects-msw.c:
6743         * objects-msw.c (old_font_enum_callback_2):
6744         * objects-msw.c (font_enum_callback_1):
6745         * objects-msw.c (mswindows_enumerate_fonts):
6746         [5].
6747
6748         * objects-x.c:
6749         * objects-x.c (allocate_nearest_color):
6750         * objects-x.c (x_parse_nearest_color):
6751         * objects-x.c (x_initialize_color_instance):
6752         * objects-x.c (x_print_color_instance):
6753         * objects-x.c (x_finalize_color_instance):
6754         * objects-x.c (x_valid_color_name_p):
6755         * objects-x.c (x_initialize_font_instance):
6756         * objects-x.c (x_print_font_instance):
6757         * objects-x.c (valid_x_font_name_p):
6758         * objects-x.c (truename_via_FONT_prop):
6759         * objects-x.c (truename_via_random_props):
6760         * objects-x.c (truename_via_XListFonts):
6761         * objects-x.c (x_font_truename):
6762         * objects-x.c (x_font_instance_truename):
6763         * objects-x.c (x_font_instance_properties):
6764         * objects-x.c (x_list_fonts):
6765         * objects-x.c (x_find_charset_font):
6766         Mule-ize entire file.
6767         [7].
6768
6769         * objects-x.h:
6770         Mule-verify.
6771
6772         * print.c:
6773         * print.c (std_handle_out_external):
6774         * print.c (debug_print_no_newline):
6775         * print.c (syms_of_print):
6776         Output to all debugger kinds in debug-print.
6777         Fix console-output code under MSWin to actually work.
6778
6779         * process-nt.c (send_signal):
6780         * process-nt.c (nt_create_process):
6781         Use newer Unicode macros.
6782
6783         * process-unix.c (unix_create_process):
6784         * process-unix.c (unix_canonicalize_host_name):
6785         * process-unix.c (unix_open_network_stream):
6786         [7].
6787
6788         * scrollbar-x.c:
6789         Mule-verify.
6790
6791         * search.c (syms_of_search):
6792         [2].
6793
6794         * select-msw.c (mswindows_destroy_selection):
6795         Use LIST_LOOP_2.
6796
6797         * select-x.c (symbol_to_x_atom):
6798         [7].
6799
6800         * select.c (syms_of_select):
6801         [2].
6802
6803         * sound.c (Fplay_sound_file):
6804         [7].
6805
6806         * specifier.c:
6807         * specifier.c (decode_specifier_type):
6808         * specifier.c (Fvalid_specifier_locale_type_p):
6809         * specifier.c (check_valid_locale_or_locale_type):
6810         * specifier.c (decode_locale):
6811         * specifier.c (decode_locale_type):
6812         * specifier.c (decode_locale_list):
6813         * specifier.c (check_valid_domain):
6814         * specifier.c (decode_specifier_tag_set):
6815         * specifier.c (Fcanonicalize_tag_set):
6816         * specifier.c (Fdefine_specifier_tag):
6817         * specifier.c (Fspecifier_tag_predicate):
6818         * specifier.c (check_valid_inst_list):
6819         * specifier.c (check_valid_spec_list):
6820         * specifier.c (decode_how_to_add_specification):
6821         * specifier.c (check_modifiable_specifier):
6822         * specifier.c (specifier_add_spec):
6823         * specifier.c (boolean_validate):
6824         * specifier.c (display_table_validate):
6825         [9].
6826
6827         * specifier.c (syms_of_specifier):
6828         Move some symbols to general-slots.h.
6829         [2].
6830
6831         * symbols.c:
6832         * symbols.c (Fmapatoms):
6833         * symbols.c (Fapropos_internal):
6834         Add GCPROs.
6835
6836         * symbols.c (set_default_buffer_slot_variable):
6837         * symbols.c (set_default_console_slot_variable):
6838         [1].
6839
6840         * symbols.c (defsymbol_massage_name_1):
6841         * symbols.c (defkeyword_massage_name):
6842         * symbols.c (deferror_1):
6843         * symbols.c (deferror):
6844         * symbols.c (deferror_massage_name_and_message):
6845         * symeval.h:
6846         * symeval.h (DEFSYMBOL):
6847         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6848
6849         * symbols.c (syms_of_symbols):
6850         [2].
6851
6852         * symsinit.h:
6853         * symsinit.h (init_win32): New.
6854         Also new is syms_of_dialog_mswindows.
6855
6856         * syswindows.h:
6857         Add new Unicode macros, missing Cygwin wide-char functions,
6858         convenience conversion macros for Qmswindows_tstr, macros for
6859         encapsulating required MSWin <-> Cygwin filename conversions,
6860         prototype for dynamically-extracted (not in NT 3.51) functions.
6861
6862         * toolbar-x.c:
6863         Mule-verify.
6864
6865         * tooltalk.c (Fadd_tooltalk_message_arg):
6866         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6867         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6868         [7].
6869
6870         * tooltalk.c (syms_of_tooltalk):
6871         [2].
6872
6873         * unexnt.c:
6874         * unexnt.c (unexec):
6875         Fix up headers, declaration of unexec() to be more standard.
6876
6877 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6878
6879         * offix.h: Revert change to guard macros - they're used in offix.c!
6880
6881 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6882
6883         * lisp.h: Defsubred Fdelete.
6884
6885         * console-msw.h:  (msprinter_default_printer): Added.
6886
6887         * console-msw.c (msprinter_canonicalize_console_connection):
6888         (msprinter_canonicalize_device_connection): Added.
6889
6890         * device-msw.c (msprinter_default_printer):
6891         (Fmswingows_get_default_printer):
6892         (signal_enum_priner_error):
6893         (Fmswingows_printer_list): Added.
6894
6895 2000-07-19  Martin Buchholz <martin@xemacs.org>
6896
6897         * XEmacs 21.2.35 is released.
6898
6899 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6900
6901         * select-x.c (x_handle_selection_request):
6902         Text selected in xemacs and pasted into xterm failed to appear.
6903         Spelling fixes and cosmetic changes.
6904
6905 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6906
6907         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6908         XEmacs frame (fix for doubling chars in dialog boxes).
6909
6910 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6911
6912         * select.c (select_convert_in, select_convert_out):
6913         Don't call intern() every time.
6914
6915         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6916         * select.c (vars_of_select): Initialise them.
6917
6918 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6919
6920         * select.c (selection-coercible-types): New.
6921
6922         * select.c (own-selection-internal):
6923         * select.c (get-selection-internal):
6924         MULE bug fix - these should default to COMPOUND_TEXT and not
6925         STRING for MULE. I think.
6926
6927         * select.c (select_convert_out): Use selection-coercible-types
6928         to find types that we can attempt to perform coercions on.
6929
6930 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6931
6932         * mule-wnnfns.c:
6933         * mule-canna.c:
6934         Add coding: cookie to identify encoding.
6935
6936         * mule-canna.c (CANNA_mode_keys): make static.
6937         Use proper prototypes, even for functions of no arguments.
6938         Remove external prototype for Fding().
6939
6940         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6941
6942         * select.c (syms_of_select): Add missing DEFSUBR.
6943
6944 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6945
6946         * select.c (get_selection_internal, own_selection_internal):
6947         Make the type default to STRING, rather than placing a nil type
6948         into Vselection_alist.
6949
6950 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6951
6952         * gpmevent.c (tty_selection_exists_p):
6953         * gpmevent.c (tty_own_selection):
6954         Updated parameter lists.
6955
6956 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6957
6958         * select.h (selection-alist): Removed declaration.
6959
6960         * select.h (get_local_selection):
6961         * select.c (get_local_selection):
6962         Made static.
6963
6964         * select.h (convert_selection): Removed declaration.
6965         * select.c (convert_selection): Removed.
6966         This function belongs in Lisp.
6967
6968         * select.h (select_convert_in): Declare.
6969         * select.h (select_convert_out): Declare.
6970         * select.c (select_convert_in): New.
6971         * select.c (select_convert_out): New.
6972         New conversion functions for other files to call.
6973
6974         * select.h (select_notify_buffer_kill): Declare.
6975         * select.c (select_notify_buffer_kill): New.
6976         New functions that get called from kill-buffer.
6977
6978         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6979         X-specific lisp code.
6980
6981         * select.h: Declare some of the lisp-visible functions for
6982         external use.
6983
6984         * select.c (clean_local_selection_data): Removed. This was
6985         a disgusting function, and previously should have been in
6986         select-x.c in any case. The functionality is now provided
6987         in select-convert-from-integer (select.el).
6988
6989         * select.c (available-selection-types): Fixed stupidity where
6990         INTEGER and ATOM got added twice. Also add STRING when we see an
6991         extent.
6992
6993         * select.c (get-selection-internal): Removed symbol stripping. No
6994         longer causes conversion when data comes from the internal cache.
6995
6996         * select.c (syms_of_select): Added new functions.
6997
6998         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6999         error checking - previously this called abort!
7000
7001         * select-x.c (x_own_selection): Changed comment.
7002
7003         * select-x.c (x_handle_selection_request): Use select_convert_out.
7004         Don't mess with selection-alist; it's an internal variable of select.c.
7005
7006         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7007
7008         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7009         rather than messing with selection-alist.
7010
7011         * select-msw.c (mswindows_get_foreign_selection):
7012         Use TO_INTERNAL_FORMAT rather than hacking.
7013
7014 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7015
7016         * process-unix.c (unix_open_multicast_group):
7017         (unix_open_multicast_group): Remove useless casts.
7018
7019 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7020
7021         * sound.c (Fplay_sound): Fix `unused variable' warning.
7022
7023         * emacs.c (main): Use correct type for _environ on SCO5.
7024
7025 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7026
7027         * console.h (own_selection_method):
7028         * console.h (selection_exists_p_method):
7029         * console.h (available_selection_types_method): New.
7030         * console.h (register_selection_data_type_method): New.
7031         * console.h (selection_data_type_name): New.
7032
7033         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7034         function & alist to track GlobalAlloc()'d handles that need
7035         releasing when the clipboard data gets replaced or emptied.
7036
7037         * event-msw.c (mswindows_wnd_proc): Call it.
7038
7039         * lisp.h, general.c (Qappend): New symbol representing a
7040         `how-to-add' mode.
7041
7042         * select.c (own-selection-internal):
7043         * select.c (selection-exists-p):
7044         * select.c (available-selection-types): New.
7045         * select.c (register-selection-data-type): New.
7046         * select.c (selection-data-type-name): New.  New functions to deal
7047         with device-specific selection data formats.
7048         * select.c (selection-converter-out-alist): Renamed.
7049         * select.c (selection-converter-in-alist): New.
7050         * select.c (selection-appender-alist): New.  Added new alists.
7051         * select.c (syms_of_select, vars_of_select): Added new symbols &
7052         variables.
7053         * select.c (get_local_selection): Split.
7054         * select.c: Removed spurious type checking - selections may now be
7055         of any type, not just strings.
7056         * select.c (own-selection-internal):
7057
7058         * select.h, select.c (convert_selection): New. Created
7059         convert_selection() function based on get_local_selection().
7060         * select.h, select.c (QCF_*): New symbols representing mswindows
7061         clipboard formats.
7062         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7063         symbols representing `how-to-add' modes.
7064
7065         * select-msw.c (x_sym_p): New.
7066         * select-msw.c (symbol_to_ms_cf): New.
7067         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7068         symbols & clipboard formats. Can also handle string names.
7069         * select-msw.c (mswindows_own_selection):
7070         * select-msw.c (mswindows_selection_exists_p):
7071         Added `data-type' parameter. Use it.
7072         * select-msw.c (mswindows_available_selection_types): New.
7073         * select-msw.c (mswindows_register_selection_data_type): New.
7074         * select-msw.c (mswindows_selection_data_type_name): New.
7075         * select-msw.c (mswindows_own_selection):
7076         * select-msw.c (mswindows_get_foreign_selection):
7077         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7078         * select-msw.c (console_create_select_mswindows): Added new methods.
7079         * select-msw.c (mswindows_destroy_selection): New.
7080         * select-msw.c (Vhandle_alist): New list.
7081         * select-msw.c (mswindows_own_selection):
7082
7083         * select-x.c (x_own_selection):
7084         * select-x.c (x_selection_exists_p):
7085         * select-x.c: Added some comments about maybe using new
7086         functionality.
7087         * select-x.c (x_own_selection):
7088
7089         * specifier.c: Remove definition of Qappend (now in general.c)
7090         * specifier.c (syms_of_specifier): Remove Qappend.
7091
7092 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7093
7094         * config.h.in: Add socklen_t.
7095
7096         * s/decosf4-0.h: No special compiler flags needed or desired.
7097         In particular, undefine _BSD for DEC OSF 4.0.
7098
7099 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7100
7101         * redisplay-msw.c (msprinter_frame_output_end): Added.
7102         (console_type_create_redisplay_mswindows): Referred the above.
7103
7104         * frame.c (setup_frame_without_minibuffer): Do not create a
7105         default minibuffer frame on a printer device.
7106
7107         * frame-msw.c (apply_dc_geometry): Added.
7108         (msprinter_start_page):
7109         (msprinter_init_frame_3):
7110         (msprinter_eject_page): Use it.
7111
7112         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7113         and removed residual duplex and orientation properties.
7114
7115 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7116
7117         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7118
7119         * unexalpha.c: Remove system prototypes from C sources!
7120
7121 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7122
7123         * eval.c: Remove references to M-x edit-options in DEFUNs for
7124         `defvar' and `defconst'.
7125
7126 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7127
7128         * config.h.in: Remove SMART_INCLUDE hackery.
7129
7130         PostgreSQL hacking:
7131         * config.h.in: Don't use SMART_INCLUDE.
7132
7133         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7134         * inline.c: Simply #include "postgresql.h"
7135         * postgresql.c:
7136         - Don't use SMART_INCLUDE
7137         - Use simply "const".
7138         - Use standard doc string conventions.
7139         - Use correct type for result of PQstatus.
7140
7141 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7142
7143         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7144
7145         C++ compilation changes.
7146         * config.h.in (EXTERN_C): Define.
7147         * config.h.in (not): This is also a C++ keyword.
7148         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7149         * cm.c: Use EXTERN_C.
7150         * redisplay-tty.c: Use EXTERN_C.
7151         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7152
7153 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7154
7155         * general.c: Remove duplicate definition for Qfunction.
7156
7157 2000-07-08  Ben Wing  <ben@xemacs.org>
7158
7159         * device-msw.c (msprinter_init_device):
7160         * device-msw.c (sync_printer_with_devmode):
7161         * device-msw.c (handle_devmode_changes):
7162         * device-msw.c (print_dialog_worker):
7163         * device-msw.c (Fmsprinter_apply_settings):
7164         * device-msw.c (hash_devmode):
7165         * device-msw.c (Fmsprinter_settings_despecialize):
7166         use Qmswindows_tstr, not Qctext.
7167
7168         * vm-limit.c (check_memory_limits):
7169         avoid infinite loop printing warning messages.
7170
7171 2000-07-05  Craig Lanning  <lanning@scra.org>
7172
7173         * Makefile.in.in: Add support for including the Windows resources
7174         when building with the cygwin and mingw targets.
7175
7176         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7177         not set or not correct.
7178         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7179         (init_initial_directory): Don't try to use $PWD on the
7180         WIN32_NATIVE target.
7181
7182         * s\cygwin32.h:
7183         [[Add -mwindows to eliminate console window.]] not required --ben
7184         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7185         (MAIL_USE_POP): removed; now handled by configure.
7186
7187         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7188         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7189         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7190         (MAIL_USE_POP): removed; now handled by configure.
7191         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7192         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7193         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7194         constant string.
7195         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7196         up from <winsock.h> via systime.h.
7197         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7198         (getpagesize): from Dan Holmsand, added.
7199         Added #endif which was left dangling by Ben's mega patch; added
7200         comment to help prevent this in the future.
7201
7202         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7203
7204 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7205
7206         * console-msw.h (struct mswindows_device): Removed unnecessary
7207         cached device geometry values.
7208         Added update_tick and an accessor macro.
7209         (Lisp_Devmode): Added lrecord declaration.
7210         (struct msprinter_device): Contain devmode as a Lisp object.
7211         Added mswindows_get_selected_frame_hwnd();
7212
7213         * console.h (struct console_methods): Indentation nitpicking.
7214
7215         * device-msw.c (mswindows_init_device): Do not initialize geometry
7216         cache. Initialize update tick.
7217         (mswindows_device_system_metrics): Ask the device for its geometry.
7218         (global_free_2_maybe):
7219         (devmode_to_hglobal):
7220         (handle_printer_changes):
7221         (ensure_not_printing):
7222         (print_dialog_worker):
7223         (Fmsprinter_print_setup_dialog):
7224         (Fmsprinter_print_dialog):
7225         (plist_get_margin):
7226         (plist_set_margin):
7227         (Fmsprinter_page_setup_dialog): Added functions.
7228         (sync_printer_with_devmode):
7229         (handle_devmode_changes):
7230         (Fmsprinter_get_settings):
7231         (Fmsprinter_select_settings):
7232         (Fmsprinter_apply_settings):
7233         (allocate_devmode):
7234         (Fmsprinter_settings_copy):
7235         (Fmsprinter_settings_despecialize):
7236         (print_devmode):
7237         (finalize_devmode):
7238         (equal_devmode):
7239         (hash_devmode): Added functions
7240         (syms_of_device_mswindows): Init devmode lrecord class.
7241
7242         * device.h: Added an exfun for find-device.
7243
7244         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7245         geometry; although, recreate the device compatible DC.
7246
7247         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7248         (msprinter_init_frame_3):
7249         (msprinter_frame_property):
7250         (msprinter_internal_frame_property_p):
7251         (msprinter_frame_properties):
7252         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7253         print job properties (will move to device settings).
7254
7255         * lisp.h: Added symbols.
7256
7257         * general.c (syms_of_general): Declared them.
7258
7259         * hash.c (string_hash): Added.
7260
7261         * lrecord.h (lrecord_type): Added devmode lrecord type.
7262
7263 2000-07-02  Mike Sperber <mike@xemacs.org>
7264
7265         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7266         FreeBSD 4.0.
7267
7268 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7269
7270         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7271         integer.
7272
7273 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7274
7275         * data.c (Fstring_to_number): Don't recognize floating point if
7276         base is not 10.
7277
7278 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7279
7280         * glyphs-widget.c (tab_control_query_geometry):
7281         (widget_query_geometry):
7282         (button_query_geometry):
7283         * glyphs.c (text_query_geometry):
7284         Enforce type correctness.
7285
7286 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7287
7288         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7289         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7290
7291 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7292
7293         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7294         conflicts with gcc's fixincluded version of FOO.h.
7295
7296         * glyphs.h (image_instance_geometry): Remove trailing `,'
7297
7298 2000-06-08  Mike Alexander  <mta@arbortext.com>
7299
7300         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7301         (shove_thread): Don't write the same output twice
7302         (make_ntpipe_output_stream): Increase priority of shove thread
7303         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7304         chance to run
7305         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7306         it.
7307
7308 2000-06-12  Ben Wing  <ben@xemacs.org>
7309
7310         * s\mingw32.h (sigset):
7311         * s\windowsnt.h (sigset):
7312         rename msw_ to mswindows_ for consistency with general convention.
7313
7314 2000-06-12  Ben Wing  <ben@xemacs.org>
7315
7316         * console-msw.c:
7317         * console-msw.c (mswindows_get_console_hwnd):
7318         * console-msw.c (mswindows_ensure_console_allocated):
7319         * console-msw.c (mswindows_hide_console):
7320         * console-msw.c (mswindows_show_console):
7321         * console-msw.c (mswindows_ensure_console_buffered):
7322         * console-msw.c (mswindows_output_console_string):
7323         * console-msw.c (mswindows_windows9x_p):
7324         * console-msw.h:
7325         * device-msw.c (mswindows_get_workspace_coords):
7326         * device-msw.c (mswindows_device_system_metrics):
7327         * dialog-msw.c (mswindows_popup_dialog_box):
7328         * event-msw.c (mswindows_wnd_proc):
7329         * frame-msw.c (mswindows_size_frame_internal):
7330         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7331         * menubar-msw.c (displayable_menu_item):
7332         * menubar-msw.c (mswindows_char_is_accelerator):
7333         * nt.c:
7334         * nt.c (mswindows_sigset):
7335         * nt.c (mswindows_sigrelse):
7336         * nt.c (mswindows_sigpause):
7337         * nt.c (mswindows_raise):
7338         * nt.c (timer_proc):
7339         * ntproc.c:
7340         * ntproc.c (find_child_console):
7341         * ntproc.c (sys_kill):
7342         * print.c:
7343         * print.c (std_handle_out_external):
7344         * process-nt.c (find_child_console):
7345         * process-nt.c (send_signal_the_95_way):
7346         * process-nt.c (ensure_console_window_exists):
7347         * process-nt.c (nt_create_process):
7348         * syssignal.h:
7349         rename msw_ to mswindows_ for consistency with general convention.
7350
7351         * emacs.c:
7352         * dumper.c:
7353         include nt.h, not syswindows.h.
7354
7355         * nt.c (mswindows_fstat):
7356         * nt.c (mswindows_stat):
7357         prefix mswindows_ instead of attempting to directly override the
7358         library functions.  fix declarations.
7359
7360         * nt.h:
7361         include syswindows.h.  move some sysdep.h stuff here.
7362
7363         * ntheap.h:
7364         include syswindows.h, not <windows.h>.
7365
7366         * ntplay.c:
7367         clean up headers.
7368
7369         * sysdep.c:
7370         clean up headers.
7371
7372         * sysdep.c (sys_fstat):
7373         * sysdep.c (sys_stat):
7374         call mswindows versions when appropriate.
7375
7376         * sysdep.h:
7377         move mswin decls to nt.h.
7378
7379         * syswindows.h:
7380         add long comment describing appropriate use of the various windows
7381         headers.
7382
7383 2000-06-11  Ben Wing  <ben@xemacs.org>
7384
7385         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7386
7387 2000-06-10  Ben Wing  <ben@xemacs.org>
7388
7389         * Makefile.in.in (release):
7390         Correction to make sure xemacs.exe always dumped when correct.
7391
7392         * alloca.c:
7393         * balloon_help.c:
7394         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7395
7396         * buffer.c (set_buffer_internal):
7397         [[[[2]]]]: Remove HAVE_FEP code.
7398
7399         * buffer.c (init_initial_directory):
7400         [3].
7401
7402         * bytecode.c:
7403         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7404         individual files.
7405
7406         * callproc.c:
7407         * callproc.c (call_process_cleanup):
7408         * callproc.c (Fold_call_process_internal):
7409         * callproc.c (child_setup):
7410         * callproc.c (getenv_internal):
7411         * callproc.c (init_callproc):
7412         * callproc.c (vars_of_callproc):
7413         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7414         __CYGWIN32__ -> CYGWIN.
7415         DOS_NT -> WIN32_NATIVE.
7416         Remove MSDOS support/references, converting to WIN32_NATIVE
7417           where correct.
7418         __MINGW32__ -> MINGW.
7419         Fix windows.h includes.
7420         Remove bogus HAVE_NTGUI.
7421
7422         * config.h.in:
7423         [2].
7424
7425         * console-msw.c:
7426         mswindows_message_outputted added for use in allowing startup
7427         errors on the console to be seen.
7428
7429         * console-msw.c (msw_ensure_console_allocated):
7430         * console-msw.c (msw_output_console_string):
7431         * console-msw.c (DHEADER):
7432         * console-msw.c (DOPAQUE_DATA):
7433         * console-msw.c (DEVENT):
7434         * console-msw.c (DCONS):
7435         * console-msw.c (DCONSCDR):
7436         * console-msw.c (DSTRING):
7437         * console-msw.c (DVECTOR):
7438         * console-msw.c (DSYMBOL):
7439         * console-msw.c (DSYMNAME):
7440         Fix warnings.
7441
7442         * console-stream.c (stream_init_console):
7443         Fix text/binary problems.
7444
7445         * device-msw.c:
7446         * device-msw.c (mswindows_finish_init_device):
7447         * device-msw.c (mswindows_delete_device):
7448         [1].
7449
7450         * device.c (handle_asynch_device_change):
7451         [3].
7452
7453         * dgif_lib.c:
7454         * dgif_lib.c (DGifOpenFileName):
7455         * dgif_lib.c (DGifOpenFileHandle):
7456         * dgif_lib.c (DGifGetLine):
7457         * dgif_lib.c (DGifGetPixel):
7458         Added config.h/lisp.h, fix up includes.
7459         [1].
7460
7461         * dired-msw.c:
7462         [4].
7463
7464         * dired.c:
7465         * dired.c (file_name_completion):
7466         * dired.c (Ffile_attributes):
7467         * dired.c (syms_of_dired):
7468         [1].
7469
7470         * dumper.c:
7471         * dumper.c (pdump_file_unmap):
7472         * dumper.c (pdump_load):
7473         [1].
7474
7475         * editfns.c:
7476         * editfns.c (Ftemp_directory):
7477         * editfns.c (user_login_name):
7478         * editfns.c (Fuser_real_login_name):
7479         * editfns.c (get_home_directory):
7480         [1].
7481
7482         * elhash.c (finish_marking_weak_hash_tables):
7483         [[[[5]]]]: Fix GCC warnings.
7484
7485         * emacs.c:
7486         * emacs.c (mswindows_handle_hardware_exceptions):
7487         * emacs.c (make_arg_list_1):
7488         * emacs.c (main_1):
7489         * emacs.c (Fkill_emacs):
7490         * emacs.c (Fdump_emacs):
7491         [1].
7492         Fix problems with nested crashes, add long comment.
7493
7494         * event-Xt.c (init_event_Xt_late):
7495         [1].
7496
7497         * event-msw.c:
7498         * event-msw.c (mswindows_dde_callback):
7499         * event-msw.c (mswindows_handle_sticky_modifiers):
7500         * event-msw.c (mswindows_wnd_proc):
7501         [1].
7502         [5].
7503
7504         * events.c (character_to_event):
7505         [1].
7506
7507         * fileio.c:
7508         * fileio.c (Ffile_name_directory):
7509         * fileio.c (Ffile_name_nondirectory):
7510         * fileio.c (directory_file_name):
7511         * fileio.c (Fexpand_file_name):
7512         * fileio.c (Fsubstitute_in_file_name):
7513         * fileio.c (Ffile_name_absolute_p):
7514         * fileio.c (check_executable):
7515         * fileio.c (Ffile_readable_p):
7516         * fileio.c (Ffile_accessible_directory_p):
7517         * fileio.c (Ffile_modes):
7518         * fileio.c (Funix_sync):
7519         * fileio.c (vars_of_fileio):
7520         [1]. [4].
7521
7522         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7523
7524         Expand getdefdir defn.
7525         Fix bogus rename() comment.
7526
7527         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7528         to use standard XEmacs include files, e.g. sysfile.h, rather
7529         than system-specific includes.
7530
7531         * fns.c:
7532         * fns.c (Fsubseq):
7533         [5]. [6].
7534
7535         * frame.c (vars_of_frame):
7536         [1].
7537
7538         * getloadavg.c:
7539         * getloadavg.c (getloadavg):
7540         [1]. [6].
7541         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7542         (We don't use it elsewhere in the code; just add a comment.)
7543
7544         * gif_io.c:
7545         [6].
7546         Add config.h.
7547
7548         * glyphs-msw.c:
7549         * glyphs-msw.c (mswindows_resource_instantiate):
7550         [1].
7551
7552         * glyphs-x.c (x_native_layout_instantiate):
7553         [5].
7554
7555         * gui-msw.c (Fmswindows_shell_execute):
7556         [1].
7557
7558         * insdel.c:
7559         [4].
7560
7561         * lisp.h:
7562         [4]. [5].
7563
7564         * lread.c (locate_file_in_directory_mapper):
7565         [1].
7566
7567         * lstream.c:
7568         [4].
7569
7570         * mem-limits.h:
7571         * mem-limits.h (get_lim_data):
7572         [1].
7573
7574         * menubar-msw.c:
7575         [4].
7576
7577         * ndir.h:
7578         [1].
7579
7580         * nt.c:
7581         * nt.c (getwd):
7582         * nt.c (closedir):
7583         * nt.c (rva_to_section):
7584         * nt.c (mswindows_executable_type):
7585         [1]. [6].
7586         Fix closedir() defn.
7587
7588         * nt.h:
7589         [[[[8]]]]: *_OK defs moved to sysfile.h.
7590
7591         * ntproc.c:
7592         [6]. [7].
7593
7594         * objects-x.c:
7595         [4].
7596
7597         * print.c:
7598         * print.c (std_handle_out_external):
7599         [1]. [4].
7600
7601         * process-nt.c:
7602         * process-nt.c (nt_create_process):
7603         [6].
7604         try to fix process quoting somewhat.
7605
7606         * process-unix.c (unix_create_process):
7607         [1].
7608
7609         * process.c:
7610         * process.c (vars_of_process):
7611         Add Vnull_device.
7612
7613         * process.h:
7614         [1].
7615
7616         * realpath.c:
7617         * realpath.c (xrealpath):
7618         [1].
7619
7620         * redisplay-tty.c (init_tty_for_redisplay):
7621         [3].
7622
7623         * redisplay.c:
7624         [4]. [6].
7625
7626         * scrollbar-msw.c:
7627         [4].
7628
7629         * sheap.c:
7630         * sheap.c (more_static_core):
7631         * sheap.c (report_sheap_usage):
7632         [5]. [6].
7633
7634         * signal.c:
7635         * signal.c (alarm_signal):
7636         [1]. [6].
7637
7638         * sound.c:
7639         [6].
7640
7641         * strftime.c:
7642         * strftime.c (zone_name):
7643         [1]. [5].
7644
7645         * symsinit.h (init_sunpro):
7646         [1].
7647
7648         * syscommctrl.h:
7649         commctrl.h not in Cygwin b20.1.
7650
7651         * sysdep.c:
7652         * sysdep.c (endif):
7653         * sysdep.c (sys_subshell):
7654         * sysdep.c (init_baud_rate):
7655         * sysdep.c (emacs_get_tty):
7656         * sysdep.c (emacs_set_tty):
7657         * sysdep.c (tty_init_sys_modes_on_device):
7658         * sysdep.c (init_system_name):
7659         * sysdep.c (sys_open):
7660         * sysdep.c (interruptible_open):
7661         * sysdep.c (sys_fopen):
7662         * sysdep.c (sys_mkdir):
7663         * sysdep.c (sys_rename):
7664         * sysdep.c (get_process_times_1):
7665         [1]. [6].
7666
7667         * sysdep.h:
7668         [1].
7669
7670         * sysdir.h:
7671         * sysdir.h (DIRENTRY_NONEMPTY):
7672         [1]. [6].
7673
7674         * sysdll.c (dll_init):
7675         * sysdll.h:
7676         [1].
7677
7678         * sysfile.h:
7679         [1]. [6]. [8].
7680         added text/binary defs.
7681
7682         * sysfloat.h:
7683         [1].
7684
7685         * sysproc.h:
7686         * sysproc.h (EDESTADDRREQ):
7687         * sysproc.h (poll_fds_for_input):
7688         [1]. [6].
7689
7690         * syspwd.h:
7691         [6].
7692
7693         * syssignal.h:
7694         [1].
7695
7696         * systime.h:
7697         [1]. [6].
7698
7699         * systty.h:
7700         [1].
7701
7702         * syswindows.h:
7703         [1].
7704         Always define WIN32_LEAN_AND_MEAN.
7705
7706         * unexcw.c (unexec):
7707         [5].
7708
7709         * unexec.c:
7710         * unexec.c (copy_text_and_data):
7711         * unexec.c (adjust_lnnoptrs):
7712         [1].
7713
7714         * unexnt.c:
7715         * unexnt.c (_start):
7716         [1].
7717
7718 2000-06-07  Ben Wing  <ben@xemacs.org>
7719
7720         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7721         was used only as a model.  We've long since extracted any useful
7722         logic or code out of this. (I just did an exhaustive search.)
7723
7724         * s\msdos.h: Removed.
7725
7726         * s\windows95.h: Removed.
7727
7728 2000-06-10  Ben Wing  <ben@xemacs.org>
7729
7730         * s\cygwin32.h:
7731         [1]. [5].
7732         Don't use extern with fun defs.
7733
7734         * s\mingw32.h:
7735         [1]. [7].
7736         Remove nt\inc include.
7737         Remove getdisk, getdefdir. (The former is unused, the latter
7738         expanded in fileio.h.)
7739
7740         * s\windowsnt.h:
7741         * s\windowsnt.h (WIN32_NATIVE):
7742         * s\windowsnt.h (HAVE_STRCASECMP):
7743         [1]. [7].
7744         Add long comment about preprocessor changes.
7745         Remove getdisk, getdefdir. (The former is unused, the latter
7746         expanded in fileio.h.)
7747
7748 2000-06-10  Ben Wing  <ben@xemacs.org>
7749
7750         * m\arm.h:
7751         * m\delta.h:
7752         * m\intel386.h:
7753         * m\sequent.h:
7754         * m\template.h:
7755         * m\windowsnt.h:
7756         [1].
7757         Remove bogus/unused NO_SOCK_SIGIO.
7758
7759 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7760
7761         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7762         not an Emchar.
7763
7764 2000-06-04  Mike Sperber <mike@xemacs.org>
7765
7766         * casetab.c (set_case_table): For `set-standard-case-table',
7767         actually deposit the new case tables where the rest of XEmacs can
7768         see them.
7769
7770 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7771
7772         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7773
7774 2000-06-05  Ben Wing  <ben@xemacs.org>
7775
7776         * callproc.c (child_setup): Don't do close_load_descs() under
7777         MS Windows.  Put in a comment explaining why.
7778
7779 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7780
7781         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7782         Toolkit shell" which breaks `kill-compilation' on Windows NT
7783         native, retaining STDERR handling improvements.
7784
7785 2000-06-01  Andreas Jaeger  <aj@suse.de>
7786
7787         * s/s390.h: Support for S390, based on a patch by Martin
7788         Schwidefsky <schwidefsky@de.ibm.com>.
7789
7790 2000-05-30  Andy Piper  <andy@xemacs.org>
7791
7792         * window.c (allocate_window):
7793         (make_dummy_parent):
7794         (Fset_window_configuration): use new hashtable type.
7795
7796         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7797         (struct image_instantiator_methods):
7798         (struct Lisp_Image_Instance): make instance geometry signed.
7799
7800         * glyphs.c (instantiate_image_instantiator):
7801         (image_instance_query_geometry):
7802         (image_instance_layout):
7803         (image_instance_layout):
7804         (query_string_geometry):
7805         (text_query_geometry):
7806         (image_instantiate):
7807         (image_instantiate):
7808         (cache_subwindow_instance_in_frame_maybe):
7809         (subwindow_query_geometry): make instance geometry signed.
7810
7811         * glyphs-widget.c (widget_query_geometry):
7812         (widget_layout):
7813         (button_query_geometry):
7814         (tree_view_query_geometry):
7815         (tab_control_query_geometry):
7816         (layout_query_geometry):
7817         (layout_layout):
7818         (native_layout_layout): make instance geometry signed.
7819
7820 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7821
7822         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7823         constant.
7824
7825         * general.c (syms_of_general): Add Qfull_assoc symbol.
7826
7827         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7828         correctly.
7829         (decode_weak_list_type): Decode full-assoc type.
7830         (encode_weak_list_type): Encode full-assoc type.
7831         (Fmake_weak_list): Update doc string.
7832
7833 2000-05-30  Andy Piper  <andy@xemacs.org>
7834
7835         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7836
7837         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7838         (decode_hash_table_weakness): ditto.
7839         (Fhash_table_weakness): ditto.
7840         (Fhash_table_type): ditto.
7841         (finish_marking_weak_hash_tables): ditto.
7842         (hash_table_weakness_validate): ditto.
7843         (syms_of_elhash): ditto.
7844
7845 2000-05-28  Martin Buchholz <martin@xemacs.org>
7846
7847         * XEmacs 21.2.34 is released.
7848
7849 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7850
7851         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7852         start cache.
7853         (updating_line_start_cache): Gone.
7854         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7855         generic code to force a minimum of 1 line laid out in the
7856         CMOTION_DISP case.
7857
7858 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7859
7860         * glyphs.c (instantiate_image_instantiator): Check for initialized
7861         height & width no longer special cases IMAGE_NOTHING.
7862         (nothing_instantiate): Set height and width of instance.
7863
7864 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7865
7866         * unexelf.c (unexec): Search for ".data" section.
7867         Initialize new_data2_offset from old_data_index.
7868         Remove redundant check for ElfW.
7869
7870 2000-05-23  Andy Piper  <andy@xemacs.org>
7871
7872         * glyphs.c (get_image_instantiator_governing_domain): allow more
7873         specific domains as the governing domain rather than expecting an
7874         exact match. This fixes problems with layouts.
7875
7876 2000-05-22  Andy Piper  <andy@xemacs.org>
7877
7878         * redisplay-output.c (compare_runes): check for non-images
7879
7880         * glyphs.c (set_glyph_dirty_p): ditto.
7881         (update_glyph_cachel_data): ditto.
7882
7883         * glyphs-widget.c (layout_post_instantiate): ditto.
7884         (layout_post_instantiate): ditto.
7885
7886         * event-msw.c (mswindows_wnd_proc): warning removal.
7887
7888 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7889
7890         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7891
7892         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7893
7894         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7895
7896         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7897         (mswindows_executable_type): mingw32 now has enough headers for
7898         this to work.
7899
7900 2000-05-20  Andy Piper  <andy@xemacs.org>
7901
7902         * console-msw.c (mswindows_output_last_error): ; -> ,
7903
7904 2000-05-12  Andy Piper  <andy@xemacs.org>
7905
7906         * console-msw.c (FROB): compare ints with ints.
7907
7908 2000-05-11  Andy Piper  <andy@xemacs.org>
7909
7910         * glyphs-x.c (x_finalize_image_instance): make minimal build
7911         happy.
7912
7913 2000-05-20  Ben Wing  <ben@xemacs.org>
7914
7915         * event-Xt.c:
7916         * event-Xt.c (vars_of_event_Xt):
7917         move modifier-keys-are-sticky to event-stream.c.
7918
7919         * event-msw.c:
7920         * event-msw.c (mswindows_enqueue_mouse_button_event):
7921         * event-msw.c (key_needs_default_processing_p):
7922         * event-msw.c (XEMSW_LCONTROL):
7923         * event-msw.c (mswindows_handle_sticky_modifiers):
7924         * event-msw.c (FROB):
7925         * event-msw.c (clear_sticky_modifiers):
7926         * event-msw.c (output_modifier_keyboard_state):
7927         * event-msw.c (output_alt_keyboard_state):
7928         * event-msw.c (mswindows_wnd_proc):
7929         * event-msw.c (mswindows_modifier_state):
7930         * event-msw.c (emacs_mswindows_handle_magic_event):
7931         implement sticky modifiers.
7932
7933         * event-stream.c:
7934         * event-stream.c (vars_of_event_stream):
7935         move modifier-keys-are-sticky here.
7936
7937         * lisp.h:
7938         add CHECK_FUNCTION.
7939
7940         * rangetab.c:
7941         implement map-range-table.
7942
7943
7944 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7945
7946         * redisplay-tty.c (reset_tty_modes):
7947         (tty_redisplay_shutdown): Adjust argument type to
7948         tty_frame_output_end.
7949
7950 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7951
7952         * eval.c (Fbacktrace): Don't output a line with only right
7953         parenthesis.
7954
7955 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7956
7957         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7958         (Fpq_reset_poll): Ditto.
7959
7960 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7961
7962         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7963
7964 2000-05-16  Ben Wing  <ben@xemacs.org>
7965
7966         * buffer.c:
7967         * buffer.c (dfc_convert_to/from_internal_format):
7968         * buffer.c (reinit_vars_of_buffer):
7969         Fix conversion functions to allow reentrancy.
7970
7971         * console-msw.c:
7972         * console-msw.c (mswindows_output_last_error):
7973         New fun, generally useful -- output a human-readable
7974         version of GetLastError() on the console.
7975
7976         * console-msw.h:
7977         * console-msw.h (struct mswindows_frame):
7978         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7979
7980         * console-stream.c (stream_output_begin):
7981         * console-stream.c (stream_output_end):
7982         * console-stream.c (stream_output_vertical_divider):
7983         * console-stream.c (stream_clear_region):
7984         * console-stream.c (stream_flash):
7985         * console-stream.c (console_type_create_stream):
7986         Delete blank stream methods, not needed.
7987
7988         * console.h (struct console_methods):
7989         Split begin/end methods into window and frame.
7990
7991         * event-msw.c:
7992         * event-msw.c (mswindows_handle_paint):
7993         * event-msw.c (output_alt_keyboard_state):
7994         * event-msw.c (mswindows_wnd_proc):
7995         * event-msw.c (vars_of_event_mswindows):
7996         Comment about problems with ignored-expose.
7997         Define mswindows-debug-events; not really implemented.
7998
7999         * frame-msw.c (mswindows_init_frame_1):
8000         random cleanups.
8001
8002         * glyphs-msw.c:
8003         * glyphs-msw.c (begin_defer_window_pos):
8004         * glyphs-msw.c (mswindows_unmap_subwindow):
8005         * glyphs-msw.c (mswindows_map_subwindow):
8006         * glyphs-msw.c (mswindows_resize_subwindow):
8007         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8008
8009         * glyphs.c (make_image_instance_1):
8010         Fix crash.
8011
8012         * gutter.c (Fredisplay_gutter_area):
8013         Use new begin/end methods.
8014
8015         * lisp.h (Dynarr_new2):
8016         New creation fun.
8017
8018         * redisplay-msw.c:
8019         * redisplay-msw.c (mswindows_frame_output_begin):
8020         * redisplay-msw.c (mswindows_frame_output_end):
8021         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8022         New begin/end methods -- handle DeferWindowPos.
8023
8024         * redisplay-output.c (redisplay_move_cursor):
8025         * redisplay-output.c (redraw_cursor_in_window):
8026         * redisplay-output.c (redisplay_update_line):
8027         * redisplay-output.c (redisplay_output_window):
8028         New begin/end methods.
8029
8030         * redisplay-tty.c:
8031         * redisplay-tty.c (tty_frame_output_begin):
8032         * redisplay-tty.c (tty_frame_output_end):
8033         * redisplay-tty.c (console_type_create_redisplay_tty):
8034         New begin/end methods.
8035
8036         * redisplay-x.c:
8037         * redisplay-x.c (x_window_output_begin):
8038         * redisplay-x.c (x_window_output_end):
8039         * redisplay-x.c (console_type_create_redisplay_x):
8040         New begin/end methods.
8041
8042         * redisplay.c (redisplay_frame):
8043         * redisplay.c (Fredisplay_echo_area):
8044         New begin/end methods.
8045         use MAYBE_DEVMETH for clear_frame; it may not exist.
8046
8047         * window.h (WINDOW_XFRAME):
8048         WINDOW_XFOO macros -- get locale and decode struct pointer.
8049
8050
8051 2000-05-12  Ben Wing  <ben@xemacs.org>
8052
8053         * emacs.c:
8054         * emacs.c (ensure_no_quitting_from_now_on):
8055         * emacs.c (fatal_error_signal):
8056         * emacs.c (mswindows_handle_hardware_exceptions):
8057         * emacs.c (main):
8058         * emacs.c (Fkill_emacs):
8059         * emacs.c (shut_down_emacs):
8060         * emacs.c (assert_failed):
8061         various improvements in fatal error handling.
8062
8063         * eval.c:
8064         move preparing_for_armageddon to emacs.c.
8065
8066         * lisp.h:
8067         declare fatal_error_in_progress.
8068
8069         * print.c:
8070         * print.c (std_handle_out_external):
8071         * print.c (std_handle_out_va):
8072         * print.c (stderr_out):
8073         * print.c (stdout_out):
8074         use console under mswin when no standard output.
8075         don't do code conversion during fatal error.
8076
8077         * scrollbar.c (Fscrollbar_page_up):
8078         * scrollbar.c (Fscrollbar_page_down):
8079         fix missing else.  reindent.
8080
8081 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8082
8083         Emergency fix.
8084
8085         * glyphs.h (GLYPH_CACHEL_DESCENT):
8086         (GLYPH_CACHEL_DESCENT):
8087         (GLYPH_CACHEL_DESCENT):
8088         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8089         used in case these are inline functions.
8090         Use more absurd values to error check.
8091
8092         include window.h for error check functions.
8093
8094 2000-05-11  Ben Wing  <ben@xemacs.org>
8095
8096         * cmdloop.c (Freally_early_error_handler):
8097         Display message box under windows; otherwise, message will disappear
8098         before it can be viewed.
8099
8100         * console-msw.c:
8101         * console-msw.c (Fmswindows_message_box):
8102         * console-msw.c (FROB):
8103         * console-msw.c (syms_of_console_mswindows):
8104         Define new fun `mswindows-message-box'.
8105         #### I will merge this into `popup-dialog-box'; just give me
8106         a bit of time.
8107
8108         * general.c:
8109         * general.c (syms_of_general):
8110         Some new symbols used in `mswindows-message-box'.
8111
8112         * glyphs.c:
8113         * glyphs.c (Fset_image_instance_property):
8114         put warning in this fun.
8115
8116         * glyphs.h:
8117         * glyphs.h (GLYPH_CACHEL_WIDTH):
8118         * glyphs.h (GLYPH_CACHEL_ASCENT):
8119         * glyphs.h (GLYPH_CACHEL):
8120         * glyphs.h (GLYPH_CACHEL_GLYPH):
8121         define error-checking versions to try to catch a bug i've seen --
8122         redisplay gets in an infinite loop because the glyph width of the
8123         continuation glyph is 65535.
8124
8125         * lisp.h:
8126         Extern message-box stuff.
8127
8128         * window.c (allocate_window):
8129         * window.c (make_dummy_parent):
8130         * window.c (Fset_window_configuration):
8131         Use EQUAL not EQ for subwindow caches to make them work a bit
8132         better. (Something is still very broken.)
8133
8134
8135 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8136
8137         * glyphs.c (image_instantiate): Suppress gcc warnings.
8138         (Fmake_image_instance): Fix doc string.
8139         * specifier.c (Fmake_specifier): Ditto.
8140
8141 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8142
8143         * paths.h.in (PATH_LOCK): Removed.
8144         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8145         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8146
8147 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8148
8149         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8150         Document (featurep '(and xemacs 21.02)).
8151
8152 2000-05-09  Ben Wing  <ben@xemacs.org>
8153
8154         * buffer.c (complex_vars_of_buffer):
8155         update modeline-format doc.
8156
8157         * device.h:
8158         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8159
8160         * emacs.c:
8161         timeline of all released versions of Emacs, for use in creating
8162         authorship comments and in synching up.
8163
8164         * glyphs-widget.c (image_instantiator_buttons):
8165         * glyphs-widget.c (image_instantiator_edit_fields):
8166         * glyphs-widget.c (image_instantiator_combo_box):
8167         * glyphs-widget.c (image_instantiator_scrollbar):
8168         * glyphs-widget.c (image_instantiator_progress_guage):
8169         * glyphs-widget.c (image_instantiator_tree_view):
8170         * glyphs-widget.c (image_instantiator_tab_control):
8171         * glyphs-widget.c (image_instantiator_labels):
8172         * glyphs-widget.c (image_instantiator_layout):
8173         * glyphs-widget.c (image_instantiator_native_layout):
8174         rename decode_domain method to governing_domain.
8175
8176         * glyphs.c:
8177         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8178         * glyphs.c (add_entry_to_device_ii_format_list):
8179         make sure we don't put an entry more than once into the list.
8180         * glyphs.c (check_instance_cache_mapper):
8181         *************************************************************
8182         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8183         HAVE BEEN GETTING.
8184         *************************************************************
8185         * glyphs.c (get_image_instantiator_governing_domain):
8186         clean up, expand on new concept of governing domain.
8187         * glyphs.c (instantiate_image_instantiator):
8188         * glyphs.c (allocate_image_instance):
8189         use governing_domain instead of cache_domain in naming.
8190         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8191         * glyphs.c (make_image_instance_1):
8192         * glyphs.c (Fmake_image_instance):
8193         allow for any domain (not just device), and process the
8194         governing domain correctly.  very big doc fix.
8195         * glyphs.c (Fimage_instance_domain):
8196         new primitive, to retrieve the governing domain of an image instance.
8197         * glyphs.c (image_instantiate):
8198         use new governing_domain stuff.  this fixes a crash you could get
8199         by instantiating certain widget glyphs in frame locales. (should
8200         signal an error instead of crashing.)
8201         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8202         * glyphs.c (Fglyphp): clean up doc.
8203         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8204         * glyphs.c (syms_of_glyphs):
8205         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8206         * glyphs.c (image_instantiator_format_create): add some comments about
8207         bogus code.
8208         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8209         for current-display-table. (Apparently Hrjove implemented in 1998 a
8210         design I wrote up in 1996, but didn't update the doc string.)
8211
8212         * glyphs.h: clean up a doc string.
8213         * glyphs.h (governing_domain):
8214         * glyphs.h (struct image_instantiator_methods):
8215         changes for governing_domain stuff.
8216
8217         * gutter.c:
8218         * gutter.c (Fgutter_specifier_p):
8219         * gutter.c (Fgutter_size_specifier_p):
8220         * gutter.c (Fgutter_visible_specifier_p):
8221         * objects.c:
8222         * objects.c (Fcolor_specifier_p):
8223         * objects.c (Ffont_specifier_p):
8224         * objects.c (Fface_boolean_specifier_p):
8225         doc strings moved to make-*-specifier.
8226
8227         * redisplay.c (add_disp_table_entry_runes_1):
8228         * redisplay.c (generate_fstring_runes):
8229         * redisplay.c (screen):
8230         add random comments and doc strings.
8231
8232         * specifier.c:
8233         * specifier.c (Fmake_specifier):
8234         major overhaul of this doc string.
8235
8236         * specifier.c (Fvalid_specifier_domain_p):
8237         comment about the bogosity of image instances being domains.
8238         * specifier.c (decode_domain):
8239         now non-static, used in glyphs.c.
8240         * specifier.c (specifier_instance):
8241         comment about the bogosity of image instances being domains.
8242         * specifier.c (Fgeneric_specifier_p):
8243         move doc string to make-generic-specifier.
8244         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8245         rebackslashify.
8246
8247         * specifier.h:
8248         * specifier.h (DOMAIN_FRAME):
8249         * specifier.h (DOMAIN_LIVE_P):
8250         * specifier.h (DOMAIN_XDEVICE):
8251         rebackslashify.
8252         add comments about problems with these macros.
8253         prototype for decode_domain.
8254
8255         * toolbar.c:
8256         * toolbar.c (Ftoolbar_specifier_p):
8257         move doc string to `make-toolbar-specifier'.
8258
8259         * window.c (window_unmap_subwindows_cache_mapper):
8260         *************************************************************
8261         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8262         HAVE BEEN GETTING.
8263         *************************************************************
8264
8265 2000-05-09  Andy Piper  <andy@xemacs.org>
8266
8267         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8268
8269         * window.c (Fset_window_configuration): reset the frame subwindow
8270         cache and re-initialize the window subwindow caches.
8271
8272         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8273
8274 2000-05-09  Ben Wing  <ben@xemacs.org>
8275
8276         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8277         DWORD.
8278
8279 2000-04-26  Mike Woolley  <mike@bulsara.com>
8280
8281         * ntheap.c: Changed recreate_heap to limit the amount reserved
8282         for the heap to that which is actually available. Also now
8283         displays a message box (with some dignostics) in the event that
8284         it still can't start.
8285
8286 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8287
8288         * callproc.c (Fold_call_process_internal): GCPRO path
8289
8290 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8291
8292         Patch by Bill Perry.
8293
8294         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8295         back data instead of #ifdef.
8296         (Fscrollbar_page_down): ditto.
8297
8298 2000-05-07  Ben Wing  <ben@xemacs.org>
8299
8300         * buffer.h:
8301         Kludge for defining Qmswindows_tstr.
8302
8303         * nt.c:
8304         * nt.c (open_input_file):
8305         * nt.c (open_output_file):
8306         * nt.c (rva_to_section):
8307         * nt.c (mswindows_executable_type):
8308         Move all memory-mapped-file routines here (some were in unexnt.c,
8309         which is bad because they are used by process-nt.c, and unexnt
8310         won't be around when portable dumping).  Synched the above routines
8311         with FSF 20.6.
8312
8313         * nt.h:
8314         Removed ifdef'd out bogus code.
8315         Fixed some prototypes.
8316
8317         * nt.h (file_data):
8318         * nt.h (OFFSET_TO_RVA):
8319         * nt.h (RVA_TO_OFFSET):
8320         * nt.h (RVA_TO_PTR):
8321         Moved the memory-mapped-file structures, macros and prototypes
8322         here, to parallel nt.c.  ntheap.h should really be removed
8323         entirely, and it's a non-portable-dumper specific file.
8324
8325         * ntheap.h (round_to_next):
8326         Moved the memory-mapped-file structures, macros and prototypes
8327         to nt.h.
8328
8329         * ntproc.c (compare_env):
8330         Moved rva_to_section and mswindows_executable_type to nt.c.
8331         Moved compare_env to process-nt.c.
8332         ntproc.c will die, one day.
8333
8334         * ntproc.c (sys_spawnve):
8335         Account for win32_ -> mswindows_.
8336
8337         * process-nt.c:
8338         * process-nt.c (struct nt_process_data):
8339         * process-nt.c (ensure_console_window_exists):
8340         * process-nt.c (compare_env):
8341         * process-nt.c (nt_create_process):
8342         * process-nt.c (nt_kill_process_by_pid):
8343         * process-nt.c (syms_of_process_nt):
8344         * process-nt.c (vars_of_process_nt):
8345         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8346         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8347         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8348         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8349         Move compare_env here from ntproc.c.
8350
8351         * process.c (Fprocess_send_region):
8352         Takes an optional fourth argument, BUFFER, which should fix some
8353         problems with call-process.
8354
8355         * syscommctrl.h:
8356         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8357
8358         * syswindows.h:
8359         Move ICC_BAR_CLASSES to syscommctrl.h.
8360         Add preliminary macros for MSWindows/Mule.  More to come.
8361
8362         * unexnt.c:
8363         * unexnt.c (unexec):
8364         open_output_file moved to nt.c.
8365
8366
8367 2000-05-05  Andy Piper  <andy@xemacs.org>
8368
8369         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8370         instance from the frame cache also since GC may catch up too late
8371         to make frame deletion sane.
8372
8373 2000-05-04  Andy Piper  <andy@xemacs.org>
8374
8375         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8376         (x_finalize_image_instance): ungcpro on deletion.
8377
8378         * glyphs.c (image_instantiator_format_create): give pointers a
8379         query geometry method so that the geometry is at least set.
8380
8381         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8382         initialize layouts if using widgets.
8383
8384 2000-05-03  Andy Piper  <andy@xemacs.org>
8385
8386         * nt.c: remove bogus reference to sysmmsystem.h
8387
8388         * gui-x.c (popup_selection_callback): fix no selection abort.
8389
8390 2000-05-02  Andy Piper  <andy@xemacs.org>
8391
8392         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8393         (mswindows_widget_instantiate): ditto.
8394
8395         * glyphs-widget.c (initialize_widget_image_instance): initialize
8396         children correctly.
8397         (widget_instantiate): cope with children and items in the same
8398         instance.
8399
8400         * glyphs.c (mark_image_instance): cope with children as a first
8401         class member.
8402         (image_instance_equal): ditto.
8403         (image_instance_hash): ditto.
8404         (image_instance_changed): ditto.
8405
8406 2000-04-30  Andy Piper  <andy@xemacs.org>
8407
8408         * glyphs.c (subwindow_query_geometry): new function. Return some
8409         defaults.
8410         (subwindow_instantiate): don't assign dimensions if none have been
8411         given.
8412         (image_instantiator_format_create): add subwindow_query_geometry.
8413         (print_image_instance): cope with layouts as widgets.
8414
8415 2000-04-29  Andy Piper  <andy@xemacs.org>
8416
8417         * frame.c (delete_frame_internal): call
8418         free_frame_subwindow_instance_cache so that all subwindows are
8419         finalized before their parent.
8420         (mark_frame): remove subwindow_cachels.
8421         (Fmake_frame): remove subwindow_cachel manipulation.
8422         (allocate_frame_core): subwindow_instance_cache is a weak list.
8423         (delete_frame_internal): set subwindow_instance_cache to nil.
8424
8425         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8426         finalization safe.
8427         (mswindows_finalize_image_instance): use the device
8428         not the domain as the domain may have died already.
8429
8430         * glyphs-x.c (x_finalize_image_instance): ditto.
8431         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8432         HEIGHT.
8433
8434         * redisplay-output.c (redisplay_unmap_subwindows): update for
8435         subwindow instance cache as a weak list.
8436         (redisplay_unmap_subwindows_maybe): ditto.
8437         (redisplay_unmap_subwindows_except_us): ditto.
8438
8439         * glyphs.c (unmap_subwindow): error checking will check the domain
8440         so don't deal with it here. Don't use cachels anymore.
8441         (map_subwindow): ditto.
8442         (update_subwindow_cachel_data): remove old accessor names.
8443         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8444         (Fresize_subwindow): don't update cachel.
8445         (mark_subwindow_cachels):
8446         (update_subwindow_cachel_data):
8447         (add_subwindow_cachel):
8448         (get_subwindow_cachel_index):
8449         (update_subwindow_cachel):
8450         (reset_subwindow_cachels):
8451         (mark_subwindow_cachels_as_not_updated): deleted.
8452         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8453         subwindow instance to the frame cache.
8454         (find_matching_subwindow): update for subwindow instance cache as
8455         a weak list.
8456         (update_widget_instances): ditto.
8457         (image_instance_type_to_mask):inlined.
8458         (free_frame_subwindow_instance_cache): new function. finalize all
8459         subwindows that are instantiated.
8460
8461         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8462         of cachel information.
8463         (IMAGE_INSTANCE_DISPLAY_X):
8464         (IMAGE_INSTANCE_DISPLAY_Y):
8465         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8466         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8467         (XIMAGE_INSTANCE_DISPLAY_X):
8468         (XIMAGE_INSTANCE_DISPLAY_Y):
8469         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8470         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8471         remove subwindow_cachel structure and function references.
8472         (image_instance_type_to_mask): inline from glyphs.c
8473
8474         * redisplay.c (redisplay_frame): remove subwindow_cachel
8475         references.
8476
8477         * frame.h (struct frame): remove subwindow_cachels.
8478         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8479
8480         * frameslots.h: add subwindow_instance_cache.
8481
8482         * window.c (replace_window): check subwindow cache of replacement.
8483         (window_unmap_subwindows_cache_mapper):
8484         (window_unmap_subwindows): new functions. Unmap all subwindows
8485         cached on this window.
8486         (mark_window_as_deleted): unmap all subwindows.
8487
8488 2000-04-27  Andy Piper  <andy@xemacs.org>
8489
8490         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8491
8492         * glyphs-widget.c (widget_layout): return something.
8493         (layout_layout): return something. Fail if not initialized.
8494         (layout_query_geometry): ditto.
8495         (image_instantiator_native_layout): new function. Initialized the
8496         native layout type.
8497         (widget_instantiate): don't do layout stuff here.
8498
8499         * glyphs.c (instantiate_image_instantiator): reorded calling or
8500         instantiate and post_instantiate with layout in between.
8501         (image_instance_layout): be more selective about deciding whether
8502         the layout has been done or not.
8503
8504         * glyphs.h (struct image_instantiator_methods): return a value
8505         from layout_method.
8506
8507 2000-04-26  Andy Piper  <andy@xemacs.org>
8508
8509         * glyphs.c (allocate_image_instance): make initial width and
8510         height unspecified. Set initialized to 0.
8511
8512         * syscommctrl.h new file. Encapsulates commctrl.h.
8513
8514         * syswindows.h new file. Encapsulates windows.h.
8515
8516         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8517         * nt.c: ditto.
8518         * console-msw.h: ditto.
8519
8520         * redisplay-tty.c (tty_output_display_block): remove layout references.
8521
8522         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8523         window handle rather than just the frame.
8524
8525         * glyphs.c (mark_image_instance): remove layout references.
8526         (print_image_instance): ditto.
8527         (image_instance_equal): ditto.
8528         (image_instance_hash): ditto.
8529         (decode_image_instance_type): ditto.
8530         (encode_image_instance_type): ditto.
8531         (image_instantiate): ditto.
8532         (allocate_glyph): ditto.
8533         (Fimage_instance_height): ditto.
8534         (Fimage_instance_width): ditto.
8535         (update_subwindow): ditto.
8536
8537         * redisplay-x.c (x_output_display_block): recode for layouts as
8538         widgets.
8539
8540         * redisplay-output.c (redisplay_output_layout): recode for layouts
8541         as widgets.
8542         (compare_runes): remove layout references.
8543
8544         * redisplay-msw.c (mswindows_output_display_block): recode for
8545         layouts as widgets.
8546
8547         * glyphs-widget.c (image_instantiator_layout): remove
8548         layout_possible_dest_types.
8549         (layout_possible_dest_types): deleted.
8550
8551         * glyphs.h (image_instance_type): remove layout references.
8552         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8553         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8554         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8555
8556 2000-04-25  Andy Piper  <andy@xemacs.org>
8557
8558         * glyphs-widget.c (image_instantiator_buttons):
8559         (image_instantiator_edit_fields):
8560         (image_instantiator_combo_box):
8561         (image_instantiator_scrollbar):
8562         (image_instantiator_progress_guage):
8563         (image_instantiator_tree_view):
8564         (image_instantiator_tab_control):
8565         (image_instantiator_labels):
8566         (image_instantiator_layout): call default post_instantiate method.
8567         (widget_post_instantiate): new function. Simply lays out the
8568         widgets.
8569
8570         * glyphs.h (struct image_instantiator_methods): add
8571         post_instantiate method.
8572
8573         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8574         method calls.
8575
8576 2000-04-23  Andy Piper  <andy@xemacs.org>
8577
8578         * glyphs.h (struct image_instantiator_methods): add
8579         decode_domain_method.
8580         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8581         derived from the domain.
8582         (IMAGE_INSTANCE_FRAME): new accessor.
8583         (XIMAGE_INSTANCE_FRAME): ditto.
8584
8585         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8586         instead of _SUBWINDOW_FRAME.
8587         (finalize_image_instance): ditto.
8588         (Fimage_instance_foreground): ditto.
8589         (Fimage_instance_background): ditto.
8590         (image_instantiate): ditto.
8591         (update_subwindow_cachel): ditto.
8592         (update_subwindow): ditto.
8593         (unmap_subwindow): ditto.
8594         (map_subwindow): ditto
8595         (subwindow_instantiate): ditto.
8596         * glyphs-msw.c (mswindows_update_widget): ditto.
8597         (mswindows_progress_gauge_instantiate): ditto.
8598         (mswindows_tab_control_update): ditto.
8599         * glyphs-x.c (x_update_widget): ditto.
8600         (x_widget_instantiate): ditto.
8601         (x_tab_control_instantiate): ditto.
8602         (x_tab_control_update): ditto.
8603         * event-msw.c (mswindows_wnd_proc): ditto
8604
8605         * glyphs-widget.c (image_instantiator_layout): use
8606         subwindow_decode_domain.
8607         (image_instantiator_buttons): ditto.
8608         (image_instantiator_edit_fields): ditto.
8609         (image_instantiator_combo_box): ditto.
8610         (image_instantiator_scrollbar): ditto.
8611         (image_instantiator_progress_guage): ditto.
8612         (image_instantiator_tree_view): ditto.
8613         (image_instantiator_tab_control): ditto.
8614         (image_instantiator_labels): ditto.
8615         (image_instantiator_layout): ditto.
8616
8617         * glyphs.c: add instance error checking to many functions.
8618         (instantiate_image_instantiator): decode device from cache_domain.
8619         (image_instantiate): partially rewrite by using
8620         decode_image_instantiator_domain to determine what domain the
8621         instance needs to be cached in.
8622         (decode_image_instantiator_domain): new function. Determine what
8623         domain the image needs to be cached in.
8624         (check_window_subwindow_cache): new error checking function.
8625         (check_instance_cache_mapper): ditto.
8626         (check_image_instance_structure): ditto.
8627         (subwindow_decode_domain): new function. Encodes a window as a
8628         subwindow's cache domain.
8629         (image_instantiator_format_create): use it for text and
8630         subwindows.
8631
8632 2000-04-21  Andy Piper  <andy@xemacs.org>
8633
8634         * glyphs.c (image_instance_device): new function.
8635         (image_instance_frame): new function.
8636         (image_instance_window): new function.
8637         (image_instance_live_p): new function.
8638
8639         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8640         cache to nil.
8641
8642         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8643         (IMAGE_INSTANCE_DOMAIN): new accessor.
8644         (XIMAGE_INSTANCE_DOMAIN): ditto.
8645
8646         * glyphs-x.c (x_finalize_image_instance): device->domain.
8647
8648         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8649         (mswindows_finalize_image_instance): ditto.
8650
8651         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8652         (gif_instantiate): ditto.
8653         (png_instantiate): ditto.
8654         (tiff_instantiate): ditto.
8655
8656         * glyphs.c (instantiate_image_instantiator): use domain rather
8657         than device.
8658         (mark_image_instance): device -> domain.
8659         (print_image_instance): ditto.
8660         (finalize_image_instance): ditto.
8661         (image_instance_equal): ditto.
8662         (allocate_image_instance): ditto.
8663         (Fcolorize_image_instance): ditto.
8664         (query_string_geometry): ditto.
8665         (image_instantiate): ditto
8666         (query_string_font): ditto.
8667         (image_instantiate): ditto.
8668         (update_subwindow): ditto.
8669         (unmap_subwindow): ditto.
8670         (map_subwindow): ditto.
8671         (subwindow_instantiate): ditto.
8672
8673         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8674         (DOMAIN_FRAME): ditto.
8675         (DOMAIN_WINDOW): ditto.
8676         (DOMAIN_LIVE_P): ditto.
8677         (XDOMAIN_DEVICE): ditto.
8678         (XDOMAIN_FRAME): ditto.
8679         (XDOMAIN_WINDOW): ditto.
8680
8681         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8682         a valid specifier domain.
8683
8684 2000-04-19  Andy Piper  <andy@xemacs.org>
8685
8686         * glyphs-widget.c (syms_of_glyphs_widget): remove
8687         widget-callback-current-channel.
8688         (vars_of_glyphs_widget): ditto.
8689         * glyphs.h: ditto
8690
8691         * gui.c (get_gui_callback): revert to previous behaviour.
8692
8693 2000-04-18  Andy Piper  <andy@xemacs.org>
8694
8695         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8696         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8697         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8698
8699         * glyphs.c (image_instance_equal): add margin_width.
8700         (image_instance_hash): ditto.
8701
8702         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8703         (layout_query_geometry): ditto.
8704         (layout_layout): ditto.
8705         (syms_of_glyphs_widget): add margin-width.
8706         (image_instantiator_layout): allow margin-width.
8707
8708         * glyphs.c (update_widget_instances): make a normal function.
8709         (syms_of_glyphs): remove Qupdate_widget_instances.
8710         * glyphs.h: ditto.
8711
8712         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8713         so that we don't corrupt ideas about the last event or
8714         command. Remove widget-callback-current-channel fiddling.
8715         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8716
8717 2000-05-01  Martin Buchholz <martin@xemacs.org>
8718
8719         * XEmacs 21.2.33 is released.
8720
8721 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8722
8723         * make-src-depend: Allow dots in header file name.
8724
8725 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8726
8727         * mule-charset.h (struct charset_lookup): Add
8728         next_allocated_1_byte_leading_byte and
8729         next_allocated_2_byte_leading_byte.
8730         * mule-charset.c: Move above two variables so that those values
8731         will be dumped.
8732
8733 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8734
8735         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8736         when string length is zero.
8737         (find_charsets_in_emchar_string): Ditto.
8738
8739 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8740
8741         * lisp.h: extern Qdialog and Qmenubar.
8742
8743         * gui-x.c: added events.h.
8744                 also fixed typo which made the file uncompilable.
8745
8746         * general.c: Added Qmenubar and Qdialog
8747
8748 2000-04-28  Ben Wing  <ben@xemacs.org>
8749
8750         * frame-msw.c (mswindows_init_frame_1):
8751         * frame-msw.c (mswindows_mark_frame):
8752         * event-msw.c (mswindows_enqueue_dispatch_event):
8753         * console-msw.h:
8754         * console-msw.h (struct mswindows_frame):
8755         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8756         there are now three hash tables for callbacks.
8757         mswindows_enqueue_dispatch_event is no longer static.
8758
8759         * dialog-x.c (maybe_run_dbox_text_callback):
8760         * dialog-x.c (dbox_descriptor_to_widget_value):
8761         switch to new cons3 form for callbacks.
8762
8763         * glyphs-msw.c (mswindows_register_gui_item):
8764         * glyphs-msw.c (mswindows_widget_instantiate):
8765         * glyphs-msw.c (add_tree_item):
8766         * glyphs-msw.c (add_tab_item):
8767         new image instance parameter, so it can be passed to callback-ex.
8768         respect :callback-ex as well as :callback.
8769
8770         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8771         add :callback-ex.
8772
8773         * glyphs.c (print_image_instance):
8774         prettify, e.g. now prints widget type.
8775
8776         * gui-x.h:
8777         certain funs have new image instance parameter.
8778
8779         * gui.c:
8780         * gui.c (get_gui_callback):
8781         * gui.c (gui_item_add_keyval_pair):
8782         * gui.c (gui_item_init):
8783         * gui.c (gui_add_item_keywords_to_plist):
8784         * gui.c (mark_gui_item):
8785         * gui.c (gui_item_hash):
8786         * gui.c (gui_item_equal):
8787         * gui.c (copy_gui_item):
8788         * gui.c (syms_of_gui):
8789         recognize callback-ex in a number of places.
8790         also, fix the annoying "can't get out of yes-no dialog" bug.
8791
8792         * gui.h:
8793         * gui.h (struct Lisp_Gui_Item):
8794         recognize callback-ex in a number of places.
8795
8796         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8797         new parameter in button_item_to_widget_value.
8798
8799         * glyphs-x.c (x_update_widget):
8800         * glyphs-x.c (x_button_instantiate):
8801         * glyphs-x.c (x_button_update):
8802         * glyphs-x.c (x_progress_gauge_instantiate):
8803         * glyphs-x.c (x_edit_field_instantiate):
8804         * glyphs-x.c (x_combo_box_instantiate):
8805         * glyphs-x.c (x_tab_control_instantiate):
8806         * glyphs-x.c (x_label_instantiate):
8807         new image instance parameter in various places.
8808
8809         * event-Xt.c:
8810         * event-Xt.c (enqueue_Xt_dispatch_event):
8811         this fun gets exported.
8812
8813         * gui-msw.c:
8814         * gui-msw.c (mswindows_handle_gui_wm_command):
8815         handle both :callback and :callback-ex, and generate our own
8816         event because it's one of the callback-ex arguments.
8817
8818         * gui-x.c:
8819         * gui-x.c (popup_selection_callback):
8820         handle both :callback and :callback-ex, and generate our own
8821         event because it's one of the callback-ex arguments.
8822         * gui-x.c (button_item_to_widget_value):
8823         * gui-x.c (gui_items_to_widget_values_1):
8824         * gui-x.c (gui_item_children_to_widget_values):
8825         * gui-x.c (gui_items_to_widget_values):
8826         new image instance parameter in various places.
8827
8828         * fns.c (Freplace_list):
8829         fix small typo in doc string.
8830
8831         * lisp.h:
8832         declare enqueue_Xt_dispatch_event.
8833
8834 2000-04-28  Ben Wing  <ben@xemacs.org>
8835
8836         * buffer.c:
8837         * buffer.c (Frecord_buffer):
8838         * buffer.c (syms_of_buffer):
8839         delete record-buffer-hook.
8840
8841         * fns.c:
8842         * fns.c (Freplace_list):
8843         * fns.c (syms_of_fns):
8844         new primitive replace-list.
8845
8846         * frameslots.h:
8847         slot for old buffer-alist.
8848
8849         * lisp.h:
8850         exfun replace-list.
8851
8852         * redisplay.c:
8853         * redisplay.c (redisplay_frame):
8854         * redisplay.c (syms_of_redisplay):
8855         * redisplay.c (vars_of_redisplay):
8856         new hook buffer-list-changed-hook.
8857         call it.
8858
8859 2000-04-27  Ben Wing  <ben@xemacs.org>
8860
8861         * extents.h: extern in_modeline_generation.
8862
8863         * redisplay.c (generate_formatted_string_db): set
8864         in_modeline_generation.
8865
8866         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8867         flags if in modeline generation.  otherwise frame-modified-tick
8868         is ticked far too often.
8869         Declare in_modeline_generation.
8870
8871 2000-04-26  Ben Wing  <ben@xemacs.org>
8872
8873         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8874         option.
8875         (vars_of_emacs): add quick-build as an error-checking option.
8876         A bit kludgy, but there doesn't seem much point in creating
8877         a real var for this.
8878
8879         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8880
8881 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8882
8883         * redisplay.h (struct display_line): Add a new variable,
8884         line_continuation.
8885
8886         * redisplay.c (create_text_block): Set dl->line_continuation if
8887         the line continues.
8888         (create_string_text_block): Ditto.
8889         (regenerate_window_incrementally): Use line_continuation instead
8890         of searching continuation glyph.
8891         (add_margin_runes): Call add_glyph_rune.
8892         (add_glyph_rune): Handle margin glyph.
8893
8894 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8895
8896         * filelock.c (fill_in_lock_file_name):
8897         ANSIfy.
8898         Check for IS_ANY_SEP instead of '/'.
8899         (lock_file_1):
8900         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8901         Never check errno without first seeing that system call failed.
8902         (unlock_file): Add GCPRO.
8903         (Flock_buffer): Fix docstring.
8904         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8905
8906 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8907
8908         * sysdep.c (get_pty_max_bytes):
8909         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8910         strings longer than 252 bytes.
8911
8912         * md5.c: Unconditionally include ANSI header <limits.h>
8913
8914         * glyphs-x.c (convert_EImage_to_XImage):
8915         * lisp-union.h (union Lisp_Object):
8916         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8917
8918 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8919
8920         * filelock.c (current_lock_owner): Remove unused variable o, p.
8921
8922 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8923
8924         * callint.c: Remove multiply defined symbol Qlet
8925         (syms_of_callint): ditto.
8926
8927 2000-04-14  Andy Piper  <andy@xemacs.org>
8928
8929         * general.c (syms_of_general): add last-command, this-command, let
8930         and funcall.
8931
8932         * lisp.h: declare various symbols.
8933
8934         * glyphs.h: declare Qwidget_callback_current_channel;
8935
8936         * glyphs-widget.c (syms_of_glyphs_widget): add
8937         Qgui_callback_current_channel.
8938         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8939
8940         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8941         widget-callback-current-channel when invoking the interactive
8942         arg. Also bind last-command and next-command when invoking the
8943         widget updates.
8944         * gui-x.c (popup_selection_callback): ditto.
8945
8946         * gui.c (get_gui_callback): massage args so that we are always
8947         calling eval. This allows us to add our own variable bindings
8948         outside.
8949
8950         * glyphs-x.c (x_button_instantiate): use
8951         gui_items_to_widget_values since this is GC safe.
8952         (x_progress_gauge_instantiate): ditto.
8953         (x_edit_field_instantiate): ditto.
8954         (x_label_instantiate): ditto.
8955
8956         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8957         (emacs_Xt_event_widget_focus_out): new function
8958         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8959         focus.
8960         (emacs_Xt_event_add_widget_actions): new function. add focus
8961         functions as actions.
8962         (init_event_Xt_late): use it.
8963
8964 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8965
8966         * event-stream.c (Fdispatch_event): Doc fix.
8967
8968 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8969
8970         * postgresql.c: Remove all references to PQsetenv*.
8971
8972         * postgresql.h: Remove references to PGsetenvHandler object.
8973         * lrecord.h (lrecord_type): Ditto.
8974
8975 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8976
8977         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8978         real_heigh and real_width members, and accessor macros for these.
8979
8980         * glyphs-msw.c (init_image_instance_geometry): New function.
8981         (init_image_instance_from_dibitmap): Use it.
8982         (mswindows_resource_instantiate): Use it.
8983         (init_image_instance_from_xbm_inline): Use it.
8984         (mswindows_initialize_image_instance_mask): Use real bitmap
8985         geometry.
8986         (mswindows_create_resized_bitmap): Ditto.
8987         (mswindows_create_resized_mask): Ditto.
8988
8989         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8990         and bitmap to their surface size.
8991
8992 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8993
8994         * process-unix.c (unix_send_process): Guard against process MIA
8995         after Faccept_process_output.
8996
8997 2000-04-11  Ben Wing  <ben@xemacs.org>
8998
8999         * eval.c (unbind_to_hairy): fix brokenness introduced by
9000         nanosecond speed improvements.
9001
9002 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9003
9004         * sunplay.c (init_device): To play sounds correctly, the device
9005         apparently needs to be initialized at least once by XEmacs.  Make
9006         it so.
9007
9008 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9009
9010         * redisplay.c (add_margin_runes): Add text image glyph
9011           handling.
9012
9013 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9014
9015         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9016         gcc is newer than 2.5.
9017
9018 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9019
9020         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9021
9022         * fns.c (size_bit_vector):
9023         * alloc.c (size_vector):
9024         (make_vector_internal):
9025         (make_bit_vector_internal):
9026         (sweep_bit_vectors_1):
9027         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9028
9029 2000-04-06  Andy Piper  <andy@xemacs.org>
9030
9031         * gmalloc.c (malloc): undo previous change.
9032         (malloc): ditto.
9033         (free): ditto.
9034         (realloc): ditto.
9035
9036 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9037
9038         * line-number.c (buffer_line_number): Revert to former version.
9039
9040 2000-04-06  Andy Piper  <andy@xemacs.org>
9041
9042         * gmalloc.c (malloc): add error checking.
9043         (malloc): ditto.
9044         (free): ditto.
9045         (realloc): ditto.
9046
9047         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9048         button_item_to_widget_value arg.
9049
9050         * glyphs-x.c (x_button_instantiate): add extra
9051         button_item_to_widget_value arg.
9052         (x_progress_gauge_instantiate): ditto.
9053         (x_edit_field_instantiate): ditto.
9054         (x_label_instantiate): ditto.
9055
9056         * gui-x.c (gui_items_to_widget_values_1): add extra
9057         button_item_to_widget_value arg.
9058         (button_item_to_widget_value): add extra menu_item_p arg.
9059
9060         * gui-x.h: change signature of button_item_to_widget_value.
9061
9062         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9063         button_item_to_widget_value arg.
9064
9065 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9066
9067         * buffer.h (struct buffer): auto_save_modified should be long.
9068
9069 2000-04-05  Andy Piper  <andy@xemacs.org>
9070
9071         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9072         type.
9073         (button_query_geometry): give a little more room so that athena
9074         buttons fit.
9075
9076 2000-04-05  Andy Piper  <andy@xemacs.org>
9077
9078         * faces.c (complex_vars_of_faces): The widget face should inherit
9079         the font of the gui-element face.
9080
9081 2000-04-04  Andy Piper  <andy@xemacs.org>
9082
9083         * glyphs-x.c (x_button_update): new function. unconditionally
9084         update a button's state when the instance is dirty.
9085         (image_instantiator_format_create_glyphs_x): add x_button_update.
9086         (x_widget_instantiate): remove old resize cruft.
9087
9088 2000-04-02  Andy Piper  <andy@xemacs.org>
9089
9090         * frame.c (change_frame_size_1): The introduction of gutters means
9091         that we need to allow 0 as a potential frame dimension.
9092
9093 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9094
9095         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9096         image glyph if allow_cursor.
9097         (add_hscroll_rune): Don't allow cursor to border glyph.
9098         (create_text_block): Ditto.
9099
9100         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9101         text not in buffer.
9102         (redisplay_output_layout): Call ensure_face_cachel_complete for
9103         text image glyph.
9104
9105
9106 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9107
9108         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9109
9110         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9111         not in buffer
9112
9113         * redisplay-tty.c (tty_output_display_block): Delete the routine
9114         for text image glyph
9115         * redisplay-x.c (x_output_display_block): ditto
9116         * redisplay-msw.c (mswindows_output_display_block): ditto
9117
9118 2000-02-02  Mike Alexander  <mta@arbortext.com>
9119
9120         Note: Some of these were committed by accident as part of other
9121         patches.
9122
9123         * regex.c (regex_compile): Avoid compiler warnings.
9124
9125         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9126
9127         * nt.h: Declare term_ntproc correctly.
9128
9129         * nt.c: Remove incorrect declaration of get_home_directory which
9130         is declared correctly in lisp.h.
9131
9132         * keymap.c (get_keyelt): Avoid compiler warnings.
9133         (raw_lookup_key_mapper): Avoid compiler warnings.
9134
9135         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9136
9137         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9138
9139         * filemode.c (mode_string): Avoid compiler warnings.
9140
9141         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9142         avoid warning.
9143
9144         * events-mod.h: Undef some things that winuser.h defines differently.
9145
9146         * data.c (Faset): Avoid compiler warnings.
9147
9148         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9149
9150 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9151
9152         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9153         Fall through to simple beep on error.
9154         Replace "extern" by real header file.
9155
9156         * linuxplay.c: Use nativesound.h
9157         (play_sound_data): Return error code. Be less verbose on error.
9158
9159         * sunplay.c: Use nativesound.h
9160         (play_sound_data): Return error code. Be less verbose on error.
9161
9162         * ntplay.c: Use nativesound.h
9163         (play_sound_data): Return fake error code
9164
9165         * sgiplay.c: Use nativesound.h
9166         (play_sound_data): Return error code
9167
9168         * hpplay.c: Use nativesound.h, partially implement
9169         new error code. Break compilation until finished.
9170         (play_sound_data): error code.
9171
9172         * nativesound.h (play_sound_file):
9173           (play_sound_data): Prototype in new header.
9174
9175 2000-03-31  Andy Piper  <andy@xemacs.org>
9176
9177         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9178         for toggle and radio buttons.
9179         (image_instantiator_buttons): use it.
9180
9181 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9182
9183         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9184         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9185         found. Scrollbar event probably belonged to some old config.
9186
9187 2000-03-31  Andy Piper  <andy@xemacs.org>
9188
9189         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9190         than 1.
9191         (initialize_widget_image_instance): default layout to
9192         LAYOUT_HORIZONTAL rather than 0.
9193         (widget_instantiate): reverse the item list at the end rather than
9194         every iteration.
9195         (layout_layout): re-code for the border text at the front of the
9196         item list rather than at the end.
9197         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9198         provided by the user.
9199         (widget_query_geometry): comment.
9200
9201 2000-03-30  Andy Piper  <andy@xemacs.org>
9202
9203         * glyphs-widget.c (image_instantiator_layout): allow standard
9204         widget keywords in layouts.
9205
9206         * gutter.c (output_gutter): cope with nil gutter contents.
9207
9208         * frame.c (Fset_frame_properties): add gutter docs.
9209
9210 2000-03-29  Andy Piper  <andy@xemacs.org>
9211
9212         * toolbar-msw.c (TBSTYLE_FLAT): add.
9213         (mswindows_output_toolbar): minor fiddling.
9214
9215 2000-03-29  Andy Piper  <andy@xemacs.org>
9216
9217         * gutter.c (output_gutter): force gutter size recalculation if
9218         what we are trying to display won't fit.
9219         (update_gutter_geometry): new function. A per-gutter version of
9220         update_frame_gutter_geometry.
9221         (update_frame_gutter_geometry): use it.
9222         (redraw_exposed_gutter): add extra debugging output.
9223
9224 2000-03-28  Mike Alexander  <mta@arbortext.com>
9225
9226         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9227         (pdump_file_unmap): Implement it on Windows
9228         (pdump_file_get): Save alocated handles for pdump_file_unmap
9229
9230 2000-03-28  Andy Piper  <andy@xemacs.org>
9231
9232         * gui.c (get_gui_callback): treat Quit specially.
9233
9234 2000-03-27  Andy Piper  <andy@xemacs.org>
9235
9236         * glyphs.c (image_instantiate): be careful to check in the same
9237         way we assigned.
9238
9239 2000-03-27  Didier Verna  <didier@xemacs.org>
9240
9241         * config.h.in: define the proper SMART_INCLUDE macro.
9242         handle renaming of `foo_h_path' to `foo_h_file'.
9243
9244         * database.c: ditto.
9245
9246         * emacs.c: ditto.
9247
9248         * linuxplay.c: ditto.
9249
9250         * terminfo.c: ditto.
9251
9252         * tooltalk.h: ditto.
9253
9254 2000-03-27  Andy Piper  <andy@xemacs.org>
9255
9256         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9257         gets updated whenever the face might have changed.
9258
9259 2000-03-26  Mike Alexander  <mta@arbortext.com>
9260
9261         * dumper.c (pdump_resource_free): Fix the comment.
9262
9263 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9264
9265         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9266
9267 2000-03-22  Mike Alexander  <mta@arbortext.com>
9268
9269         * dumper.c: Include Windows headers on Windows
9270         (pdump_resource_free): Add a body to the function
9271         (pdump_load): exe_name -> exe_path and add some comments.
9272
9273 2000-03-25  Mike Alexander  <mta@arbortext.com>
9274
9275         * gui.c (copy_gui_item_tree): Return a value in all cases
9276
9277 2000-03-21  Didier Verna  <didier@xemacs.org>
9278
9279         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9280         lwlib/config.h.in.
9281         (SMART_INCLUDE): new macro.
9282         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9283         the proper location.
9284
9285         * postgresql.c: use it.
9286
9287         * inline.c: ditto.
9288
9289 2000-03-24  Andy Piper  <andy@xemacs.org>
9290
9291         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9292         do this.
9293
9294 2000-03-24  Andy Piper  <andy@xemacs.org>
9295
9296         * redisplay-output.c (compare_runes): use image_instance_changed
9297         to detect changes. Do not depend on glyphs_changed, only depend on
9298         dirtiness.
9299          (redisplay_output_layout): add debug messages.
9300         (compare_runes): ditto.
9301
9302         * glyphs.h: declare new functions.
9303         (struct Lisp_Image_Instance): remove percent and associated
9304         accessors.
9305
9306         * gui.h: declare new copying functions.
9307
9308         * gui.c (copy_gui_item_tree): new function.
9309         (copy_gui_item): new function.
9310         (gui_item_id_hash): revert to standard hash.
9311         (gui_item_hash): ditto.
9312         (gui_item_hash_internal): deleted.
9313         (mark_gui_item): mark value.
9314         (gui_item_add_keyval_pair): add value.
9315         (gui_item_init): ditto.
9316         (gui_add_item_keywords_to_plist): ditto.
9317         (gui_item_equal): ditto.
9318         (syms_of_gui): add Q_value.
9319
9320         * glyphs-x.c (x_progress_gauge_update): use pending items and
9321         value for setting the state.
9322         (x_update_widget): don't set items from pending here.
9323
9324         * glyphs-widget.c (update_widget): update items here.
9325         (progress_gauge_set_property): use items for storing value. Put
9326         new value in pending items.
9327
9328         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9329         items for new value. Convert percent -> value.
9330         (mswindows_tab_control_update): don't update items here.
9331
9332         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9333         (update_subwindow): ditto.
9334         (image_instance_changed): new function. Compare hash values and
9335         past and present widget items.
9336         (image_instantiate): We more careful about where we instantiate
9337         things.
9338         (image_instantiate): add error checking.
9339
9340         * gutter.c (syms_of_gutter): use -hook.
9341
9342 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9343
9344         * console-tty.c (Fset_console_tty_input_coding_system): Use
9345         Qkeyboard.
9346         (Fset_console_tty_output_coding_system): Use Qterminal.
9347         (tty_init_console): Use Qkeyboard and Qterminal.
9348
9349 2000-03-21  Ben Wing  <ben@xemacs.org>
9350
9351         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9352         From Mike Alexander <mta@arbortext.com>.
9353
9354 2000-03-21  Ben Wing  <ben@xemacs.org>
9355
9356         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9357         process brokenness.  Proper implementation to come.
9358         * callproc.c:
9359         Rename call-process-internal to old-call-process-internal.
9360         New impl. in process.el.
9361
9362 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9363
9364         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9365
9366 2000-03-20  Andy Piper  <andy@xemacs.org>
9367
9368         * glyphs.c (full_list_hash): make hashes of the same elements in
9369         different orders return different values.
9370
9371 2000-03-20  Martin Buchholz <martin@xemacs.org>
9372
9373         * XEmacs 21.2.32 is released.
9374
9375 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9376
9377         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9378         (DFC_MALLOC_USE_CONVERTED_DATA):
9379         Add aliasing-safe casts to allow use with char* or unsigned char*
9380         lvalues.
9381
9382         * eldap.c (Fldap_open):
9383         (Fldap_search_basic):
9384         (Fldap_add):
9385         (Fldap_modify):
9386         Make C++-compilable.
9387         Make sure GCPRO'ed variables are initialized.
9388         Use temp variables to avoid repeated calls to Flength.
9389
9390 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9391
9392         * sysfile.h:
9393         Make sure PATH_MAX is always defined.
9394         Include limits.h for PATH_MAX.
9395         Deprecate use of MAXPATHLEN.
9396
9397 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9398
9399         * emacs.c: Add reinit_vars_of_fileio.
9400         * symsinit.h: Add reinit_vars_of_fileio.
9401         * fileio.c (reinit_vars_of_fileio): New.
9402         * fileio.c (Fmake_temp_name):
9403         Initialize temp_name random number from microseconds to make
9404         collisions even less likely.  Initialize always at process startup
9405         time.  (make-temp-name) used to return the same file name twice in
9406         a row when PDUMP.
9407         Random stylistic fiddling.
9408         Comment fixes.
9409
9410 2000-03-20  Andy Piper  <andy@xemacs.org>
9411
9412         * glyphs.c (image_instantiate): allow text glyphs to be
9413         instantiated in the minibuffer window.
9414
9415 2000-03-19  Andy Piper  <andy@xemacs.org>
9416
9417         * glyphs.c (image_instance_hash): be careful about which items we
9418         hash on.
9419
9420         * glyphs-widget.c (tab_control_set_property): record into pending
9421         items rather than the actual items.
9422
9423         * glyphs-x.c (x_update_widget): use pending items to update with.
9424
9425         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9426         to update with.
9427
9428         * glyphs.c (mark_image_instance): mark pending items.
9429
9430         * window.c (Fset_window_configuration): record the buffer.
9431         (Fselect_window): totally revert previous change which breaks many
9432         things.
9433
9434 2000-03-18  Andy Piper  <andy@xemacs.org>
9435
9436         * glyphs-msw.c (mswindows_tab_control_update): force selected
9437         item.
9438
9439         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9440         window domain cache, otherwise we get inconsistencies at
9441         startup. There is something fishy at startup which can lead to the
9442         minibuffer being the selected window when the gutter content is
9443         instantiated.
9444
9445         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9446         gcpros.
9447         (parse_gui_item_tree_children): ditto.
9448         (parse_gui_item_tree_item): ditto.
9449
9450         * glyphs.c (Fupdate_widget_instances): return something.
9451
9452 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9453
9454         * window.c (Fselect_window): Undo 2000-03-17 change.
9455
9456 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9457
9458         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9459         against v7.0 libraries.  Insta-coredump city until the postgres
9460         folks fix it.
9461
9462 2000-03-17  Andy Piper  <andy@xemacs.org>
9463
9464         * faces.c (complex_vars_of_faces): don't give the widget face an
9465         inherited background pixmap.
9466
9467         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9468         selected item.
9469
9470         * event-stream.c (Fdispatch_non_command_events): return something.
9471
9472         * gutter.c (output_gutter): use widget face.
9473         (clear_gutter): ditto.
9474
9475         * NEWS: adjust again.
9476
9477         * window.c (Fselect_window): make sure this runs to completion to
9478         avoid oddities with Fset_window_configuration.
9479         (Fcurrent_window_configuration): in general do not save the
9480         minibuffer as the selected window.
9481
9482         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9483
9484 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9485
9486         * emacs.c (Frunning_temacs_p): Revert previous patch.
9487         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9488
9489 2000-03-16  Andy Piper  <andy@xemacs.org>
9490
9491         * glyphs-x.c (x_tab_control_update): if no widget values then
9492         return.
9493
9494         * NEWS: update for new features.
9495
9496         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9497         synthetic event to the native system.
9498         (reinit_vars_of_event_Xt): set force_event_pending to
9499         emacs_Xt_force_event_pending.
9500
9501         * events.h (struct event_stream): add force_event_pending.
9502
9503         * specifier.c (recompute_one_cached_specifier_in_window): add
9504         comment.
9505
9506         * redisplay.c (redisplay_frame): don't call
9507         update_frame_subwindows. Reset subwindow cachels when
9508         subwindows_changed, removing this was an optimization too far.
9509
9510         * redisplay-output.c (compare_runes): reorganize so that we catch
9511         glyph changes when we want them. Set optimize_output when this
9512         would help layouts.
9513         (redisplay_output_layout): remove frame_really_changed, use
9514         optimize_output instead.
9515
9516         * redisplay-msw.c (mswindows_output_display_block): reset
9517         optimize_output after outputting a glyph.
9518         * redisplay-x.c (x_output_display_block): ditto.
9519         * redisplay-tty.c (tty_output_display_block): ditto.
9520
9521         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9522         functions.
9523         (gutter_specs_changed): do specific gutter positions.
9524         (top_gutter_specs_changed): new function. Only update the
9525         specified gutter specs.
9526         (bottom_gutter_specs_changed): ditto.
9527         (left_gutter_specs_changed): ditto.
9528         (right_gutter_specs_changed): ditto.
9529
9530         * gui.c (gui_item_hash_internal): new function, does a real hash.
9531         (gui_item_id_hash): use it.
9532         (gui_item_hash): hash the eval'ed gui_item.
9533
9534         * gui-x.c (popup_selection_callback): send an eval event to call
9535         Fupdate_widget_instances.
9536
9537         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9538         to call Fupdate_widget_instances.
9539
9540         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9541         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9542
9543         * glyphs.c: (update_frame_subwindows): deleted.
9544         (Fupdate_widget_instances): new function for updating the dirty
9545         state of widgets that might have changed.
9546         (syms_of_glyphs): add Qupdate_widget_instances.
9547         (full_list_hash): hash a list completely.
9548         (image_instance_hash): use it for items and properties.
9549
9550         * frame-msw.c (mswindows_size_frame_internal): remove unused
9551         variable.
9552
9553         * faces.h (struct face_cachel): fix comment.
9554
9555         * event-stream.c (Fdispatch_non_command_events): new
9556         function. Process non-command events, forcing an event cycle
9557         beforehand.
9558         (syms_of_event_stream): declare.
9559         (event_stream_force_event_pending): new function. Force an event
9560         on the native event queue so that an event cycle will occur next
9561         time we check.
9562
9563         * event-msw.c:
9564         (struct ntpipe_shove_stream):
9565         (mswindows_enqueue_dispatch_event):
9566         (mswindows_dequeue_dispatch_event):
9567         (mswindows_cancel_dispatch_event):
9568         (mswindows_pump_outstanding_events):
9569         (mswindows_drain_windows_queue):
9570         (mswindows_handle_paint):
9571         (mswindows_wnd_proc):
9572         (mswindows_key_to_emacs_keysym):
9573         (get_process_input_waitable):
9574         (emacs_mswindows_delete_stream_pair): re-indent file.
9575         (mswindows_need_event): do not process further fds if the windows
9576         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9577         fixes the 100% cpu problem.
9578         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9579
9580 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9581
9582         * alloc.h: New.
9583         * dumper.h: New.
9584         * dumper.c: New.
9585
9586         * emacs.c: Moved dump file searching to dumper.c.
9587         (Frunning_temacs_p): Fixed.
9588
9589         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9590         last_lrecord_type_index_assigned.
9591
9592 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9593
9594         * symsinit.h: Added reinit parameter to init_console_stream
9595         declaration.
9596
9597         * lisp.h: Added file parameter to pdump_load declaration.
9598
9599         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9600         support.  Added dump file searching.
9601
9602         * config.h.in: Added EMACS_PROGNAME.
9603
9604         * console-stream.c (init_console_stream): Fix reinitialisation
9605         when running from temacs.
9606
9607         * alloc.c (pdump): Add id support.
9608         (pdump_load): Add file parameter and signature/id support.
9609
9610         * Makefile.in.in: Add full pdump support.
9611
9612 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9613
9614         * postgresql.c: Update documentation to reflect latest code
9615         status.
9616         (print_result): Show tuple counts in printed representation when
9617         appropriate.
9618         (Fpq_put_nbytes): MULE-ize.
9619         (Fpq_get_line_async): Ditto.
9620
9621 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9622
9623         * postgresql.c (Fpq_lo_import): Fix return value.
9624         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9625
9626 2000-03-13  Ben Wing  <ben@xemacs.org>
9627
9628         * alloc.c (pdump_load):
9629         Fix compile warning under mswin.
9630
9631 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9632
9633         * postgresql.c: Mule-ization, bug fixes.
9634         Use PG_CODING to encapsulate coding system name changes.
9635         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9636         (pg-coding-system): Create.
9637
9638         (Fpq_conn_defaults): Mule-ize.
9639         (Fpq_connectdb): Mule-ize & bug fix.
9640         (Fpq_connect_start): Mule-ize.
9641         (Fpq_set_client_encoding): Mule-ize.
9642         (Fpq_finish): Document `DEAD' connection status.
9643         (Fpq_clear): Ditto.
9644         (Fpq_pgconn): Mule-ize.
9645         (Fpq_exec): Mule-ize & bug fix.
9646         (Fpq_send_query): Ditto.
9647         (Fpq_get_result): Ditto.
9648         (Fpq_res_status): Mule-ize.
9649         (Fpq_result_error_message): Mule-ize.
9650         (Fpq_ntuples): fix comments.
9651         (Fpq_fname): Mule-ize.
9652         (Fpq_fnumber): Mule-ize.
9653         (Fpq_ftype): fix comments.
9654         (Fpq_get_value): Mule-ize.
9655         (Fpq_cmd_status): Ditto.
9656         (Fpq_cmd_tuples): Ditto.
9657         (Fpq_oid_value): Ditto.
9658         (Fpq_notifies): Ditto.
9659         (Fpq_lo_import): Ditto.
9660         (Fpq_lo_export): Ditto.
9661         (Fpq_get_line): Ditto.
9662         (Fpq_put_line): Mule-ize and bug fix.
9663         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9664
9665 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9666
9667         * postgresql.c (vars_of_postgresql): Mule-ize.
9668         (Fpq_conn_defaults): Ditto.
9669
9670 2000-03-12  Ben Wing  <ben@xemacs.org>
9671
9672         * alloc.c (Fmake_byte_code):
9673         * alloc.c (debug_string_purity_print):
9674         * alloc.c (pdump_backtrace):
9675         * alloc.c (pdump_get_indirect_count):
9676         * alloc.c (pdump_register_sub):
9677         * alloc.c (pdump_register_object):
9678         * alloc.c (pdump_register_struct):
9679         * alloc.c (pdump_dump_data):
9680         * alloc.c (pdump_reloc_one):
9681         Minor cleanups.
9682
9683         * console-msw.c:
9684         * console-msw.c (GetConsoleHwnd):
9685         * console-msw.c (msw_hide_console):
9686         * console-msw.c (msw_show_console):
9687         * console-msw.c (msw_ensure_console_buffered):
9688         * console-msw.c (msw_output_console_string):
9689         * console-msw.c (console_type_create_mswindows):
9690
9691         a) Added functions to manipulate the console window for use with
9692         shell support.
9693
9694         b) Added support for writing text to the console, which is now
9695         used under Windows when xemacs is not being run non-interactively,
9696         to write text that would otherwise be destined for stdout because
9697         under these circumstances, text written to stdout tends to
9698         disappear and not be seen.
9699
9700         * console-msw.h:
9701         * event-Xt.c:
9702         * event-Xt.c (x_event_to_emacs_event):
9703         * event-Xt.c (describe_event_window):
9704         * events-mod.h (XEMACS_MOD_CONTROL):
9705         * events.c:
9706         * events.c (Fmake_event):
9707         * events.c (character_to_event):
9708         * events.c (event_to_character):
9709         * events.c (format_event_object):
9710         * events.c (Fevent_modifiers):
9711         * events.h:
9712         * events.h (struct key_data):
9713         * events.h (struct button_data):
9714         * events.h (struct misc_user_data):
9715         * frame-x.c (Fcde_start_drag_internal):
9716         * frame-x.c (Foffix_start_drag_internal):
9717         * gpmevent.c (Freceive_gpm_event):
9718         * keymap.c:
9719         * keymap.c (bucky_sym_to_bucky_bit):
9720         * keymap.c (control_meta_superify):
9721         * keymap.c (make_key_description):
9722         * keymap.c (keymap_lookup_directly):
9723         * keymap.c (create_bucky_submap):
9724         * keymap.c (keymap_store):
9725         * keymap.c (define_key_check_and_coerce_keysym):
9726         * keymap.c (define_key_parser):
9727         * keymap.c (define_key_alternate_name):
9728         * keymap.c (Fdefine_key):
9729         * keymap.c (raw_lookup_key_mapper):
9730         * keymap.c (struct map_keymap_unsorted_closure):
9731         * keymap.c (map_keymap_unsorted_mapper):
9732         * keymap.c (map_keymap_sort_predicate):
9733         * keymap.c (map_keymap_sorted):
9734         * keymap.c (accessible_keymaps_mapper_1):
9735         * keymap.c (where_is_recursive_mapper):
9736         * keymap.c (describe_map_mapper):
9737         * keymap.c (describe_map_sort_predicate):
9738         * keymap.c (describe_map):
9739         * keymap.c (complex_vars_of_keymap):
9740         And a number of other files, the key modifier preprocessor
9741         constants that xemacs uses have names that conflict with constants
9742         defined under MS Windows for other purposes, so they were renamed
9743         to begin with the prefix XEMACS_. The variables that hold such
9744         modifiers were changed to consistently be of type int to fix
9745         various compile warnings.
9746
9747         * console.c (complex_vars_of_console):
9748         * device.c:
9749         * device-msw.c:
9750         * device-msw.c (mswindows_finish_init_device):
9751         * device-msw.c (msw_get_workspace_coords):
9752         * device-msw.c (mswindows_device_system_metrics):
9753         and various other files, added support for a new
9754         device property called offset-workspace which returns the position
9755         of the upper left corner of the workspace area and goes along with
9756         the existing size-workspace property.
9757
9758         * dialog-msw.c:
9759         * dialog-msw.c (push_bufbyte_string_as_unicode):
9760         * dialog-msw.c (mswindows_popup_dialog_box):
9761         Added support for XEmacs-style accelerator specifications in
9762         button text.  Note: I didn't add support for this under X Windows,
9763         and somebody needs to do this.
9764
9765         * dialog.c:
9766         * dialog.c (Fpopup_dialog_box):
9767         Documented the support for accelerators that was just mentioned.
9768
9769         editfns.c (get_home_directory): Changed behavior under Windows
9770         when HOME not defined; former behavior was irretrievably broken.
9771
9772         * emacs.c:
9773         * emacs.c (main_1):
9774         * emacs.c (main):
9775         * minibuf.c (clear_echo_area_internal):
9776         * minibuf.c (echo_area_append):
9777         * print.c:
9778         * print.c (std_handle_out_external):
9779         * print.c (std_handle_out_va):
9780         * print.c (fatal):
9781         * print.c (write_string_to_stdio_stream):
9782         * print.c (output_string):
9783         * print.c (debug_print):
9784         * print.c (debug_backtrace):
9785         * print.c (debug_short_backtrace):
9786         Cleaned up the code that prints text to stdout so that this can be
9787         changed to output into a console window instead under MS Windows,
9788         as described above.
9789
9790         * eval.c:
9791         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9792         * eval.c (internal_catch):
9793         * eval.c (unwind_to_catch):
9794         * eval.c (throw_or_bomb_out):
9795         * eval.c (condition_case_1):
9796         * eval.c (signal_1):
9797         * eval.c (check_error_state_sanity):
9798         * eval.c (call_with_suspended_errors_1):
9799         * eval.c (call_with_suspended_errors):
9800         * eval.c (reinit_vars_of_eval):
9801         Added code to catch throw loops and check for a pesky bug that may
9802         be gone now.
9803
9804         * event-msw.c:
9805         * event-msw.c (key_needs_default_processing_p):
9806         * event-msw.c (mswindows_wnd_proc):
9807         * event-msw.c (mswindows_modifier_state):
9808         * event-msw.c (emacs_mswindows_quit_p):
9809         * event-msw.c (vars_of_event_mswindows):
9810         a) Added support for using the alt key to select menu items as is
9811         standard under MS Windows.  This is controlled using the variable
9812         menu-accelerator-enabled, just like under X Windows.  There is an
9813         option on the options menu to turn this support on.  I really
9814         think that it should be on by default under Windows, but I'm not
9815         going to make this change yet.
9816
9817         b)  Added support for dynamic display size changes under Windows.
9818
9819         * event-stream.c:
9820         * event-stream.c (maybe_echo_keys):
9821         * event-stream.c (Fnext_event):
9822         * event-stream.c (command_builder_find_leaf):
9823         * event-stream.c (lookup_command_event):
9824         * event-stream.c (execute_command_event):
9825         * event-stream.c (pre_command_hook):
9826         * event-stream.c (post_command_hook):
9827         * event-stream.c (syms_of_event_stream):
9828         * event-stream.c (vars_of_event_stream):
9829         * event-stream.c (complex_vars_of_event_stream):
9830         * events.h (struct command_builder):
9831
9832         a) Tried to clean up a little bit the horribly written x-specific
9833         accelerator code that crept into this file.  I moved this code
9834         into menubar-x.c where it belongs. I also needed to move the
9835         command builder structure into the file events.h because it is
9836         accessed directly by this accelerator code.  What I didn't do, but
9837         which should be done at some point, is to properly abstract this
9838         code using device methods instead of the kludgy way that it
9839         currently hooks into the event code.
9840
9841         b) Added the lisp variables this-command-properties and
9842         last-command- properties, which should be used to synchronize two
9843         adjacent commands in preference to playing games with the variable
9844         this-command, which is typically what happens.
9845
9846         c) Added some slightly nasty code to hook into the lisp support
9847         for shifted- motion-key selection.  This is actually necessary for
9848         somewhat complicated reasons, which are described in
9849         simple.el. (NB: I think the proper thing would be to have the code
9850         that calls the pre and post command hooks also call out to generic
9851         lisp functions in simple.el, where all built-in stuff could be
9852         added.  I will think about this more.)
9853
9854         * event-unixoid.c (poll_fds_for_input):
9855         * lread.c (readchar):
9856         * redisplay-tty.c (tty_clear_frame):
9857         * redisplay-x.c (x_get_gc):
9858         * signal.c (interrupt_signal):
9859         And a whole bunch of other files: fixed up places that printed
9860         directly to stderr to instead call the function stderr_out so that
9861         the changes I made under Windows work correctly.
9862
9863         * filemode.c (mode_string):
9864         Warning fixes.
9865
9866         * frame-msw.c:
9867         * frame-msw.c (mswindows_size_frame_internal):
9868         Fixed the computation of frame size and position to keep the frame
9869         within the workspace area, rather than within the physical
9870         dimensions of the screen, so that the frame doesn't overlap window
9871         manager decorations, such as the start menu and toolbar, typically
9872         at the bottom of the screen.
9873
9874         * frame.c (vars_of_frame):
9875         Changed the default frame title format under MS Windows to consist
9876         of buffername-XEmacs, which is standard under MS Windows.  I think
9877         it might be a good idea to change this everywhere because I think
9878         it is superior to the current frame title format, but this is the
9879         kind of change that is likely to cause some people to get annoyed,
9880         so I'm not making it.
9881
9882         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9883
9884         * gui-msw.c (mswindows_handle_gui_wm_command):
9885         Fixed compile warnings.
9886
9887         * gui-x.c:
9888         * gui-x.c (strdup_and_add_accel):
9889         * gui-x.c (button_item_to_widget_value):
9890         * gui-x.h:
9891         Added code to automatically put an accelerator onto the beginning
9892         of menu items that don't have one as is now the standard, and is
9893         described more later.  Also fixed things so that the menu item
9894         name can be an evaluated expression, again a new standard.
9895
9896         * gui.c:
9897         * gui.c (gui_item_add_keyval_pair):
9898         * gui.c (make_gui_item_from_keywords_internal):
9899         * gui.c (gui_add_item_keywords_to_plist):
9900         * gui.c (gui_item_accelerator):
9901         * gui.c (gui_name_accelerator):
9902         * gui.c (gui_item_included_p):
9903         * gui.c (gui_item_display_flush_left):
9904         * gui.c (gui_item_display_flush_right):
9905         * gui.c (parse_gui_item_tree_item):
9906         * gui.c (parse_gui_item_tree_children):
9907         * gui.c (parse_gui_item_tree_list):
9908         Mule-ized.  Cleanup.  GCPRO addition.
9909
9910         * line-number.c (buffer_line_number):
9911         * lisp.h:
9912         * lisp.h (EMACS_INT_MAX):
9913         Added the manifest constant EMACS_INT_MIN corresponding to the
9914         existing constant EMACS_INT_MAX.  This is partially to fix compile
9915         warnings under Windows, and partly for cleanliness.
9916
9917         * menubar-msw.c:
9918         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9919         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9920         * menubar-msw.c (displayable_menu_item):
9921         * menubar-msw.c (populate_menu_add_item):
9922         * menubar-msw.c (populate_or_checksum_helper):
9923         * menubar-msw.c (populate_menu):
9924         * menubar-msw.c (update_frame_menubar_maybe):
9925         * menubar-msw.c (prune_menubar):
9926         * menubar-msw.c (msw_char_is_accelerator):
9927         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9928         * menubar-msw.c (mswindows_handle_wm_command):
9929         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9930         * menubar-msw.c (mswindows_handle_wm_initmenu):
9931         * menubar-msw.c (mswindows_update_frame_menubars):
9932         * menubar-msw.c (mswindows_free_frame_menubars):
9933         * menubar-msw.c (mswindows_popup_menu):
9934         Fixed a bug in handling accelerators where an extra character
9935         would be displayed in the menu item.  Also generalized the
9936         function displayable_menu_item because it is now used by the
9937         dialog box code as well.  And finally, added code in the functions
9938         that create the menubar to extract a list of accelerators for the
9939         top level menubar, which is used in the event code to determine
9940         whether a particular alt-key combination should be used to invoke
9941         a menu item, or should be passed through to access the standard
9942         XEmacs keymap binding for this key combination.
9943
9944         Much needed GCPROing.
9945
9946         * menubar-x.c:
9947         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9948         * menubar-x.c (menu_item_descriptor_to_widget_value):
9949         * menubar-x.c (restore_in_menu_callback):
9950         * menubar-x.c (x_popup_menu):
9951         * menubar-x.c (menu_move_up):
9952         * menubar-x.c (menu_move_down):
9953         * menubar-x.c (menu_move_left):
9954         * menubar-x.c (menu_move_right):
9955         * menubar-x.c (menu_select_item):
9956         * menubar-x.c (command_builder_operate_menu_accelerator):
9957         * menubar-x.c (menu_accelerator_junk_on_error):
9958         * menubar-x.c (command_builder_find_menu_accelerator):
9959         * menubar-x.c (Faccelerate_menu):
9960         * menubar.h:
9961         Moved a whole bunch of code here that was previously in
9962         event-stream.c as described above.  There is also code connected
9963         to the new standard of adding an accelerator to the beginning of
9964         menu items that don't have one as described above and below.
9965
9966         * menubar.c:
9967         * menubar.c (menu_parse_submenu_keywords):
9968         * menubar.c (Fmenu_find_real_submenu):
9969         * menubar.c (Fnormalize_menu_item_name):
9970         * menubar.c (syms_of_menubar):
9971         * menubar.c (vars_of_menubar):
9972         * menubar.c (complex_vars_of_menubar):
9973
9974         a) Cleaned up a bunch of documentation and improved it.
9975
9976         b) XEmacs now automatically adds an accelerator onto the beginning
9977         of any menu items that don't have one.  I did this because there
9978         will inevitably be some menu items on the main menubar that don't
9979         have accelerators on them because the package that adds that
9980         particular menu item hasn't yet been fixed up to have accelerators
9981         in them and it looked rather strange to have some items with and
9982         some items without accelerators, especially since even in items
9983         without accelerators, you can, at least under windows, still
9984         access the item through an accelerator corresponding to the first
9985         character in the item's name.  If people don't like this behavior,
9986         I can add a variable to turn it off optionally, but I'm not sure
9987         this is a good idea because we really do need to have accelerators
9988         on all of the menu items, and if a package doesn't like the
9989         accelerators being put on the first character, then it should put
9990         the accelerators where they belong.
9991
9992         c) I made a behavior change, which is that the descriptor that
9993         specifies the text of the menu item, which formerly was just a
9994         string, can now also be an evaluated expression.  This makes this
9995         descriptor parallel with all of the others, which could also be
9996         evaluated expressions.  This also obviates the need for the
9997         keyword :label, which was previously listed in the documentation
9998         as unimplemented, and which was for the same purpose.
9999
10000         d) GCPROing.
10001
10002         * ntproc.c:
10003         * ntproc.c (new_child):
10004         * ntproc.c (sys_spawnve):
10005         * ntproc.c (find_child_console):
10006         * ntproc.c (sys_kill):
10007         Fixed compile warnings.  By the way, this file should really go
10008         away entirely, and this will happen as soon as Kirill makes his
10009         final round of process cleanups, which affect the function
10010         call-process.
10011
10012         * process-nt.c:
10013         * process-nt.c (struct nt_process_data):
10014         * process-nt.c (find_process_from_pid):
10015         * process-nt.c (send_signal_the_nt_way):
10016         * process-nt.c (enable_child_signals):
10017         * process-nt.c (find_child_console):
10018         * process-nt.c (send_signal_the_95_way):
10019         * process-nt.c (nt_finalize_process_data):
10020         * process-nt.c (ensure_console_window_exists):
10021         * process-nt.c (nt_create_process):
10022         * process-nt.c (nt_kill_child_process):
10023         * process-nt.c (nt_kill_process_by_pid):
10024         * process-nt.c (nt_open_network_stream):
10025         * process-nt.c (vars_of_process_nt):
10026         Copied over code from Emacs 20.5 to correctly send signals to sub-
10027         processes under Windows 95.  Also added code to automatically
10028         create and hide console window when a sub-process is created under
10029         Windows 95, which obviates the need for the separate runemacs.exe
10030         executable, and finally implemented some variables that were
10031         implemented in Emacs 20.5, but previously not in XEmacs.  These
10032         include mswindows- start-process-share-console and
10033         mswindows-start-process-inherit-error-mode. (Both of these only
10034         apply to Windows 95.)
10035
10036         * regex.c (regex_compile): Fixed a compile warning.
10037
10038         * select-msw.c:
10039         * select-msw.c (mswindows_own_selection):
10040         * select-msw.c (mswindows_get_foreign_selection):
10041         * select-msw.c (mswindows_disown_selection):
10042         * select-msw.c (console_type_create_select_mswindows):
10043         * select-msw.c (syms_of_select_mswindows):
10044         Cleaned up the file and implemented the device method
10045         selection_exists_p, which had accidentally been left out.  Also
10046         removed four lisp functions that were remnants from before the
10047         time when the selection code was properly device abstracted.
10048         These functions are no longer needed because there are generic
10049         equivalents, and because they were added recently and don't exist
10050         in FSF Emacs, I don't think there's any problem with just deleting
10051         them.
10052
10053         * sysdep.c:
10054         * sysdep.c (sys_subshell):
10055         Fixed a compile warning, although in this case there's probably
10056         something wrong with this code, and it ought to be looked into
10057         more thoroughly by somebody who understands it.
10058
10059         * window.c:
10060         * window.c (Fwindow_text_area_height):
10061         * window.c (Fwindow_width):
10062         * window.c (Fwindow_full_width):
10063         * window.c (Fwindow_pixel_width):
10064         * window.c (debug_print_window):
10065         * window.c (syms_of_window):
10066         Added functions window-text-area-height and window-full-width,
10067         which are functions for returning various width and height
10068         characteristics of a window. (One of these functions is necessary
10069         for making the file dialog box work correctly, and the other one
10070         was added for completeness.)  Also added a table to the
10071         documentation for window-height which describes the entire scheme
10072         for accessing width and height characteristics of a window.
10073
10074 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10075
10076         * nt.c (fstat): Added a comment for another problem with
10077         non-encapsulated [f]stat(), reported by Adrian Aichner
10078         <aichner@ecf.teradyne.com>.
10079
10080 2000-03-11  Andy Piper  <andy@xemacs.org>
10081
10082         * window.c (make_dummy_parent): initialize subwindow instance
10083         cache.
10084         (Fset_window_configuration): zero extent_modiff.
10085
10086 2000-03-10  Andy Piper  <andy@xemacs.org>
10087
10088         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10089         more changes can be triggered.
10090         (Fredisplay_frame): ditto.
10091         (Fredraw_device): ditto.
10092         (Fredisplay_device): ditto.
10093         (redisplay_frame): make non-static.
10094         (redisplay_frame): call update_frame_gutter_geometry outside of
10095         display proper.
10096
10097         * gutter.h: declare update_frame_gutter_geometry.
10098
10099         * redisplay.h: declare redisplay_frame.
10100
10101         * gutter.c (update_frame_gutter_geometry): move geometry changes
10102         in update_frame_gutters here. Geometry changes can only occur
10103         outside of redisplay.
10104         (update_frame_gutters): remove geometry change code.
10105         (Fredisplay_gutter_area): make sure that we are in display when we
10106         update and that we have flushed any size changes.
10107
10108 2000-03-11  Andy Piper  <andy@xemacs.org>
10109
10110         * alloc.c (pdump_dump_data): remove i & count shadows.
10111
10112 2000-02-27  Mike Alexander  <mta@arbortext.com>
10113
10114         * sysdep.h: Declare pdump_read_file
10115
10116         * sysdep.c (pdump_read_file): New function
10117
10118         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10119         dump data
10120
10121 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10122
10123         * lrecord.h: add `lrecord_type_pgsetenv'.
10124
10125 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10126
10127         * symsinit.h: declare (vars|syms)_of* functions.
10128         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10129
10130 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10131
10132         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10133
10134         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10135         GCCs.
10136
10137         * emacs.c (main_1): Call postgres initialization code.
10138
10139         * postgresql.h: New file.  PostgreSQL RDBMS support.
10140         * postgresql.c: New file.
10141
10142 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10143
10144         * redisplay-output.c (redisplay_output_display_block): Disable
10145         redundant code.
10146
10147 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10148
10149         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10150         (Fcanna_henkan_next): Ditto.
10151         (Fcanna_bunsetu_henkou): Ditto.
10152         (Fcanna_henkan_kakutei): Ditto.
10153         (Fcanna_henkan_end): Ditto.
10154         (Fcanna_henkan_quit): Ditto.
10155         (Fcanna_henkan_next): Set retun value correctly.
10156         (c2mu): Use unsigned char instead of signed char.
10157
10158 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10159
10160         * emacs.c (main_1): Always call syms_of_gui.
10161         * inline.c: include gui.h
10162
10163 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10164
10165         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10166         converted to Lisp_Object.
10167         (Qtop_bottom): New variable.
10168         (syms_of_redisplay): Initialize it.
10169         * redisplay.h (Vvisible_bell): Ditto.
10170         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10171         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10172         only flash top and bottom.
10173
10174 2000-03-08  Andy Piper  <andy@xemacs.org>
10175
10176         * buffer.c (Frename_buffer): record new buffer name the right way.
10177
10178 2000-03-08  Andy Piper  <andy@xemacs.org>
10179
10180         * glyphs.c (update_subwindow): increase hash depth so that widget
10181         items get picked up properly.
10182
10183         * redisplay-output.c (compare_runes): increase hash depth so that
10184         widget items get picked up properly.
10185
10186 2000-03-08  Andy Piper  <andy@xemacs.org>
10187
10188         * gutter.c (output_gutter): add some debug.
10189
10190         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10191         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10192         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10193
10194         * redisplay-output.c (compare_runes): use display_hash to
10195         determine if glyphs really are not the same.
10196
10197         * glyphs.c (update_subwindow): check display_hash to see if
10198         anything really needs to be updated. If not then do
10199         nothing. Record the display_hash after updating.
10200         (image_instance_equal): compare the image_instance face also.
10201
10202 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10203
10204         * redisplay.h: Fix comment style.
10205
10206 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10207
10208         * consle-msw.h (struct mswindows_frame):
10209         Added new member paint_pending to indicate whether a WM_PAINT
10210         magic event has been queued for this frame.
10211
10212         * event-msw.c (mswindows_drain_windows_queue):
10213         Don't queue a WM_PAINT magic event if one is already queued.
10214         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10215
10216         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10217
10218 2000-03-07  Didier Verna  <didier@xemacs.org>
10219
10220         * dired.c: #include `regex.h' after `sysfile.h'.
10221
10222 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10223
10224         * sound.c (init_nas_sound): Fix compiler warning.
10225
10226         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10227         (FREE_STRUCT_P):
10228         (MARK_STRUCT_AS_FREE):
10229         (MARK_STRUCT_AS_NOT_FREE):
10230         Make `gcc -fstrict-aliasing' work properly.
10231
10232 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10233
10234         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10235         (mswindows_delete_device): Call CoUnnitialize().
10236
10237         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10238
10239 2000-02-25    <CraigL@DyCon.com>
10240
10241         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10242         <errno.h>.
10243
10244         * sysdep.c: This extern declaration for environ prevents MinGW
10245         from finding the variable in CRTDLL.DLL.
10246
10247         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10248         windows headers.
10249         (SHGFI_EXETYPE): ..
10250         (WM_MOUSEWHEEL): ..
10251         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10252         definitions.
10253         (MMRESULT): Removed, now defined in cygwin's windows headers.
10254         (TIMECAPS): ..
10255         (uid_t,gid_t,pid_t,ssize_t): ..
10256         (_timeb): Removed, MinGW defines both _timeb and timeb.
10257         (HAVE_H_ERRNO): Added.
10258         (HAVE_TZNAME): Added, configure is not detecting this.
10259
10260 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10261
10262         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10263         * syntax.c (syntax_match): Use it.
10264
10265         * cmds.c: Import auto-fill-chars from FSF Emacs.
10266         (Vauto_fill_chars): New variables.
10267         (internal_self_insert): Check Vauto_fill_chars.
10268         (vars_of_cmds):
10269         Declare auto-fill-chars as a Lisp variable and initialize it.
10270
10271 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10272
10273         * fileio.c (Fmake_symbolic_link):
10274         (Ffile_symlink_p):
10275         Run handlers even if local machine doesn't have symlinks.
10276
10277 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10278
10279         * event-msw.c (mswindows_drain_windows_queue):
10280         Don't generate paint magic events for non-XEmacs frames.
10281
10282 2000-03-05  Andy Piper  <andy@xemacs.org>
10283
10284         * redisplay.c (redisplay_frame): generate_displayable_area and
10285         friends assumes that we are not in GC, we therefore have to make
10286         sure that this doesn't happen.
10287
10288         * gutter.c (calculate_gutter_size): generate_displayable_area
10289         assumes that we are not in GC, we therefore have to make sure that
10290         this doesn't happen.
10291
10292 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10293
10294         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10295
10296 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10297
10298         * redisplay.c (regenerate_window): Make sure we set a sane value
10299         for end_pos even if we jump out of the loop.
10300         (regenerate_window): Answer Ben's question :-).
10301         (start_end_of_last_line): Add may_error argument.
10302         (start_of_last_line):
10303         (end_of_last_line): Pass may_error = 0.
10304         (end_of_last_line_may_error): New function.
10305         (pixel_to_glyph_translation): Use it, so we don't crash in
10306         event_to_glyph.
10307
10308 2000-03-04  Andy Piper  <andy@xemacs.org>
10309
10310         * window.h (struct window): add gutter_extent_modiff.
10311
10312         * window.c (allocate_window): zero out gutter_extent_modiff.
10313
10314         * redisplay.h: declare sync_display_line_structs.
10315
10316         * redisplay.c (add_glyph_rune): add a better comment.
10317
10318         * redisplay-output.c (sync_display_line_structs): made non-static.
10319         (compare_runes): remove unneccesary glyph cachel access.
10320
10321         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10322
10323         * gutter.c (output_gutter): don't output the gutter if extent
10324         changes only involve extents in buffers. use 4 sets of display
10325         lines.
10326         (gutter_extent_signal_changed_region_maybe): new function. Mark
10327         extents in gutters as changed.
10328         (update_frame_gutters): use 4 sets of display lines.
10329         (reset_gutter_display_lines): ditto.
10330         (free_frame_gutters): ditto.
10331         (redraw_exposed_gutter): force output of gutters.
10332
10333         * frame.h (struct frame): add 4 sets of gutter display lines.
10334
10335         * extents.c: (extent_changed_for_redisplay): signal changes to
10336         extents in strings in the gutter as well as extents in buffers.
10337
10338 2000-03-02  Andy Piper  <andy@xemacs.org>
10339
10340         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10341
10342         * frame.c (Fmake_frame): make sure the gutters get initialized
10343         after the frame is visible.
10344         (set_frame_selected_window): re-arrange compilation macros a
10345         little.
10346         (change_frame_size_1): mark gutters changed.
10347
10348         * device.c (Fset_device_class): mark gutters changed.
10349
10350 2000-03-01  Andy Piper  <andy@xemacs.org>
10351
10352         * window.c (window_top_frame_gutter_height): deleted.
10353         (window_bottom_frame_gutter_height): ditto.
10354         (window_left_frame_gutter_height): ditto.
10355         (window_right_frame_gutter_height): ditto.
10356         (window_top_gutter_height): don't use them.
10357         (window_bottom_gutter_height): ditto.
10358         (window_left_gutter_width): ditto.
10359         (window_right_gutter_width): ditto.
10360         (Fsplit_window): ditto.
10361         (Fwindow_pixel_edges): don't use border dimensions here.
10362
10363         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10364         (update_scrollbar_instance): ditto.
10365
10366         * redisplay.c (generate_modeline): don't take gutters into account.
10367         (generate_modeline): ditto.
10368         (redisplay_frame): small gutter display optimization.
10369
10370         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10371
10372         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10373         gutters into account.
10374
10375         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10376         for window position and type.
10377
10378         * gutter.c (get_gutter_coords): fix for frame gutters.
10379         (update_frame_gutters): update frame geometry if the gutters have
10380         changed.
10381         (init_frame_gutters): record current gutter geometries.
10382
10383         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10384         var.
10385         (mswindows_widget_instantiate): ditto.
10386
10387         * frame.h (struct frame): add current_gutter_bounds.
10388
10389         * frame.c (change_frame_size_1): position window and minibuffer
10390         appropriately taking into account the frame gutters.
10391
10392         * frame-x.c: (x_initialize_frame_size): take into account the
10393         frame gutters.
10394
10395 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10396
10397         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10398
10399 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10400
10401         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10402
10403 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10404
10405         * file-coding.c (reset_decoding_stream): Clear previous
10406         detection state when autodetect.
10407
10408 2000-02-29  Didier Verna  <didier@xemacs.org>
10409
10410         * extents.c (set_extent_glyph_1): don't require extents to be
10411         attached.
10412
10413 2000-02-27  Andy Piper  <andy@xemacs.org>
10414
10415         * gutter.c (Fset_default_gutter_position): don't default left and
10416         right gutter visibility to t.
10417         (Fset_default_gutter_position): run
10418         default-gutter-position-changed-hook.
10419         (syms_of_gutter): add default-gutter-position-changed-hook.
10420
10421 2000-02-26  Andy Piper  <andy@xemacs.org>
10422
10423         * specifier.c (Fmake_specifier): add gutter references.
10424
10425         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10426
10427         * lisp.h: declare Fvalid_plist_p.
10428
10429         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10430         as changed.
10431         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10432         well as its visibility so that it gets reconstructed.
10433         (construct_window_gutter_spec): new function. Construct a string
10434         to be displayed in the gutter from a plist of strings. Take care
10435         to only use elements that are declared as visible.
10436         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10437         WINDOW_GUTTER.
10438         (gutter_validate): allow plists of strings in the specifier.
10439         (gutter_specs_changed): construct the real_gutter from the gutter
10440         specs using construct_window_gutter_spec.
10441         (gutter_visible_validate): gutter-visible is a new specifier type.
10442         (Fgutter_visible_specifier_p): new function for the new specifier.
10443         (syms_of_gutter): declare gutter-visible and
10444         Fgutter_visible_specifier_p.
10445         (specifier_type_create_gutter): intitalize new gutter-visible
10446         specifier.
10447         (reinit_specifier_type_create_gutter): ditto.
10448         (specifier_vars_of_gutter): use new specifier type for gutter
10449         visibility.
10450         (init_frame_gutters): construct real_gutter correctly.
10451         (Fgutter_specifier_p): beef up documentation.
10452         (Fgutter_size_specifier_p): ditto.
10453
10454         * winslots.h: add real_gutter slots.
10455
10456 2000-02-25  Andy Piper  <andy@xemacs.org>
10457
10458         * device-msw.c: Be kind to older cygwin versions. From Raymond
10459         Toy <toy@rtp.ericsson.se>.
10460
10461         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10462         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10463
10464 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10465
10466         * elhash.c (MARK_OBJ): Practice macro hygiene.
10467
10468 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10469
10470         * miscplay.c: s/__inline__/inline/g;
10471         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10472         (get_device_compdc): INLINE ==> static inline
10473         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10474         find -name '*.h' | \
10475         xargs global-replace \
10476         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10477
10478 2000-02-25  Andy Piper  <andy@xemacs.org>
10479
10480         * window.c (window_top_frame_gutter_height): new function.
10481         (window_top_window_gutter_height): ditto.
10482         (window_top_gutter_height): use them.
10483         (window_bottom_frame_gutter_height): new function.
10484         (window_bottom_window_gutter_height): ditto.
10485         (window_bottom_gutter_height): use them.
10486         (window_left_window_gutter_width): new function.
10487         (window_left_frame_gutter_width): ditto.
10488         (window_left_gutter_width): use them.
10489         (window_right_window_gutter_width): new function.
10490         (window_right_frame_gutter_width): ditto.
10491         (window_right_gutter_width): use them.
10492         (window_pixel_height): new function. calulate window pixel height
10493         with frame gutter involvement.
10494         (Fsplit_window): calculate new sizes taking frame gutters into
10495         account.
10496         (window_char_height_to_pixel_height): don't include frame gutters.
10497         (window_char_height): use window_pixel_height.
10498         (window_pixheight): rename from window_pixel_height.
10499         (change_window_height): use it.
10500         (window_pixel_height_to_char_height): don't include frame gutters.
10501         (window_char_width_to_pixel_width): ditto.
10502
10503 2000-02-25  Andy Piper  <andy@xemacs.org>
10504
10505         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10506         if it is.
10507
10508 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10509
10510         * alloc.c (staticpro):
10511         (staticpro_nodump):
10512         (dumpstruct):
10513         (dumpopaque):
10514         (pdump_wire):
10515         (pdump_wire_list):
10516         (compact_string_chars):
10517         (pdump_dump_wired):
10518         Convert:  if (foo) abort();  ==>  assert (! foo);
10519
10520         * eldap.c (Fldap_search_basic):
10521         (Fldap_add):
10522         (Fldap_modify):
10523         (Fldap_delete):
10524         Fix compiler warnings, and possible crashes if (random) return
10525         value were to be used.
10526
10527 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10528
10529         * device-msw.c: Workaround ResetDC failure.
10530
10531         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10532         applying a devmode.
10533
10534         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10535         (mswindows_text_width): Do not start printer page.
10536
10537         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10538
10539         * glyphs-msw.c: Added image methods to msprinter console and
10540         msprinter-specific image instantiation.
10541
10542 2000-02-20  Mike Alexander  <mta@arbortext.com>
10543
10544         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10545         to avoid crashes when selection-sets-clipboard is on
10546         (mswindows_own_selection): ditto
10547
10548 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10549
10550         * glyphs-msw.c:
10551         * redisplay-msw.c (get_frame_dc):
10552         (get_frame_compdc):
10553         * console-msw.h:
10554         * device-msw.c (mswindows_init_device):
10555         (mswindows_delete_device):
10556         (msprinter_init_device):
10557         (msprinter_delete_device):
10558         * frame-msw.c (mswindows_init_frame_1):
10559         (mswindows_delete_frame):
10560         (msprinter_init_frame_3):
10561         (msprinter_delete_frame): Move compatible DC to device object from
10562         frame object, for both mswindows and msprinter. Only one at a time
10563         is needed, it is a real waste to have one per frame!
10564
10565 2000-02-23  Andy Piper  <andy@xemacs.org>
10566
10567         * glyphs.c: add dynamic width and height elements.
10568         (image_instance_equal): ditto.
10569
10570         * glyphs-widget.c (widget_query_geometry): calculate width and
10571         height dynamically if required.
10572         (initialize_widget_image_instance): initialize dynamic dimensions.
10573         (widget_instantiate): pick-up dynamic dimensions.
10574
10575         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10576         dynamic determination. Add appropriate macros.
10577
10578         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10579         dimensions safe.
10580         (WINDOW_GUTTER_SIZE): ditto.
10581         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10582
10583         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10584         inline.
10585         (get_frame_dc): ditto.
10586
10587         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10588         here.
10589
10590 2000-02-23  Martin Buchholz <martin@xemacs.org>
10591
10592         * XEmacs 21.2.31 is released.
10593
10594 2000-02-22  Ben Wing <ben@xemacs.org>
10595
10596         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10597
10598 2000-02-22  Andy Piper  <andy@xemacs.org>
10599
10600         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10601
10602 2000-02-21  Mike Sperber <mike@xemacs.org>
10603
10604         * .dbxrc:
10605         * .gdbinit:
10606         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10607         variables.
10608
10609 2000-02-21  Mike Sperber <mike@xemacs.org>
10610
10611         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10612
10613 2000-02-21  Martin Buchholz <martin@xemacs.org>
10614
10615         * XEmacs 21.2.30 is released.
10616
10617 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10618
10619         Performance hacking.
10620         * *.c (syms_of_*):
10621         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10622         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10623         * emacs.c (main_1):
10624         * lisp.h (DEFUN):
10625         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10626         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10627         * symeval.h (DEFVAR_SYMVAL_FWD):
10628         * symbols.c (guts_of_unbound_marker):
10629         Make all c_readonly objects also lisp_readonly and marked for life.
10630         * lrecord.h (struct lrecord_implementation):
10631         Document flags better.
10632         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10633         * lrecord.h (DECLARE_LRECORD):
10634         * lrecord.h (XSETRECORD):
10635         * lrecord.h (RECORDP):
10636         * lrecord.h (RECORD_TYPEP):
10637         * lrecord.h (RECORD_MARKER): New.
10638         * lrecord.h (error_check_*):
10639         * lrecord.h (CONCHECK_NONRECORD):
10640         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10641         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10642         * lrecord.h (set_lheader_implementation):
10643         * lrecord.h (enum lrecord_type): New.
10644         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10645         * alloc.c (disksave_object_finalization_1):
10646         * alloc.c (mark_object):
10647         * alloc.c (lrecord_type_index):
10648         * alloc.c (tick_lcrecord_stats):
10649         * alloc.c (Fgarbage_collect):
10650         * alloc.c (init_alloc_once_early):
10651         * alloc.c (pdump_load):
10652         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10653         * alloc.c (lrecord_type_index): Delete.
10654         Make lisp object type indexes be constant.
10655           Makes (byte-compile) 5% faster.
10656         Put all marker functions into their own array.
10657           Makes (garbage-collect) 5% faster.
10658         Optimize SYMBOL_VALUE_MAGIC_P.
10659           Makes (byte-compile) 2-3% faster.
10660         * config.h.in (gc_checking_assert): New.
10661         * alloc.c: Use gc_checking_assert().
10662         * .dbxrc: Make compatible with new object type implementation.
10663         * .gdbinit: Make compatible with new object type implementation.
10664         * alloc.c: Delete all symbols defined only for debugging, such as
10665         Lisp_Type_Vector and lrecord_charset.
10666
10667 2000-02-21  Andy Piper  <andy@xemacs.org>
10668
10669         * gui-msw.c (Fmswindows_shell_execute): fix file location
10670         problems.
10671
10672         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10673         unshowing so that set_window_buffer doesn't undo
10674         kill_buffer_hook's hard work.
10675
10676         * glyphs-widget.c (tab_control_query_geometry): don't count the
10677         first item when calculating geometry.
10678
10679         * glyphs.c (map_subwindow): remove redundant code.
10680         (update_frame_subwindows): be more circumspect about when to
10681         update subwindows.
10682
10683         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10684         when items haven't changed. Update faces if faces have changed as
10685         well as just the widget face.
10686         (x_tab_control_update): Update faces if faces have changed as well
10687         as just the widget face.
10688
10689 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10690
10691         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10692         registration.
10693         (build_syscolor_string): Use mswindows_color_to_string to try to
10694         get a named color.
10695         (mswindows_device_system_metrics): Reverse the foreground and
10696         background colors so that they match the documentation.
10697
10698         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10699         they match the default Windows palette.
10700         (mswindows_color_to_string): New function.
10701
10702 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10703
10704         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10705
10706 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10707
10708         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10709         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10710
10711         * symbols.c (init_symbols_once_early): Removed obsolete
10712         DATA_SEG_BITS related kludge.
10713         (defvar_magic): Ditto.
10714
10715         * malloc.c: Removed obsolete DATA_SEG_BITS
10716         * ralloc.c: Ditto.
10717         * mem-limits.h: Ditto.
10718
10719         * Makefile.in.in: Removed obsolete HAVE_SHM
10720         * emacs.c: Ditto.
10721
10722 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10723
10724         *  device-msw.c (mswindows_delete_device): Free DDE string
10725         handles.
10726
10727 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10728
10729         * keymap.c (get_keyelt):
10730         * unexnt.c (unexec):
10731         * vm-limit.c (memory_warnings):
10732         * ntheap.c (recreate_heap):
10733         * ntheap.h (UNINIT_PTR):
10734         * select-msw.c (Fmswindows_get_clipboard):
10735         (Fmswindows_set_clipboard):
10736         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10737         * objects-msw.c:
10738         * menubar-msw.c (displayable_menu_item):
10739         * glyphs-msw.c:
10740         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10741         * sysdep.c (sys_subshell):
10742         * process-nt.c (nt_create_process):
10743         * nt.c (normalize_filename):
10744         (dostounix_filename):
10745         (unixtodos_filename):
10746         * ntproc.c (win32_executable_type):
10747         * ntplay.c (play_sound_data_1):
10748         (play_sound_file):
10749         * editfns.c (get_home_directory):
10750         * event-msw.c (struct winsock_stream):
10751         (mswindows_dde_callback):
10752         * device-msw.c (msprinter_init_device):
10753         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10754
10755         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10756         mswindows_clear_toolbar were swapped!
10757
10758         * objects-msw.c:(colormap_t):
10759         (fontmap_t):
10760         * emacs.c (struct standard_args): Fixed const jumble.
10761
10762         * glyphs-widget.c (update_widget): Fixed comparison notation.
10763
10764         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10765
10766         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10767         __declspec(noreturn) syntax.
10768
10769 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10770
10771         * eldap.c (Fldap_open):
10772         (Fldap_search_basic):
10773         (Fldap_add):
10774         (Fldap_modify):
10775         Use new coding system conversion macros.
10776
10777 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10778
10779         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10780
10781 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10782
10783         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10784         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10785
10786         * eldap.c (Qadd, Qreplace): New constant symbols
10787         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10788         interruptions by XEmacs signals
10789         Remove unnecessary calls to slow_down_interrupts and
10790         speed_up_interrupts
10791         (Fldap_search_basic): Renamed from Fldap_search_internal
10792         Added new optional parameter VERBOSE that triggers the
10793         display of progress messages
10794         Remove unnecessary calls to slow_down_interrupts and
10795         speed_up_interrupts
10796         LDAP result code analysis rewritten
10797         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10798         (syms_of_eldap): Define the new symbols and functions
10799
10800
10801 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10802
10803         * realpath.c: Determine PATH_MAX maximally portably.
10804
10805         * insdel.c (bytecount_to_charcount): Optimize.
10806         The function used to be optimized for entirely ASCII sequences.
10807         Now it is optimized for successive characters from the same
10808         charset.  This also wins big for _mostly_ ASCII sequences.
10809
10810         * fileio.c (Ffile_truename): convert return from realpath() using
10811         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10812         - Rewrite GCPROing slightly.
10813
10814         * sysdep.c (sys_open): Do filename conversion, like all other
10815         sys_* functions.  Fixes bug:
10816         (let ((file-name-coding-system 'iso-8859-2))
10817            (write-region x y latin2-name))
10818         ==> writes filename using internal encoding.
10819
10820 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10821
10822         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10823         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10824         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10825         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10826         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10827         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10828         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10829         (CONST_IF_NOT_DEBUG): Delete.
10830         * alloc.c (this_one_is_unmarkable): Delete.
10831         (mark_object): Don't check for this_one_is_unmarkable. Use the
10832         c_readonly flag instead.
10833         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10834
10835 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10836
10837         * event-msw.c (mswindows_drain_windows_queue):
10838         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10839         away redundant repaint events.
10840
10841 2000-02-17  Andy Piper  <andy@xemacs.org>
10842
10843         * redisplay.h: declare mark_redisplay_structs.
10844
10845         * redisplay.c (redisplay_window):
10846         (redisplay_frame): don't check subwindows_state_changed.
10847         (mark_redisplay): mark gutters here.
10848
10849         * glyphs.c: (instantiate_image_instantiator): always layout if we
10850         haven't done so already.
10851         (allocate_image_instance): don't mark as dirty.
10852         (update_subwindow): bind inhibit_quit.
10853
10854         * gutter.c (mark_gutters): new function.
10855
10856         * glyphs-x.c (x_update_widget): Always resize to get round a
10857         widget bug.
10858
10859         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10860         breaking absolutely everything.
10861
10862         * gutter.h: declare mark_gutters.
10863
10864 2000-02-16  Martin Buchholz <martin@xemacs.org>
10865
10866         * XEmacs 21.2.29 is released.
10867
10868 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10869
10870         * fns.c (size_bit_vector): Fix computation of the size.
10871
10872 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10873
10874         * *.[ch]: Change CONST to const globally.
10875         find -name '*.[ch]' | \
10876         xargs global-replace \
10877         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10878         - Remove vestigial references to CONST_IS_LOSING
10879
10880 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10881
10882         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10883         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10884         events instead of dispatching them directly.
10885         (mswindows_handle_paint): New function to do repainting.
10886         (mswindows_wnd_proc):
10887         (emacs_mswindows_handle_magic_event): Call above function.
10888
10889 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10890
10891         * objects-msw.c (mswindows_create_font_variant): Return the new
10892         font handle.
10893         (initialize_font_instance): Get font metrics from the underlined
10894         variant of the font to cope with the case where the underlined
10895         font has a bigger descent.
10896
10897 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10898
10899         * gui.c (gui_item_accelerator): Return the first underlined
10900         character in item name.
10901
10902 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10903
10904         * lisp.h: Added Qprinter.
10905
10906         * general.c (syms_of_general): Initialized it.
10907
10908         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10909         (get_frame_dc):
10910         (get_frame_compdc): Made inline.
10911
10912         * console.h (struct console_methods): Added eject_page method.
10913
10914         * frame.h: Added FRAME_DISPLAY_P and friends.
10915         Aligned backslahes in many macros in more readable fashion.
10916         Added page_number to struct frame, and an accessor macro
10917         for it.
10918
10919         * defice.h: Added DEVICE_DISPLAY_P and friends.
10920
10921         * device.c (Fdevice_printer_p): Used these.
10922
10923         * frame.c (allocate_frame_core): Initialize page number.
10924         (Fprint_job_page_number):
10925         (Fprint_job_eject_page): Implemented.
10926
10927         * frame-msw.c (msprinter_eject_page): Added method.
10928         (msprinter_start_page): Added.
10929
10930         * window.c (Fwindow_truncated_p): Fixed docstring.
10931         (Fwindow_last_line_visible_height): Implemented.
10932
10933 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10934
10935         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10936
10937 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10938
10939         * syntax.c (scan_words): Always advance at least one character.
10940
10941 2000-02-13  Andy Piper  <andy@xemacs.org>
10942
10943         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10944         to make sure the glyph is in the cachels.
10945
10946         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10947         global image instance flag.
10948         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10949         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10950
10951         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10952         (Fset_image_instance_property): mark layout as changed.
10953         (invalidate_glyph_geometry_maybe): mark layout as changed.
10954         (glyph_width): use new NEEDS_LAYOUT macro.
10955         (glyph_ascent): ditto.
10956         (glyph_descent): ditto.
10957         (glyph_height): ditto.
10958         (image_instance_layout): mark layout as clean after laying out.
10959         (update_subwindow): don't mark layout as clean here.
10960
10961         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10962         should no longer be needed.
10963
10964         * glyphs-x.c (x_update_widget): sanitize asserts.
10965         (x_finalize_image_instance): sanitize assignment to widgets.
10966
10967         * glyphs-widget.c (widget_instantiate): don't need to clear the
10968         layout flag here.
10969
10970 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10971
10972         * sysdep.c (getcwd): Use standard prototype.
10973         * sysdep.h (getcwd): Use standard prototype.
10974
10975         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10976         (sequence, start, end).
10977         Remove redundant type checking.
10978         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10979         view of `caller-protects') to avoid a crash where the real fix was
10980         found elsewhere.
10981
10982 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10983
10984         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10985
10986         * s/sol2.h: Remove feature macro initialization.
10987
10988         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10989         (vector_hash): New.  Code from internal_hash.
10990         * lrecord.h:
10991         Fix up allocation subsystem comments.
10992
10993         * config.h.in: Add __EXTENSIONS__ for Solaris.
10994
10995         * systime.h (EMACS_GETTIMEOFDAY): New.
10996         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10997         Remove Solaris-specific code.
10998         Use void* for the (ignored) second arg for gettimeofday().
10999
11000         * elhash.c (hash_table_hash): Implement it, finally.
11001         * elhash.c:  Use hashcode_t.
11002
11003         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11004         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11005
11006         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11007         * fns.c (size_bit_vector):
11008         * alloc.c (size_vector):
11009         (make_vector_internal):
11010         (make_bit_vector_internal):
11011         (sweep_bit_vectors_1):
11012         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11013
11014 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11015
11016         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11017         Include strings.h to avoid warnings for bzero and strcasecmp.
11018
11019 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11020
11021         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11022         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11023
11024         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11025         sequence.
11026
11027 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11028
11029         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11030         use a value field instead.
11031         (symbol_value_forward_forward): Use value field.
11032         (DEFVAR_SYMVAL_FWD): Use value field.
11033         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11034         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11035         (DEFVAR_CONST_INT): Ditto.
11036         (DEFVAR_BOOL): Ditto.
11037         (DEFVAR_CONST_BOOL): Ditto.
11038         (DEFVAR_INT_MAGIC): Ditto.
11039         (DEFVAR_BOOL_MAGIC): Ditto.
11040
11041         * symbols.c (guts_of_unbound_marker): Use value field.
11042         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11043         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11044
11045         * lisp.h: Declare dumpopaque and noninteractive1.
11046
11047         * alloc.c (dumpopaque): Added.
11048         (pdump_dump_opaquevec): Added.
11049         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11050         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11051         noninteractive.
11052
11053 2000-02-10  Andy Piper  <andy@xemacs.org>
11054
11055         * glyphs.c (image_instance_layout): if the size changes, mark it
11056         as such.
11057
11058         * redisplay-output.c (redisplay_output_layout): Update the
11059         subwindow here.
11060         (redisplay_output_subwindow): ditto.
11061
11062         * glyphs.c (update_subwindow): make sure we reset flags for
11063         layouts as well as everything else.
11064
11065         * glyphs-widget.c (layout_layout): don't need to set the instances
11066         dimensions here.
11067
11068 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11069
11070         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11071         not HAVE_DLOPEN, which is a lower-level thing.
11072
11073         * .cvsignore: Ignore gmon.out
11074
11075 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11076
11077         * .cvsignore: Ignore portable dumper xemacs.dmp file
11078
11079 2000-02-09  Andy Piper  <andy@xemacs.org>
11080
11081         * redisplay-output.c (redisplay_output_layout): be more clever
11082         about when we output based on the changed flags.
11083
11084         * glyphs.h (struct image_instantiator_methods): add update_method.
11085         (struct Lisp_Image_Instance): add changed flags. Declare new
11086         macros for manipulating them.
11087
11088         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11089         (image_instance_parent_glyph): find an image_instance's parent
11090         glyph or image_instance.
11091         (image_instance_layout): mark the size as changed.
11092         (set_image_instance_dirty_p): new function. mark an image
11093         instance, plus all of its parents, as dirty.
11094         (Fset_image_instance_property): use it.
11095         (Fglyph_animated_timeout_handler): use it.
11096         (update_subwindow): call update_widget and device methods for
11097         update_subwindow. Mark all changed flags as clean.
11098         (Fresize_subwindow): mark size as changed.
11099
11100         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11101         failures.
11102         (x_update_subwindow): only resize subwindows here.
11103         (x_update_widget): new function. Update all changed properties of
11104         a widget.
11105         (x_resize_subwindow): deleted.
11106         (x_widget_set_property): deleted.
11107         (x_progress_gauge_set_property): deleted.
11108         (x_progress_gauge_update): new function. Implement recorded
11109         changes.
11110         (x_tab_control_update): ditto.
11111         (x_tab_control_set_property): deleted.
11112         (console_type_create_glyphs_x): declare new functions.
11113         (image_instantiator_format_create_glyphs_x): ditto.
11114
11115         * glyphs-widget.c (widget_set_property): mark text changed.
11116         (update_widget): new function. Update properties of a widget.
11117         (widget_instantiate): for layouts make sure we set their
11118         children's parent correctly.
11119         (tab_control_set_property): new function. Record changes that will
11120         take place under redisplay's control.
11121         (progress_gauge_set_property): ditto.
11122         (image_instantiator_progress_guage): declare new functions.
11123         (image_instantiator_tab_control): ditto.
11124
11125         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11126         now.
11127         (mswindows_update_widget): new function. Update all properties on
11128         a widget that have changed.
11129         (mswindows_button_update): new function. Update a button's set
11130         state.
11131         (mswindows_tab_control_update): new function. Update the items in
11132         a tab.
11133         (mswindows_tab_control_set_property): deleted.
11134         (mswindows_progress_gauge_update): new function. Update the
11135         progress gauge's progress.
11136         (mswindows_widget_set_property): deleted. This is all done
11137         asynchronously now.
11138         (mswindows_progress_gauge_set_property): ditto.
11139         (console_type_create_glyphs_mswindows): declare new methods.
11140         (image_instantiator_format_create_glyphs_mswindows): ditto.
11141
11142         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11143         (msprinter_set_frame_properties): ditto.
11144
11145         * console.h (struct console_methods): Add update_widget_method.
11146
11147 2000-02-09  Andy Piper  <andy@xemacs.org>
11148
11149         * gui-msw.c (Fmswindows_shell_execute): Make
11150         mswindows-shell-execute industrial strength.
11151
11152 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11153
11154         * lrecord.h: Make macro argument `props' match member function `plist'.
11155         * fns.c (Fget):
11156         * fns.c (Fput):
11157         * fns.c (Fremprop):
11158         * fns.c (Fobject_plist):
11159         * alloc.c:
11160         * symbols.c:
11161         Object property list frobbing cleanup.
11162         - Allow any lisp object (compared with `eq'), not just symbols, as
11163           keys in object plists.
11164         - Move symbol plist frobbing into symbols.c, where it belongs.
11165         - Move string plist frobbing into alloc.c, where it belongs.
11166         - Everything's an lrecord now, so no need to test for symbolp, etc.
11167         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11168
11169         * extents.c: Reorder code to remove declarations.
11170
11171         * frame.h (store_in_alist): Remove useless declaration.
11172
11173 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11174
11175         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11176         * config.h.in: Add HAVE_XCONVERTCASE.
11177
11178 2000-02-07  Andy Piper  <andy@xemacs.org>
11179
11180         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11181         it breaks many things.
11182
11183 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11184
11185         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11186         actually can start a common comment type.
11187         * src/syntax.h (SYNTAX_END_P): ditto for end.
11188
11189 2000-02-07  Martin Buchholz <martin@xemacs.org>
11190
11191         * XEmacs 21.2.28 is released.
11192
11193 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11194
11195         * event-Xt.c (x_keysym_to_character): New.
11196         (maybe_define_x_key_as_self_inserting_character): New.
11197         (x_has_keysym): New.
11198         Auto-define all keys on the keyboard as self-insert-key.
11199
11200 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11201
11202         * menubar.c (vars_of_menubar): A small code simplification.
11203
11204         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11205
11206         * ExternalShell.c:
11207         * ExternalClient.c:
11208         * EmacsShell-sub.c:
11209         * EmacsManager.c:
11210         * EmacsFrame.c:
11211         Use consistent style for specifying X resources.
11212
11213         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11214         This makes (dontusethis-set-symbol-value-handler) actually usable.
11215
11216         * lrecord.h (lrecord_decription_type):
11217         * alloc.c (pdump_register_sub):
11218         (pdump_dump_data):
11219         (pdump_reloc_one):
11220         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11221         Comply with XEmacs coding style.
11222         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11223         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11224
11225         * keymap.c (Faccessible_keymaps):
11226         Make (accessible-keymaps map "\C-h") do the Right Thing.
11227         Make (accessible-keymaps map []) do the Right Thing.
11228         Make (accessible-keymaps map "") do the Right Thing.
11229         (check_keymap_definition_loop): New function.
11230         (keymap_store_internal): Keep luser from shooting self in foot,
11231           via (define-key ctl-x-4-map "p" global-map).
11232         Remove fullness slot from struct Lisp_Keymap, since hash tables
11233         are now reliable.
11234         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11235
11236 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11237
11238         * redisplay.c (init_redisplay): Fix small memory leak.
11239         * elhash.h:
11240         * elhash.c (pdump_reorganize_hash_table):
11241         Rename from reorganize_hash_table. Change prototype.
11242         Reuse the original memory for hentries.  Save 100k.
11243         * alloc.c (PDUMP_READ): new macro.
11244         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11245         * alloc.c: No need to #ifndef before #undef.
11246
11247         * print.c: Allow debug_print() to print readably by modifying
11248         debug_print_readably.  Use consistent variable names.
11249
11250         * .dbxrc: Try to get things to work even if stopped in a function
11251         without source available by explicitly specifying source files.
11252 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11253
11254         * unexnt.c (_start): Removed bogus code which caused loading heap
11255         from differrent executable file.
11256         Removed bogus assignment to _fmode, which caused inconsistencies.
11257
11258 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11259
11260         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11261         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11262         Do not preliminary `#define signal sigset'.
11263
11264         * systime.h: Do not prototype environ on windows nt and cygwin,
11265         this conflicts with system header.
11266
11267         * syssignal.h: Use correct define for WINDOWSNT
11268
11269         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11270         with system header.
11271
11272         * sysdep.c (near start of file): Fixed commentary and rearranged
11273         ifdefs in readable order.
11274         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11275         (start_of_text):
11276         (end_of_text):
11277         (end_of_data): Do not compile in if using PDUMP.
11278
11279         * symsinit.h: Prototyped vars_of_nt().
11280
11281         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11282         (find_child_console): Use it.
11283         (sys_kill): Use it.
11284
11285         * ntheap.h: Do not extern os_subtype.
11286
11287         * ntheap.c (cache_system_info): Do not cache unneeded:
11288         nt_major_version, nt_minor_version and os_subtype.
11289         (recreate_heap): Do not compile in when PDUMPing.
11290
11291         * nt.c (geteuid and friends): Use the new varibale
11292         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11293         (init_user_info): Removed the above mentioned hackery.
11294         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11295         stat has been fixed in the C runtime.
11296         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11297
11298         * file-coding.c (struct file_coding_dump): Do not define
11299         ucs_to_mule_table in the struct if not MULE.
11300         (struct struct lrecord_description fcd_description_1): Do not dump
11301         the above.
11302
11303         * emacs.c (main_1): Call vars_of_nt().
11304         (right before Fdump_emacs_data): Don't need lastfile if using both
11305         portabe dumper and system malloc.
11306
11307         * alloc.c (Fmemory_limit): Conditionalized out.
11308         (pdump): Use OPEN_BINARY for the portable dump file.
11309         (pdump_load): Ditto.
11310
11311 2000-02-02  Mike Alexander  <mta@arbortext.com>
11312
11313         * nt.c (convert_time): Set tm_isdst before calling mktime and
11314         avoid calling it at all if the compiler supports 64 bit integers.
11315         Also initialize utc_base_ft before using it.
11316
11317 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11318
11319         * frame.c (change_frame_size_1): Take f->internal_border_width
11320         into consideration when calculating the width of the frame.
11321
11322 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11323
11324         * window.c (frame_min_height):
11325         (frame_size_valid_p):
11326         (frame_pixsize_valid_p): Added.
11327         (check_frame_size): Generalized.
11328
11329         * window.h: Prototyped the above.
11330
11331         * lisp.h:
11332         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11333         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11334         Deleted Vwin32_* and Vbinary_process_* unused variables.
11335
11336         * device-msw.c (msprinter_init_device): Do not get printer font
11337         list; Added DEVMODE functions.
11338
11339         * frame-msw.c: Added lots of printer code.
11340
11341         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11342         general.c.
11343
11344         * console-msw.h: Added more msprinter device private slots.
11345
11346 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11347
11348         * event-msw.c (key_needs_default_processing_p): Added.
11349         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11350
11351 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11352
11353         * glyphs.c (image_instance_layout): Mark image instance as clean
11354         after layout.
11355         (glyph_dirty_p): Removed redundant function.
11356         (invalidate_glyph_geometry_maybe): Added.
11357         (update_glyph_cachel_data): Call it.
11358
11359         * glyphs.h: Prototyped it.
11360
11361         * redisplay.c (add_glyph_rune): Call it.
11362         (redisplay_window): Reset glyphs cachels when frame faces have
11363         changed, thus forcing recomputation of built-in border glyphs.
11364
11365 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11366
11367         * Makefile.in.in: Make portable dumper and purify play well together.
11368         Add imperfect, but better than nothing, support for pdump.
11369         Remove xemacs.dmp when temacs is re-generated.
11370         Don't ignore errors when dumping xemacs.
11371
11372         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11373
11374 2000-01-28  Andy Piper  <andy@xemacs.org>
11375
11376         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11377         (setup_normal_frame): ditto.
11378         (setup_frame_without_minibuffer): ditto.
11379         (setup_minibuffer_frame): ditto.
11380         (delete_frame_internal): ditto.
11381         (Fmake_frame_invisible): ditto.
11382         (Ficonify_frame): ditto.
11383
11384         * window.h: change Fset_window_buffer signature.
11385
11386         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11387         (Fset_window_buffer): allow recording of buffer if the window is
11388         the selected window.
11389         (window_loop): Use new Fset_window signature.
11390
11391 2000-01-23  Daniel Pittman  <daniel@danann.net>
11392
11393         * config.h.in: Added template for `HAVE_ATHENA_3D'
11394
11395 2000-01-29  Andy Piper  <andy@xemacs.org>
11396
11397         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11398
11399         * gutter.c (output_gutter): Don't output if the window isn't live.
11400
11401 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11402
11403         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11404         of 01/12/00: Moved SetFocus back here where it belongs.
11405
11406 2000-01-23  Andy Piper  <andy@xemacs.org>
11407
11408         * s/cygwin32.h: declare printer things.
11409
11410 2000-01-26  Andy Piper  <andy@xemacs.org>
11411
11412         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11413         Alexander.
11414
11415 2000-01-24  Andy Piper  <andy@xemacs.org>
11416
11417         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11418         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11419
11420         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11421
11422         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11423
11424         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11425
11426         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11427         (mswindows_output_display_block): Avoid local shadows.
11428
11429         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11430         (mswindows_enqueue_mouse_button_event): ditto.
11431         (mswindows_handle_gui_wm_command): remove declaration.
11432
11433         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11434         warnings.
11435
11436         * console-msw.h: Avoid shadows.
11437         (mswindows_get_toolbar_button_text):
11438         (emacs_mswindows_create_stream_pair):
11439         (emacs_mswindows_delete_stream_pair):
11440         (mswindows_handle_toolbar_wm_command): declare.
11441
11442         * device-msw.c (build_syscolor_string): Avoid shadows.
11443
11444 2000-01-23  Andy Piper  <andy@xemacs.org>
11445
11446         * glyphs-widget.c (widget_instantiate): reverse the items for
11447         layouts so that children are in the expected order.
11448
11449 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11450
11451         * ralloc.c: safe_bcopy ==> memmove
11452         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11453         * s/msdos.h: Remove BCOPY macros.
11454         * insdel.c (gap_right): Remove BCOPY conditional code.
11455         * insdel.c (gap_left): Remove BCOPY conditional code.
11456         XEmacs demands a working ANSI C compiler - hence memmove.
11457
11458         * regex.c (regex_compile): Remove accidental use of trigraphs.
11459
11460 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11461
11462         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11463         event timestamp.
11464
11465 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11466
11467         * event-msw.c (mswindows_drain_windows_queue): Added the
11468         parameter.
11469         (mswindows_need_event): Commented the call to
11470         mswindows_drain_windows_queue().
11471         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11472         only.
11473
11474         * console-msw.h: Moved a few function prototypes here from
11475         event-msw.c.
11476
11477         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11478         parameter from unsigned short to unsigned long.
11479         (Fmswindows_shell_execute): Added return value.
11480
11481 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11482
11483         * sysdep.c (init_system_name):
11484           process-unix.c (unix_canonicalized_host_name):
11485         Don't call freeaddrinfo() if getaddrinfo() fails.
11486
11487         * process-unix.c (unix_open_unix_network_stream):
11488         Moved the code to get a port # into address loop.
11489
11490 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11491
11492         * buffer.c (reinit_vars_of_buffer):
11493         The right place to initialize conversion_in_dynarr and
11494         conversion_out_dynarr.
11495
11496         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11497
11498         * process-unix.c (unix_canonicalize_host_name): Muleize.
11499         (unix_open_network_stream): Muleize.
11500
11501         * buffer.h: Fix up prototypes for ralloc.c functions.
11502
11503 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11504         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11505         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11506                 instead of gethostbyname()
11507         * process-unix.c: In unix_canonicalize_host_name() and
11508                 unix_open_network_stream(), add code to use getaddrinfo()
11509                 instead of gethostbyname().
11510
11511 2000-01-27  Daniel Pittman <daniel@danann.net>
11512
11513         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11514         libs when built with flat Athena.
11515
11516 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11517
11518         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11519         Use coding standards for function prototypes.
11520
11521 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11522
11523         * dialog-msw.c (push_lisp_string_as_unicode):
11524         * doc.c (unparesseuxify_doc_string):
11525         * dired.c (Fuser_name_completion_1):
11526         * dired.c (Fuser_name_all_completions):
11527         * dired.c (free_user_cache):
11528         * dired.c (user_name_completion):
11529         * console-x.c (get_display_arg_connection):
11530         * minibuf.c (clear_echo_area_internal):
11531         * minibuf.c (echo_area_append):
11532         * eldap.c (Fldap_open):
11533         * eldap.c (Fldap_search_internal):
11534         * frame-x.c (x_set_frame_text_value):
11535         * frame-x.c (x_set_frame_properties):
11536         * frame-x.c (x_create_widgets):
11537         * redisplay-tty.c (term_get_fkeys_1):
11538         * objects-x.c (x_parse_nearest_color):
11539         * objects-x.c (x_valid_color_name_p):
11540         * objects-x.c (x_initialize_font_instance):
11541         * objects-x.c (x_list_fonts):
11542         * objects-x.c (x_find_charset_font):
11543         * tooltalk.c (Fadd_tooltalk_message_arg):
11544         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11545         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11546         * process-unix.c (unix_create_process):
11547         * ntproc.c (sys_spawnve):
11548         * sound.c (Fplay_sound_file):
11549         * sound.c (Fplay_sound):
11550         * buffer.c (init_initial_directory):
11551         * buffer.c (init_buffer):
11552         * editfns.c (init_editfns):
11553         * editfns.c (Ftemp_directory):
11554         * editfns.c (Fuser_full_name):
11555         * editfns.c (uncache_home_directory):
11556         * editfns.c (get_home_directory):
11557         * editfns.c (Fuser_home_directory):
11558         * editfns.c (Fformat_time_string):
11559         * editfns.c (Fcurrent_time_string):
11560         * gui-x.c (button_item_to_widget_value):
11561         * database.c (Fopen_database):
11562         * event-Xt.c (x_to_emacs_keysym):
11563         * event-Xt.c (x_event_to_emacs_event):
11564         * event-Xt.c (describe_event_window):
11565         * event-msw.c (mswindows_wnd_proc):
11566         * glyphs-eimage.c (jpeg_instantiate):
11567         * glyphs-eimage.c (gif_instantiate):
11568         * glyphs-eimage.c (png_instantiate):
11569         * glyphs-eimage.c (tiff_instantiate):
11570         * glyphs-x.c (xbm_instantiate_1):
11571         * glyphs-x.c (x_xbm_instantiate):
11572         * glyphs-x.c (x_xface_instantiate):
11573         * glyphs-x.c (autodetect_instantiate):
11574         * glyphs-x.c (cursor_font_instantiate):
11575         * glyphs-x.c (x_widget_instantiate):
11576         * glyphs-x.c (x_widget_set_property):
11577         * glyphs-x.c (x_widget_property):
11578         * glyphs-x.c (BUILD_GLYPH_INST):
11579         * print.c (write_string_to_stdio_stream):
11580         * print.c (output_string):
11581         * print.c (Falternate_debugging_output):
11582         * print.c (Fexternal_debugging_output):
11583         * glyphs-msw.c (extract_xpm_color_names):
11584         * glyphs-msw.c (mswindows_xpm_instantiate):
11585         * glyphs-msw.c (bmp_instantiate):
11586         * glyphs-msw.c (resource_name_to_resource):
11587         * glyphs-msw.c (mswindows_resource_instantiate):
11588         * glyphs-msw.c (xbm_instantiate_1):
11589         * glyphs-msw.c (mswindows_xbm_instantiate):
11590         * glyphs-msw.c (mswindows_xface_instantiate):
11591         * glyphs-msw.c (mswindows_widget_instantiate):
11592         * glyphs-msw.c (add_tree_item):
11593         * glyphs-msw.c (add_tab_item):
11594         * glyphs-msw.c (mswindows_combo_box_instantiate):
11595         * glyphs-msw.c (mswindows_widget_property):
11596         * glyphs-msw.c (mswindows_combo_box_property):
11597         * glyphs-msw.c (mswindows_widget_set_property):
11598         * console.c (stuff_buffered_input):
11599         * objects-msw.c (mswindows_initialize_color_instance):
11600         * objects-msw.c (mswindows_valid_color_name_p):
11601         * objects-msw.c (mswindows_list_fonts):
11602         * objects-msw.c (mswindows_font_instance_truename):
11603         * bytecode.c (optimize_compiled_function):
11604         * select-x.c (symbol_to_x_atom):
11605         * select-x.c (x_atom_to_symbol):
11606         * select-x.c (hack_motif_clipboard_selection):
11607         * select-x.c (selection_data_to_lisp_data):
11608         * select-x.c (lisp_data_to_selection_data):
11609         * select-x.c (Fx_get_cutbuffer_internal):
11610         * select-x.c (Fx_store_cutbuffer_internal):
11611         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11612         * buffer.h (TO_INTERNAL_FORMAT): New function.
11613         * emacs.c (make_arg_list_1):
11614         * emacs.c (make_argc_argv):
11615         * emacs.c (main_1):
11616         * emacs.c (Fdump_emacs):
11617         * emacs.c (split_string_by_emchar_1):
11618         * file-coding.h:
11619         * lisp.h:
11620         * lstream.h:
11621         * symsinit.h:
11622         * device-x.c (x_init_device):
11623         * device-x.c (Fx_valid_keysym_name_p):
11624         * device-x.c (Fx_get_font_path):
11625         * device-x.c (Fx_set_font_path):
11626         * glyphs.c (bitmap_to_lisp_data):
11627         * glyphs.c (pixmap_to_lisp_data):
11628         * alloc.c (make_ext_string): Use coding system arguments.  Update
11629         all callers.
11630         * alloc.c (build_string):
11631         * callproc.c (child_setup):
11632         * callproc.c (init_callproc):
11633         * fileio.c (lisp_strerror):
11634         * fileio.c (directory_file_name):
11635         * fileio.c (Fexpand_file_name):
11636         * fileio.c (Ffile_truename):
11637         * fileio.c (Fsysnetunam):
11638         * fileio.c (Fdo_auto_save):
11639         * sysdep.c (sys_readdir):
11640         * tests.c: New file.  Allow adding C tests.
11641         Replace GET_* macros with a more comprehensible and flexible
11642         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11643         Modify all calls.
11644         Any coding system can be used to do format conversion.
11645         Eliminate enum external_data_format.
11646         Eliminate convert_to_external_format.
11647         Eliminate convert_to_internal_format.
11648         Make sure file-name, keyboard, terminal, and ctext are always
11649         defined as coding systems or aliases.  Make
11650         file-name-coding-system, terminal-coding-system, and
11651         keyboard-coding-system magical variables that are equivalent to
11652         defining the corresponding coding system aliases.
11653
11654         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11655         * file-coding.c (Fcoding_system_alias_p): New function.
11656         * file-coding.c (Fcoding_system_aliasee): New function.
11657         * file-coding.c (append_suffix_to_symbol): New function.
11658         * file-coding.c (dangling_coding_system_alias_p): New function.
11659         * file-coding.c (Ffind_coding_system):
11660         * file-coding.c (Fcopy_coding_system):
11661         * file-coding.c (encode_coding_no_conversion):
11662         * file-coding.c (syms_of_file_coding):
11663         * file-coding.c (vars_of_file_coding):
11664         Rewrite coding system alias code.
11665         Allow nested aliases, like symbolic links.
11666         Allow redefinition of coding system aliases.
11667         Prevent existence of dangling coding system aliases.
11668
11669         * dired.c (Fuser_name_completion_1):
11670         * dired.c (Fuser_name_all_completions):
11671         A crash would happen if user did QUIT in the middle of building
11672         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11673
11674         * lisp.h:
11675         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11676
11677         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11678         an unsigned char *.  Update all callers.
11679
11680 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11681
11682         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11683
11684 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11685
11686         * elhash.c (hentry_description): Use more portable definition.
11687         (resize_hash_table): Initialize new hentries using
11688         xnew_array_and_zero, thereby simplifying the code.
11689
11690         * mule-charset.c (make_charset): Make sure entire object is
11691         initialized, to avoid Purify warnings.
11692
11693         * alloc.c (resize_string): Fix unlikely crash with big strings.
11694
11695 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11696
11697         * realpath.c (xrealpath):
11698         Don't call getwd().
11699
11700 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11701
11702         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11703
11704 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11705
11706         * unexelfsgi.c (unexec): Change the way we decide which segment
11707         should be extended.
11708
11709         Assumption that .bss section should be outside the PT_LOADable
11710         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11711         it's present) is inside the 'data' segment. This would fail the
11712         test which was used to find a segment to grow and cover new
11713         heap. Instead of this assumption, I created another one - on IRIX
11714         the segment to grow should start below .bss and it's address
11715         should extent above the end of .bss. Once this segment is
11716         identified, it's grown to accommodate the new heap and new
11717         zero-length .bss section is added at the end of .data2.
11718
11719 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11720
11721         * eval.c (Feval): Wrong number of arguments should use original
11722         function, not the indirect_function version of it.
11723
11724 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11725
11726         * glyphs-x.c (x_button_instantiate): Don't add image if
11727         it is not a pixmap.
11728         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11729         is relative.
11730
11731 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11732
11733         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11734         declaration.
11735         (DEFVAR_INT_MAGIC): Ditto.
11736         (DEFVAR_BOOL_MAGIC): Ditto.
11737         * glyphs.h: Reindent backslash.
11738
11739 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11740
11741         * glyphs-widget.c (layout_query_geometry):
11742         (layout_layout): Use correct types for gheight, gwidth.
11743
11744 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11745
11746         * EmacsManager.c (QueryGeometry): Purified.
11747
11748 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11749
11750         * alloc.c (make_float): Make sure entire object is initialized, to
11751         avoid Purify warnings.
11752         (pdump_register_sub): Remove useless assignment.
11753         (pdump): Use xmalloc, not malloc.
11754         (pdump_load): Use xmalloc, not malloc.
11755
11756 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11757
11758         * callproc.c:
11759         * dired-msw.c:
11760         * fileio.c:
11761         * process-nt.c:
11762         * redisplay-msw.c:
11763         * sysdep.c: Removed redundant #include <windows.h>
11764
11765 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11766
11767         * frame.c (delete_frame_internal): Do not delete device when its
11768         implementation so declares.
11769         (delete_frame_internal): Set device selected frame to nil when
11770         last frame goes away.
11771
11772         * device-msw.c (msprinter_device_system_metrics): Implemented.
11773         (mswindows_device_system_metrics): Added 'device-dpi property.
11774
11775         * device.c: (Fdevice_printer_p): Added.
11776         Added 'offset-workspace device metric.
11777
11778         * console.h (device_metrics): Declared DM_offset_workspace.
11779
11780 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11781
11782         * fileio.c (Ffile_truename): Remove pointless and confusing
11783         initialization of elen.
11784
11785         * glyphs-widget.c: Compiler warning fixes.
11786
11787 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11788
11789         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11790         instead of a Lisp_Object as argument to make it consistent with
11791         the other LIVE_P macros.
11792         (CHECK_LIVE_PROCESS): New macro.
11793
11794         * process.c: Declare Qprocess_live_p.
11795         (Fprocess_live_p): New function.
11796         (create_process): Use PROCESS_LIVE_P.
11797         (read_process_output): Ditto.
11798         (set_process_filter): Ditto.
11799         (Fdelete_process): Ditto.
11800         (kill_buffer_processes): Ditto
11801         (process_send_signal): Use CHECK_LIVE_PROCESS.
11802         (Fprocess_input_coding_system): Check whether process is still
11803         alive (fix PR#1061).
11804         (Fprocess_output_coding_system): Ditto.
11805         (Fprocess_coding_system): Ditto.
11806         (Fset_process_input_coding_system): Ditto.
11807         (Fset_process_output_coding_system): Ditto.
11808
11809 2000-01-23  Andy Piper  <andy@xemacs.org>
11810
11811         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11812         layout and widget.
11813
11814         * glyphs.c (mark_image_instance): take into account changed
11815         image_instance format.
11816         (image_instance_equal): ditto.
11817         (image_instance_hash): ditto.
11818
11819         * glyphs-widget.c (widget_instantiate): Incorporate layout
11820         instantiation here. Delay layout of the layout until later.
11821         (layout_instantiate): deleted.
11822         (layout_query_geometry): new function. get the geometry of a
11823         layout.
11824         (layout_layout): layout a layout dynamically.
11825         (image_instantiator_widget): New function - splitting up
11826         image_instantiator_format_create_glyphs_widget for netwinder
11827         compilation.
11828         (image_instantiator_buttons):
11829         (image_instantiator_edit_fields):
11830         (image_instantiator_combo_box):
11831         (image_instantiator_scrollbar):
11832         (image_instantiator_progress_guage):
11833         (image_instantiator_tree_view):
11834         (image_instantiator_tab_control):
11835         (image_instantiator_labels):
11836         (image_instantiator_layout): ditto.
11837         (image_instantiator_format_create_glyphs_widget): Call preceding
11838         functions.
11839
11840 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11841
11842         * process.c (Fset_process_coding_system):
11843         * device-x.c (Fx_keysym_hash_table):
11844         Docstring fixes.
11845
11846         * lstream.c (Lstream_write): Return documented value, not 0.
11847
11848         * fileio.c (directory_file_name):
11849         (Fsubstitute_in_file_name):
11850         (Fsubstitute_insert_file_contents_internal):
11851         (Fwrite_region_internal):
11852         * emacs.c:
11853         * sysdep.c:
11854         * getloadavg.c:
11855         * systty.h:
11856         Remove vestigial APOLLO-conditional code.
11857
11858 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11859
11860         * getpagesize.h: Add guard macros.
11861         * libsst.h: Add guard macros.
11862         * libst.h: Add guard macros.
11863         * line-number.h: Add guard macros.
11864         * ndir.h: Add guard macros.
11865         * sysfloat.h: Add guard macros.
11866         * sysfile.h: Add guard macros.
11867         * sysproc.h: Add guard macros.
11868         * syswait.h: Add guard macros.
11869         * xintrinsic.h: Add guard macros.
11870         * xintrinsicp.h: Add guard macros.
11871         * xmmanager.h: Add guard macros.
11872         * xmmanagerp.h: Add guard macros.
11873         * xmprimitive.h: Add guard macros.
11874         * xmu.h: Add guard macros.
11875         * gpmevent.h: Add copyright statement. Add guard macros.
11876         * miscplay.h: Add guard macros.
11877         * *.h: Use consistent C-standards-approved guard macro names.
11878
11879         * opaque.c (make_opaque): Switch parameter order.
11880         * opaque.h (make_opaque): Switch parameter order.
11881         Update all callers.
11882         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11883
11884         * config.h.in (type_checking_assert): Added.
11885         (bufpos_checking_assert): Added.
11886
11887 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11888
11889         * alloc.c: Harmless pdump changes.
11890         - Use countof().
11891         - spell alignment correctly.
11892         * sysdep.c: Use countof()
11893
11894 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11895
11896         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11897         initially_selected_for_input() console method, default to 0.
11898         (semi_canonicalize_console_connection): Try to delegate to
11899         canonicalize_console_connection if no such console method.
11900         (canonicalize_console_connection): Vice versa.
11901         (print_console): Do not print nil connection.
11902
11903         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11904         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11905         (XDEVIMPF_FRAMELESS_OK): Added.
11906         (CONSOLE_INHERITS_METHOD): Added.
11907
11908         * console-msw.c (mswindows_canonicalize_console_connection):
11909         Added.
11910         (mswindows_canonicalize_device_connection): Added.
11911
11912         * console-msw.h (struct msprinter_device): Added this struct and
11913         accessor macros.
11914         (mswindows_device): Made fontlist a lisp object.
11915
11916         * device.c (semi_canonicalize_device_connection):  Try to delegate
11917         to canonicalize_device_connection if no such console method.
11918         (canonicalize_device_connection): Vice versa.
11919         (print_device): Do not print nil connection.
11920
11921         * device-msw.c (mswindows_init_device): Call InitCommonControls
11922         when have widgets.
11923         (mswindows_delete_device): Removed fontlist deallocation.
11924         (mswindows_mark_device): Added.
11925
11926         * events.c (event_equal): Added abort() at unreached code.
11927         (event_hash): Ditto.
11928
11929         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11930         fallback tags of Windows devices.
11931
11932         * general.c (syms_of_general): Initialized Qmsprinter.
11933
11934         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11935         of fallback tags of Windows devices.
11936
11937         * lisp.h: Declared Qmsprinter.
11938
11939         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11940         of strings.
11941         (mswindows_list_fonts): Ditto.
11942         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11943         that it can be used by both mswindows and msprinter devices.
11944         (initialize_font_instance): Added.
11945         (mswindows_initialize_font_instance): Use it.
11946         (msprinter_initialize_font_instance): Added.
11947
11948         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11949         and implementation flags check.
11950         (redisplay_without_hooks): Changed the call to the above.
11951         (Fredraw_device): Ditto.
11952         (Fredisplay_device): Ditto.
11953
11954         * redisplay-msw.c (get_frame_dc): Implemented.
11955         (get_frame_compdc): Implemented.
11956         (many functions): Use the two functions above to get device
11957         contexts, ether for a window or a printer.
11958
11959 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11960
11961         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11962         initialization here.
11963         (init_symbols_once_early): Call it.
11964         * emacs.c (main_1): Call it.
11965         * symsinit.h: Declare it.
11966
11967 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11968
11969         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11970         Lisp_Object.
11971         (pdump_backtrace): Ditto.
11972         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11973         (pdump_get_entry): Abort if trying to register a null pointer.
11974         (pdump_dump_data): Cleanup types when relocating.
11975         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11976         (pdump_dump_rtables): Remove bad casts.
11977         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11978         Lisp_Object instead of a EMACS_INT for the hashtable
11979         reorganization.
11980
11981 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11982
11983         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11984
11985         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11986
11987         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11988
11989         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11990
11991 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11992
11993         * faces.h (FACE_STRIKETHRU_P): Added.
11994
11995         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11996         of font variants.
11997
11998         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11999         (mswindows_set_dc_font): New function, aware of font variants,
12000         separated from mswindows_update_dc.
12001
12002         * objects-msw.h (struct mswindows_font_instance_data): Added
12003         definition.
12004
12005         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12006         cached fonts and the data structure.
12007         (mswindows_initialize_font_instance): Added creation of font data
12008         structure.
12009         (mswindows_print_font_instance): Print at least something.
12010         (mswindows_create_font_variant): Implemented.
12011         (mswindows_get_hfont): Implemented.
12012
12013 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12014
12015         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12016         prototyping problem with msvc.
12017
12018         * emacs.c (main_1): added syms_of_gui_mswindows() call
12019
12020         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12021         syms_of_gui_mswindows() function
12022
12023         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12024
12025 2000-01-18  Martin Buchholz <martin@xemacs.org>
12026
12027         * XEmacs 21.2.27 is released.
12028
12029 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12030
12031         * glyphs-eimage.c (struct tiff_error_struct):
12032         (tiff_error_func):
12033         (tiff_warning_func):
12034         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12035
12036         * unexmips.c:
12037         * unexhp9k3.c:
12038         * unexfreebsd.c:
12039         * unexec.c: Remove vestigial Lucid C code.
12040         * unexalpha.c:
12041         * unexaix.c:
12042         * termcap.c:
12043         * libsst.c: Ansify.
12044         Remove declarations of errno and strerror().
12045
12046         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12047
12048         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12049
12050 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12051
12052         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12053         Optimize.
12054
12055 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12056
12057         * md5.c:
12058         * file-coding.c:
12059         * file-coding.h:
12060         Change enum eol_type to eol_type_t.
12061
12062 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12063
12064         * gui.c (get_gui_callback): Check cons before accessing car.
12065
12066 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12067
12068         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12069         (XSETSPECIFIER_TYPE): Ditto.
12070
12071 2000-01-17  Didier Verna  <didier@xemacs.org>
12072
12073         * redisplay.c (generate_fstring_runes): compute string size in
12074         characters, not bytes.
12075
12076 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12077
12078         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12079
12080 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12081
12082         * print.c (print_error_message): Call print_prepare().
12083
12084 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12085
12086         * .dbxrc: Renamed from dbxrc.
12087
12088         * events.c (event_to_character):
12089         Use `assert (foo)' instead of `if (!foo) abort()'
12090
12091         * .gdbinit (xtype): Add documentation.
12092         * .gdbinit (check-temacs): New function.
12093         * .gdbinit (check-xemacs): New function.
12094         * dbxrc (check-xemacs): New function.
12095         * dbxrc (check-xemacs): New function.
12096
12097 2000-01-14  Andy Piper  <andy@xemacs.org>
12098
12099         * glyphs-widget.c (widget_query_geometry): Make sure that we
12100         calculate default dimensions correctly.
12101
12102 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12103
12104         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12105
12106         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12107         pdump_wire'd variable.
12108
12109         * emacs.c: (main_1): Conditionalized calls to
12110         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12111
12112 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12113
12114         * window.c (Fset_window_configuration):
12115         * sysdep.c (_start):
12116         * input-method-motif.c (res):
12117         * event-Xt.c (Xt_process_to_emacs_event):
12118         Simple compiler warning fixes.
12119
12120         * bytecode.c (funcall_compiled_function): Use the original
12121         function symbol on the backtrace list in preference to the
12122         compiled_function object in error messages.
12123
12124 2000-01-13  Andy Piper  <andy@xemacs.org>
12125
12126         * glyphs-x.c (update_widget_face): Make sure we update the widget
12127         background as well as foreground.
12128
12129 2000-01-13  Andy Piper  <andy@xemacs.org>
12130
12131         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12132         fields to subwindow.
12133         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12134         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12135         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12136         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12137
12138         * glyphs-widget.c (check_valid_tab_orientation): new function.
12139         (initialize_widget_image_instance): zero orientation and
12140         justification.
12141         (widget_instantiate): pick up orientation.
12142         (tab_control_query_geometry): return appropriate values for
12143         vertical tabs.
12144
12145         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12146         appropriate creation flags for left, right and bottom tabs.
12147
12148         * s/cygwin32.h: add tab definitions.
12149
12150 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12151
12152         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12153         frame upon hiding a subwindow.
12154         (mswindows_button_instantiate): Changed the push button style to
12155         BS_PUSHBUTTON.
12156         (mswindows_button_instantiate): Removed button BS_NOTIFY
12157         style.
12158         (mswindows_button_instantiate): Removed redundant check for
12159         a disabled gui item.
12160         (mswindows_button_instantiate): Made use of WS_TABSTOP
12161         consistent: "operable" controls (edit, button, tree, scroll) have
12162         this style, "display-only" ones (static, progress gauge) do
12163         not. This style is currently ignored by XEmacs though. Also,
12164         removed the WS_EX_CONTROLPARENT style - it is not for children,
12165         it is for their parents!
12166         (mswindows_edit_field_instantiate): Ditto.
12167         (mswindows_progress_gauge_instantiate): Ditto.
12168         (mswindows_tree_view_instantiate): Ditto.
12169         (mswindows_tab_control_instantiate): Ditto.
12170         (mswindows_scrollbar_instantiate): Ditto.
12171         (mswindows_combo_box_instantiate): Ditto.
12172         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12173         style to the "clip" window.
12174         (mswindows_button_instantiate): Removed compilation warning by
12175         equally typing terms of the ?: operator.
12176
12177 2000-01-12  Didier Verna  <didier@xemacs.org>
12178
12179         * redisplay.c (generate_fstring_runes): new parameter holding the
12180         last modeline-format extent.
12181         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12182         extent, fill the glyph block with it.
12183         (generate_fstring_runes): handle these parameters.
12184         (generate_formatted_string_db): ditto.
12185
12186         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12187         glyphs'extents in the modeline.
12188
12189 1999-01-11  Mike Woolley  <mike@bulsara.com>
12190
12191         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12192         256Mb, as a workaround for the non-starting problem many people
12193         have experienced.
12194
12195 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12196
12197         * console-tty.c (Fset_console_tty_output_coding_system):
12198         Force redrawing tty frame.
12199
12200 2000-01-10  Didier Verna  <didier@xemacs.org>
12201
12202         * redisplay.c (generate_fstring_runes): fix size computation bug.
12203
12204 2000-01-09  William M. Perry <wmperry@aventail.com>
12205
12206         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12207
12208 2000-01-09  Andy Piper  <andy@xemacs.org>
12209
12210         * glyphs-msw.c: index -> i to avoid shadows.
12211         (xbm_create_bitmap_from_data): make static.
12212         (check_valid_string_or_int): deleted.
12213         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12214
12215         * glyphs-x.c (x_update_subwindow): remove unused args.
12216
12217         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12218         back pointer - this is done in allocate_image_instance.
12219         (query_string_font): return Qnil to make the compiler happy.
12220         (unmap_subwindow): set to ~0 to make the compiler happy.
12221         (glyph_query_geometry): comment out until used.
12222         (glyph_layout): ditto.
12223
12224 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12225
12226         * insdel.c (signal_after_change): Remove extraneous unbind_to().