(M-01418): Unify JC3-43DE.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
4         value; don't store value into `encoding_table' of `Lisp_Charset'.
5         (mark_charset): `encoding_table' was deleted.
6         (charset_description): Likewise.
7         (make_charset): Likewise.
8         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
9         `put_char_ccs_code_point'.
10
11         * chartab.h (Fput_char_attribute): New EXFUN.
12
13         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
14         is unified with normal symbol space.
15         (Fget_char_attribute): Likewise.
16         (Fput_char_attribute): Likewise; behavior of
17         `put_char_ccs_code_point' is changed.
18
19         * char-ucs.h: Include "elhash.h".
20         (Vchar_attribute_hash_table): New external variable.
21         (struct Lisp_Charset): Delete `encoding_table'.
22         (CHARSET_ENCODING_TABLE): New implementation; refer
23         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
24         `Lisp_Charset'.
25
26 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
29         (cs) == 0.
30
31 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * text-coding.c (char_encode_big5): Prefer charset-g1 than
34         `chinese-big5'.
35
36 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * chartab.c (uint8_byte_table_description): New constant.
39         (uint8-byte-table): Use `uint8_byte_table_description'.
40         (uint16_byte_table_description): New constant.
41         (uint16-byte-table): Use `uint16_byte_table_description'.
42
43 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
44
45         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
46         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
47
48 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
49
50         * mule-charset.c (Vcharset_ucs_ks): New variable.
51         (Qucs_ks): New variable.
52         (syms_of_mule_charset): Add new symbol `ucs-ks'.
53         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
54
55         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
56
57 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
58
59         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
60         (Fdecode_char): Likewise.
61
62         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
63         chartab.h.
64         (Fdefine_char): Modify for Fdecode_char.
65         (Ffind_char): Likewise.
66
67         * mule-charset.c (Fdecode_char): Add new optional argument
68         `defined-only'.
69         (Fdecode_builtin_char): Modify for `Fdecode_char'.
70
71 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
74         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
75         (allocate_coding_system): Initialize initial-charsets of
76         CODESYS_BIG5 in XEmacs UTF-2000.
77         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
78         CODESYS_BIG5 in XEmacs UTF-2000.
79         (decode_coding_big5): Use initial-charset-g0 and -g1 of
80         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
81
82         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
83         variables.
84         (Qideograph_hanziku_{1 .. 12}): Likewise.
85         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
86         .. 12}'.
87         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
88         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
89         `ideograph-hanziku-{1 .. 12}'.
90
91         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
92         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
93         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
94         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
95         (DECODE_DEFINED_CHAR): New inline function.
96         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
97
98 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * mule-charset.c (Vcharset_china3_jef): Renamed from
101         `Vcharset_japanese_jef_china3'.
102         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
103         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
104         `{MIN|MAX}_CHAR_JEF_CHINA3'..
105         (syms_of_mule_charset): Rename `china3-jef' from
106         `japanese-jef-china3'.
107         (complex_vars_of_mule_charset): Likewise; rename
108         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
109
110         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
111         `LEADING_BYTE_JEF_CHINA3'.
112         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
113         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
114
115 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * mule-charset.c (encode_builtin_char_1): Comment out special code
118         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
119
120         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
121         (MAX_CHAR_MOJIKYO_0): Comment out.
122         (MIN_CHAR_CBETA): Changed to 0x00E20000.
123         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
124         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
125         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
126
127 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
128
129         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
130         (Qideograph_cbeta): New variable.
131         (encode_builtin_char_1): Comment out special code for
132         coded-charset `mojikyo' and `japanese-jef-china3'.
133         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
134         (complex_vars_of_mule_charset): Add new coded-charset
135         `ideograph-cbeta'.
136
137         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
138         (MIN_CHAR_CBETA): New macro.
139         (MAX_CHAR_CBETA): New macro.
140
141 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
144         (LEADING_BYTE_JEF_CHINA3): New macro.
145         (MIN_CHAR_JEF_CHINA3): New macro.
146         (MAX_CHAR_JEF_CHINA3): Likewise.
147         (DECODE_CHAR): Fixed.
148
149 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
150
151         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
152         (Qjapanese_jef_china3): New variable.
153         (encode_builtin_char_1): Support `japanese-jef-china3'.
154         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
155         (complex_vars_of_mule_charset): Add new coded-charset
156         `japanese-jef-china3'.
157
158 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
161         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
162         94^4, 96^3, 96^4, 128^n and 256^n set.
163         (put_char_table): Use `XCHARSET_CELL_RANGE'.
164         (map_char_table): Likewise.
165
166 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
169         UTF-2000.
170
171 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * chartab.h (get_char_id_table): New inline function.
174
175         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
176         function.
177
178 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * chartab.h (decode_char_table_range): New prototype in XEmacs
181         UTF-2000.
182         (put_char_id_table): New inline function in XEmacs UTF-2000.
183
184         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
185         function.
186         (decode_char_table_range): Delete static declaration in XEmacs
187         UTF-2000.
188
189 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * chartab.c (put_char_id_table): Use `put_char_table'.
192
193 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
196         (map_over_uint16_byte_table): Likewise.
197         (map_over_byte_table): Likewise.
198         (map_char_table): Modify for `map_over_uint8_byte_table',
199         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
200         UTF-2000.
201
202 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
203
204         * chartab.c (struct map_char_table_for_charset_arg): New
205         structure.
206         (map_char_table_for_charset_fun): New function.
207         (map_char_table): Use `map_char_table' for encoding_table of
208         `range->charset'.
209
210 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * chartab.c (map_char_table): Check a character is found in
213         range->charset instead of non default value is defined in
214         char-table when range is CHARTAB_RANGE_ROW.
215
216 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * chartab.c (map_char_id_table): Deleted.
219         (Fmap_char_attribute): Use `map_char_table' instead of
220         `map_char_id_table'.
221
222 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
225         UTF-2000.
226         (update_syntax_table): Deleted in XEmacs UTF-2000.
227
228         * syntax.c (find_defun_start): Use `syntax_table' instead of
229         `mirror_syntax_table' in XEmacs UTF-2000.
230         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
231         UTF-2000.
232         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
233         XEmacs UTF-2000.
234         (Fmatching_paren): Likewise.
235         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
236         in XEmacs UTF-2000.
237         (find_start_of_comment): Likewise.
238         (find_end_of_comment): Likewise.
239         (Fforward_comment): Likewise.
240         (scan_lists): Likewise.
241         (char_quoted): Likewise.
242         (Fbackward_prefix_chars): Likewise.
243         (scan_sexps_forward): Likewise.
244         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
245         (update_syntax_table): Likewise.
246
247         * search.c (skip_chars): Use `syntax_table' instead of
248         `mirror_syntax_table' in XEmacs UTF-2000.
249         (wordify): Likewise.
250         (Freplace_match): Likewise.
251
252         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
253         `mirror_syntax_table' in XEmacs UTF-2000.
254         (WORDCHAR_P_UNSAFE): Likewise.
255         (re_match_2_internal): Likewise.
256
257         * font-lock.c (find_context): Use `buf->syntax_table' instead of
258         `buf->mirror_syntax_table' in XEmacs UTF-2000.
259
260         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
261         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
262
263         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
264         XEmacs UTF-2000.
265
266         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
267         UTF-2000.
268         (print_char_table): Print `default_value' in XEmacs UTF-2000.
269         (char_table_description): Delete `mirror_table' in XEmacs
270         UTF-2000.
271         (fill_char_table): Don't call `update_syntax_table' in XEmacs
272         UTF-2000.
273         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
274         (Fcopy_char_table): Likewise.
275         (put_char_table): Don't call `update_syntax_table' in XEmacs
276         UTF-2000.
277
278         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
279         `buf->mirror_syntax_table' in XEmacs UTF-2000.
280         (casify_region_internal): Likewise.
281
282         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
283
284         * buffer.c (common_init_complex_vars_of_buffer): Don't use
285         `mirror_syntax_table' in XEmacs UTF-2000.
286
287         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
288         `buf->mirror_syntax_table' in XEmacs UTF-2000.
289         (Fexpand_abbrev): Likewise.
290
291 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
294
295 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
298         (map_over_uint16_byte_table): Likewise.
299         (map_over_byte_table): Likewise.
300         (get_char_id_table): Refer `cit->default_value'.
301         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
302         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
303         of character-id ranges.
304         (mark_char_table): Mark `ct->default_value'.
305         (char_table_description): Add `default_value'.
306         (fill_char_table): Use `default_value'.
307         (decode_char_table_range): Decode `nil' as
308         `CHARTAB_RANGE_DEFAULT'.
309         (get_char_id_table): Refer `cit->default_value'.
310         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
311         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
312         temporary hack; check value of char-table is bound or not.
313         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
314
315         * chartab.h (struct Lisp_Char_Table): Add new member
316         `default_value' in XEmacs UTF-2000.
317         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
318         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
319         UTF-2000.
320
321 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * chartab.h (Lisp_Char_ID_Table): Deleted.
324
325         * chartab.c (char_table_description): Fix typo.
326         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
327         `Lisp_Char_ID_Table'.
328
329 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
332         `CHAR_ID_TABLE_P'.
333
334         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
335         `CHAR_ID_TABLE_P'.
336
337         * chartab.h (XCHAR_ID_TABLE): Deleted.
338         (XSETCHAR_ID_TABLE): Deleted.
339         (CHAR_ID_TABLE_P): Deleted.
340
341         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
342         `CHAR_ID_TABLE_P'.
343         (Fget_composite_char): Likewise.
344         (put_char_table): Likewise.
345         (add_char_attribute_alist_mapper): Fixed.
346         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
347         `CHAR_ID_TABLE_P'.
348         (Fget_char_attribute): Likewise.
349         (Fget_char_attribute): Likewise.
350         (Fmap_char_attribute): Likewise.
351
352         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
353         `CHAR_ID_TABLE_P'.
354         (encode_char_1): Likewise.
355
356 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
359         `XCHAR_ID_TABLE'.
360
361         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
362         instead of `XCHAR_ID_TABLE'.
363         (remove_char_ccs): Likewise.
364
365         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
366         `XCHAR_ID_TABLE'.
367         (Fget_composite_char): Likewise.
368         (Fchar_variants): Likewise.
369         (put_char_table): Likewise.
370         (add_char_attribute_alist_mapper): Likewise.
371         (Fchar_attribute_alist): Likewise.
372         (Fget_char_attribute): Likewise.
373         (Fput_char_attribute): Likewise.
374         (Fmap_char_attribute): Likewise.
375         (Fmap_char_attribute): Likewise.
376
377         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
378         `XCHAR_ID_TABLE'.
379         (encode_char_1): Likewise.
380
381 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
384         `Lisp_Char_ID_Table'.
385         (mark_char_id_table): Deleted.
386         (print_char_id_table): Likewise.
387         (char_id_table_equal): Likewise.
388         (char_id_table_hash): Likewise.
389         (char_id_table_description): Likewise.
390         (char_id_table): Likewise.
391         (make_char_id_table): Use `Fmake_char_table' and
392         `fill_char_table'.
393         (get_char_id_table): Use `Lisp_Char_Table' instead of
394         `Lisp_Char_ID_Table'.
395         (put_char_id_table): Likewise.
396         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
397         `XCHAR_ID_TABLE'.
398         (Fremove_char_attribute): Likewise.
399         (syms_of_chartab): Don't define type `char-id-table'.
400
401         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
402         (char_id_table): Likewise.
403         (GC_CHAR_ID_TABLE_P): Likewise.
404         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
405         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
406         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
407         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
408         (get_char_id_table): Use `Lisp_Char_Table' instead of
409         `Lisp_Char_ID_Table'.
410         (put_char_id_table_0): Likewise.
411         (put_char_id_table): Likewise.
412
413 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
414
415         * chartab.h: Lisp_Byte_Table related codes are moved from
416         chartab.h.
417
418         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
419
420 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
421
422         * chartab.h: Don't include "chartab.h".
423         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
424         (Lisp_Char_ID_Table): Likewise.
425         (char_id_table): Likewise.
426         (XCHAR_ID_TABLE): Likewise.
427         (XSETCHAR_ID_TABLE): Likewise.
428         (CHAR_ID_TABLE_P): Likewise.
429         (GC_CHAR_ID_TABLE_P): Likewise.
430         (get_char_id_table): Likewise.
431
432         * char-ucs.h: Include "chartab.h".
433         (struct Lisp_Char_ID_Table): Moved to chartab.h.
434         (Lisp_Char_ID_Table): Likewise.
435         (char_id_table): Likewise.
436         (XCHAR_ID_TABLE): Likewise.
437         (XSETCHAR_ID_TABLE): Likewise.
438         (CHAR_ID_TABLE_P): Likewise.
439         (GC_CHAR_ID_TABLE_P): Likewise.
440         (get_char_id_table): Likewise.
441
442 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
443
444         * chartab.c (copy_uint8_byte_table): New function.
445         (copy_uint16_byte_table): New function.
446         (copy_byte_table): New function.
447         (map_over_uint8_byte_table): Modify to avoid huge numbers of
448         characters to call.
449         (map_over_uint16_byte_table): Likewise.
450         (map_over_byte_table): Likewise.
451         (get_byte_table): Move prototype to chartab.h.
452         (put_byte_table): Likewise.
453         (put_char_id_table_0): Moved to chartab.h.
454         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
455         (char_table_entry_equal): Likewise.
456         (char_table_entry_hash): Likewise.
457         (char_table_entry_description): Likewise.
458         (char_table_entry): Likewise.
459         (make_char_table_entry): Likewise.
460         (copy_char_table_entry): Likewise.
461         (get_non_ascii_char_table_value): Likewise.
462         (map_over_charset_ascii): Likewise.
463         (map_over_charset_control_1): Likewise.
464         (map_over_charset_row): Likewise.
465         (map_over_other_charset): Likewise.
466         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
467         (print_char_table): Likewise.
468         (char_table_equal): Likewise.
469         (char_table_hash): Likewise.
470         (char_table_description): Likewise.
471         (fill_char_table): Likewise.
472         (Fcopy_char_table): Likewise.
473         (get_char_table): Likewise.
474         (Fget_range_char_table): Likewise.
475         (put_char_table): Likewise.
476         (map_char_table): Likewise.
477         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
478         UTF-2000.
479
480 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
483         `Vauto_fill_chars' in XEmacs UTF-2000.
484
485         * chartab.h (get_byte_table): New prototype [moved from
486         chartab.c].
487         (put_byte_table): Likewise [moved from chartab.c].
488         (put_char_id_table_0): New inline function [moved from chartab.c].
489         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
490         (Lisp_Char_Table_Entry): Likewise.
491         (char_table_entry): Likewise.
492         (XCHAR_TABLE_ENTRY): Likewise.
493         (XSETCHAR_TABLE_ENTRY): Likewise.
494         (CHAR_TABLE_ENTRYP): Likewise.
495         (CHECK_CHAR_TABLE_ENTRY): Likewise.
496         (NUM_ASCII_CHARS): Likewise.
497         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
498         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
499
500 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * chartab.c (get_char_id_table): Change interface.
503         (put_char_id_table_0): New function.
504         (put_char_id_table): Change interface; new implementation.
505         (Fget_composite_char): Modify for interface change of
506         `get_char_id_table'.
507         (Fchar_variants): Likewise.
508         (add_char_attribute_alist_mapper): Likewise.
509         (Fchar_attribute_alist): Likewise.
510         (Fget_char_attribute): Likewise.
511         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
512         as same as character as the first argument like `put-char-table';
513         modify for interface change of `put_char_id_table'.
514         (Fremove_char_attribute): Modify for interface change of
515         `put_char_id_table'.
516
517 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * text-coding.c: Sync up with XEmacs 21.2.41.
520         (COMPOSE_ADD_CHAR): Modify for interface change of
521         `get_char_id_table'.
522
523         * mule-charset.c (put_char_ccs_code_point): Modify for interface
524         change of `put_char_id_table'.
525         (remove_char_ccs): Likewise.
526
527         * chartab.h (put_char_id_table): Change interface.
528
529         * char-ucs.h (get_char_id_table): Change interface.
530         (charset_code_point): Modify for interface change of
531         `get_char_id_table'.
532         (encode_char_1): Likewise.
533
534 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
537         argument `ccs'.
538         (map_over_uint16_byte_table): Likewise.
539         (map_over_byte_table): Likewise.
540         (map_char_id_table): Add new argument `range' like
541         `map_char_table'.
542         (Fmap_char_attribute): Add new argument `range' like
543         `Fmap_char_table'.
544
545 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
546
547         * chartab.c (map_over_uint8_byte_table): Change interface of
548         mapping function to use struct chartab_range instead of Emchar.
549         (map_over_uint16_byte_table): Likewise.
550         (map_over_byte_table): Likewise.
551         (map_char_id_table): Likewise.
552         (struct slow_map_char_id_table_arg): Deleted.
553         (slow_map_char_id_table_fun): Deleted.
554         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
555         function `slow_map_char_table_fun' instead of struct
556         `slow_map_char_id_table_arg' and function
557         `slow_map_char_id_table_fun'.
558
559 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * mule-charset.c: Move char-it-table related codes to chartab.c.
562         (Vutf_2000_version): Moved to chartab.c.
563         (Fdefine_char): Likewise.
564         (Ffind_char): Likewise.
565         (syms_of_mule_charset): Move types `uint8-byte-table',
566         `uint16-byte-table', `byte-table' and `char-id-table' to
567         chartab.c; move functions `char_attribute_list,
568         `find_char_attribute_table, `char_attribute_alist,
569         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
570         `map_char_attribute, `define_char, `find_char, `char_variants and
571         `get_composite_char to chartab.c; move symbols `=>ucs',
572         `->decomposition', `compat', `isolated', `initial', `medial',
573         `final', `vertical', `noBreak', `fraction', `super', `sub',
574         `circle', `square', `wide', `narrow', `small' and `font' to
575         chartab.c.
576         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
577         setting codes for `Vcharacter_composition_table' and
578         `Vcharacter_variant_table' to chartab.c.
579         (complex_vars_of_mule_charset): Move setting code for
580         `Vchar_attribute_hash_table' to chartab.c.
581
582         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
583         (make_char_id_table): New prototype.
584         (put_char_id_table): Likewise.
585         (Fget_char_attribute): Likewise.
586
587         * chartab.c: Move char-id-table related code from mule-charset.c.
588         (Vutf_2000_version): Moved from mule-charset.c.
589
590         * char-ucs.h (Qucs): New external variable.
591         (put_char_ccs_code_point): New prototype.
592         (remove_char_ccs): Likewise.
593
594 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
595
596         * mule-charset.c (Vcharset_ucs_jis): New variable.
597         (Qucs_jis): Likewise.
598         (syms_of_mule_charset): Add new symbol `ucs-jis'.
599         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
600
601         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
602
603 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * mule-charset.c (map_over_uint8_byte_table): New function.
606         (map_over_uint16_byte_table): Likewise.
607         (map_over_byte_table): Likewise.
608         (map_char_id_table): Likewise.
609         (slow_map_char_id_table_fun): Likewise.
610         (Fmap_char_attribute): Likewise.
611         (syms_of_mule_charset): Add new function `map-char-attribute'.
612
613 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
616         (syms_of_mule_charset): Add new function `find-char'.
617
618 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
621         XEmacs UTF-2000.
622         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
623         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
624         XEmacs UTF-2000.
625         (complex_vars_of_mule_charset): Add new coded-charset
626         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
627         `ideograph-gt-pj-*'.
628
629         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
630
631 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
632
633         * mule-charset.c (encode_builtin_char_1): Purge codes about
634         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
635         {MIN|MAX}_CHAR_HEBREW.
636         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
637         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
638
639         * char-ucs.h (MIN_CHAR_GREEK): Purged.
640         (MAX_CHAR_GREEK): Purged.
641         (MIN_CHAR_CYRILLIC): Purged.
642         (MAX_CHAR_CYRILLIC): Purged.
643         (MIN_CHAR_HEBREW): Commented out.
644         (MAX_CHAR_HEBREW): Likewise.
645
646 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * mule-charset.c (Qto_ucs): New variable.
649         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
650         (Fdefine_char): Likewise.
651         (syms_of_mule_charset): Add new symbol `=>ucs'.
652
653 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
654
655         * mule-charset.c (Fdecode_char): Fixed.
656
657 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
660         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
661         "tcvn5712-1".
662
663 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * mule-charset.c (Vcharset_ucs_big5): New variable.
666         (Qucs_big5): Likewise.
667         (syms_of_mule_charset): Add new symbol `ucs-big5'.
668         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
669
670         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
671
672 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * mule-charset.c (decode_builtin_char): Check Big5 code range
675         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
676
677 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
680         (Qchinese_gb12345): Likewise.
681         (Fdecode_builtin_char): Fixed.
682         (syms_of_mule_charset): Add `chinese-gb12345'.
683         (complex_vars_of_mule_charset): Add coded-charset
684         `chinese-gb12345'.
685
686         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
687         (LEADING_BYTE_CHINESE_GB12345): New macro.
688
689 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
692         and `latin-viscii-upper' for `latin-viscii'.
693
694 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * mule-charset.c (Fdecode_builtin_char): Comment out
697         regularization code for ISO-IR GR representation.
698
699 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * mule-charset.c (decode_builtin_char): New function; renamed from
702         `make_builtin_char'; return -1 instead of signal.
703         (Fdecode_builtin_char): Use `decode_builtin_char'.
704
705         * char-ucs.h (decode_builtin_char): New prototype; renamed from
706         `make_builtin_char'.
707         (DECODE_CHAR): Use `decode_builtin_char' instead of
708         `make_builtin_char'; use mapping table of `chinese-big5' for
709         `chinese-big5-{1,2}'.
710
711 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * text-coding.c (char_encode_big5): New function.
714         (char_finish_big5): Likewise.
715         (reset_encoding_stream): Use `char_encode_big5' and
716         `char_finish_big5' for CODESYS_BIG5.
717         (mule_encode): Don't use `encode_coding_big5'.
718         (encode_coding_big5): Deleted.
719
720 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
723         0x81- in XEmacs UTF-2000.
724         (detect_coding_big5): Likewise.
725
726 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
727
728         * mule-charset.c (Fdefine_char): Don't use a CCS property to
729         generate character-id if the CCS property does not have
730         corresponding predefined character.
731         (make_builtin_char): Return -1 if corresponding predefined
732         character is not found.
733         (Fdecode_char): Return nil if corresponding character is not
734         found.
735         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
736         don't map to builtin ucs space.
737
738 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
739
740         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
741         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
742
743 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * mule-charset.c (Vcharset_ideograph_gt): New variable.
746         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
747         (Qideograph_gt): Likewise.
748         (Qideograph_gt_pj_{1..11}): Likewise.
749         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
750         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
751         `ideograph-gt-pj-11'.
752         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
753         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
754         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
755
756         * char-ucs.h (LEADING_BYTE_GT): New macro.
757         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
758         (MIN_CHAR_GT): Likewise.
759         (MAX_CHAR_GT): Likewise.
760
761 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
764         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
765
766         * doprnt.c (unsigned_int_converters): Add `c'.
767         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
768
769         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
770         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
771         `MIN_CHAR_MOJIKYO'.
772         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
773         (MAX_CHAR_MOJIKYO_0): New macro.
774         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
775
776 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * mule-charset.c (Fdefine_char): Delete cemented out code.
779         (encode_builtin_char_1): Modify for new allocation of builtin
780         Mojikyo characters.
781
782         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
783
784 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * mule-charset.c (Vcharset_ucs_cns): New variable.
787         (Qucs_cns): New variable.
788         (syms_of_mule_charset): Add new symbol `ucs-cns'.
789         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
790
791 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
792
793         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
794
795 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
796
797         * search.c (search_buffer): Make `charset_base_code' as
798         character-id >> 6 to eliminate the corresponding last byte in
799         UTF-8 representation [I'm not sure it is right thing].
800         (boyer_moore): Likewise.
801
802 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
803
804         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
805         representation in MULE.
806
807 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * text-coding.c (Fmake_coding_system): Use
810         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
811         `EXTERNAL_PROPERTY_LIST_LOOP'.
812
813 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
814
815         * text-coding.c (decode_output_utf8_partial_char): New function.
816         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
817
818 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
819
820         * text-coding.c (decode_coding_utf8): Output original byte
821         sequence if it is broken; change order of conditions.
822
823         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
824         of conditions.
825
826         * mb-multibyte.h (BYTE_ASCII_P):
827         Use bit ops for char-signedness safety.
828         (BYTE_C0_P): Use bit ops for char-signedness safety.
829         (BYTE_C1_P): Use bit ops for char-signedness safety.
830
831         * character.h: (XCHAR_OR_CHAR_INT):
832         Always use inline function.
833         Remove redundant type checking assert() - XINT will abort quite
834         nicely.
835
836 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * text-coding.c: (Fencode_shift_jis_char):
839         (Fencode_big5_char):
840         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
841         Replace 0 with '\0' when working with bytes.
842         Replace initial "(" with "\(" in docstrings.
843
844         (Fmake_coding_system):
845         When type is ccl and value is vector, register it with a proper
846         symbol.  And checks whether the given ccl program is valid.
847         (mule_decode): When calling ccl_driver, if src indicates
848         NULL pointer, set an empty string instead.
849         (mule_encode): Likewise.
850
851         (detect_eol_type):
852         (detect_coding_sjis):
853         (decode_coding_sjis):
854         (detect_coding_big5):
855         (decode_coding_big5):
856         (detect_coding_ucs4):
857         (decode_coding_ucs4):
858         (detect_coding_utf8):
859         (decode_coding_utf8):
860         (detect_coding_iso2022):
861         (decode_coding_iso2022):
862         (decode_coding_no_conversion):
863         (mule_decode):
864         Make all detecting and decoding functions take an Extbyte * arg.
865         (text_encode_generic):
866         (encode_coding_big5):
867         (encode_coding_no_conversion):
868         (mule_encode):
869         Make all encoding functions take a Bufbyte * arg.
870         Use size_t instead of unsigned int for memory sizes.
871         Only cast to unsigned char whenever dereferencing Extbyte *.
872
873         (struct lrecord_description fcd_description_1): Use countof.
874         (complex_vars_of_file_coding):
875         Use countof instead of sizeof.
876         Use CHECK_NATNUM instead of CHECK_INT.
877
878 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * mule-charset.c (Fget_char_attribute): Add new optional argument
881         `default-value'.
882         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
883         (remove_char_ccs): Likewise.
884
885 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
886
887         * text-coding.c (char_encode_shift_jis): New implementation in
888         UTF-2000.
889         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
890         ...)'.
891
892         * mule-charset.c (Vcharset_chinese_big5): New variable in
893         UTF-2000.
894         (Qchinese_big5): New variable in UTF-2000.
895         (BIG5_SAME_ROW): New macro in UTF-2000.
896         (make_builtin_char): Use builtin characters of
897         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
898         characters of `Vcharset_chinese_big5'.
899         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
900         (complex_vars_of_mule_charset): Add new coded-charset
901         `chinese-big5' in UTF-2000.
902
903         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
904         (Vcharset_chinese_big5): New external variable declaration.
905         (Vcharset_japanese_jisx0208_1990): Likewise.
906
907 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
908
909         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
910         function.
911         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
912
913 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
914
915         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
916         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
917         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
918         `mojikyo-pj-*'.
919
920 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
923
924 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
927         to 0.17.
928
929 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
932         for `CHARSET_BY_ATTRIBUTES'.
933         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
934         `CHARSET_BY_ATTRIBUTES'.
935
936         * text-coding.c (struct decoding_stream): Rename member `CH' to
937         `CPOS'.
938         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
939         (decode_coding_sjis): Likewise.
940         (decode_coding_big5): Likewise.
941         (decode_coding_ucs4): Likewise.
942         (decode_coding_utf8): Likewise.
943         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
944         `CHARSET_BY_ATTRIBUTES'.
945         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
946         `str->counter'; decode 3, 4 bytes sets.
947         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
948         sets.
949         (decode_coding_no_conversion): Use `str->cpos' instead of
950         `str->ch'.
951
952         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
953         (Qmojikyo_2022_1): New variable.
954         (make_charset): Don't use `CHARSET_TYPE_*'.
955         (range_charset_code_point): Support coded-charset
956         `mojikyo-2022-1'.
957         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
958         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
959         `CHARSET_BY_ATTRIBUTES'.
960         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
961         `CHARSET_BY_ATTRIBUTES'.
962         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
963         (complex_vars_of_mule_charset): Add new coded-charset
964         `mojikyo-2022-1'.
965
966         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
967         interface; changed to inline function.
968
969         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
970         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
971         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
972         (CHARSET_TYPE_94): Deleted.
973         (CHARSET_TYPE_94X94): Deleted.
974         (CHARSET_TYPE_96): Deleted.
975         (CHARSET_TYPE_96X96): Deleted.
976         (CHARSET_TYPE_128): Deleted.
977         (CHARSET_TYPE_128X128): Deleted.
978         (CHARSET_TYPE_256): Deleted.
979         (CHARSET_TYPE_256X256): Deleted.
980         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
981         to inline function.
982         (DECODE_MOJIKYO_2022): New inline function.
983         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
984         `Vcharset_mojikyo_2022_1'.
985
986 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
989         instead of `EQ'.
990         (put_byte_table): Likewise.
991         (char_id_table_equal): Use `get_byte_table' [new implementation].
992
993 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * mule-charset.c: Include <limits.h> in UTF-2000.
996         (BT_UINT8_MIN): New macro in UTF-2000.
997         (BT_UINT8_MAX): New macro in UTF-2000.
998         (BT_UINT8_t): New macro in UTF-2000.
999         (BT_UINT8_nil): New macro in UTF-2000.
1000         (BT_UINT8_unbound): New macro in UTF-2000.
1001         (INT_UINT8_P): New inline function in UTF-2000.
1002         (UINT8_VALUE_P): New inline function in UTF-2000.
1003         (UINT8_ENCODE): New inline function in UTF-2000.
1004         (UINT8_DECODE): New inline function in UTF-2000.
1005         (mark_uint8_byte_table): New function in UTF-2000.
1006         (print_uint8_byte_table): New function in UTF-2000.
1007         (uint8_byte_table_equal): New function in UTF-2000.
1008         (uint8_byte_table_hash): New function in UTF-2000.
1009         (make_uint8_byte_table): New function in UTF-2000.
1010         (uint8_byte_table_same_value_p): New function in UTF-2000.
1011         (BT_UINT16_MIN): New macro in UTF-2000.
1012         (BT_UINT16_MAX): New macro in UTF-2000.
1013         (BT_UINT16_t): New macro in UTF-2000.
1014         (BT_UINT16_nil): New macro in UTF-2000.
1015         (BT_UINT16_unbound): New macro in UTF-2000.
1016         (INT_UINT16_P): New inline function in UTF-2000.
1017         (UINT16_VALUE_P): New inline function in UTF-2000.
1018         (UINT16_ENCODE): New inline function in UTF-2000.
1019         (UINT16_DECODE): New inline function in UTF-2000.
1020         (UINT8_TO_UINT16): New inline function in UTF-2000.
1021         (mark_uint16_byte_table): New function in UTF-2000.
1022         (print_uint16_byte_table): New function in UTF-2000.
1023         (uint16_byte_table_equal): New function in UTF-2000.
1024         (uint16_byte_table_hash): New function in UTF-2000.
1025         (make_uint16_byte_table): New function in UTF-2000.
1026         (uint16_byte_table_same_value_p): New function in UTF-2000.
1027         (print_byte_table): New function in UTF-2000.
1028         (byte-table): Use `print_byte_table' as printer.
1029         (make_byte_table): Delete second argument `older'.
1030         (byte_table_same_value_p): New function in UTF-2000.
1031         (copy_byte_table): Deleted.
1032         (get_byte_table): New function in UTF-2000.
1033         (put_byte_table): New function in UTF-2000.
1034         (print_char_id_table): New function in UTF-2000.
1035         (char-id-table): Use `print_char_id_table' as printer.
1036         (make_char_id_table): Delete second argument `older'.
1037         (get_char_id_table): Use `get_byte_table [new implementation].
1038         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1039         implementation].
1040         (Ffind_char_attribute_table): New function in UTF-2000.
1041         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1042         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1043         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1044         (syms_of_mule_charset): Add new function
1045         `find-char-attribute-table' in UTF-2000.
1046
1047         * lrecord.h (enum lrecord_type): Add
1048         `lrecord_type_uint16_byte_table' and
1049         `lrecord_type_uint8_byte_table'.
1050
1051         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1052         (Lisp_Uint8_Byte_Table): New type.
1053         (XUINT8_BYTE_TABLE): New macro.
1054         (XSETUINT8_BYTE_TABLE): New macro.
1055         (UINT8_BYTE_TABLE_P): New macro.
1056         (GC_UINT8_BYTE_TABLE_P): New macro.
1057         (struct Lisp_Uint16_Byte_Table): New structure.
1058         (Lisp_Uint16_Byte_Table): New type.
1059         (XUINT16_BYTE_TABLE): New macro.
1060         (XSETUINT16_BYTE_TABLE): New macro.
1061         (UINT16_BYTE_TABLE_P): New macro.
1062         (GC_UINT16_BYTE_TABLE_P): New macro.
1063
1064 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1067         (Vcharacter_ideographic_strokes_table): Deleted.
1068         (Vcharacter_total_strokes_table): Deleted.
1069         (Vcharacter_morohashi_daikanwa_table): Deleted.
1070         (Vcharacter_decomposition_table): Deleted.
1071         (Qname): Deleted because it is duplicated.
1072         (Qideographic_radical): Deleted.
1073         (Qideographic_strokes): Deleted.
1074         (Qtotal_strokes): Deleted.
1075         (Qmorohashi_daikanwa): Deleted.
1076         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1077         `ideographic-radical', `ideographic-strokes', `total-strokes',
1078         `morohashi-daikanwa' and `->decomposition'.
1079         (Fget_char_attribute): Likewise.
1080         (Fput_char_attribute): Likewise; use `make-vector' instead of
1081         `make_older_vector' for `->decomposition' value.
1082         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1083         `ideograph-daikanwa'.
1084         (syms_of_mule_charset): Delete builtin symbols `name',
1085         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1086         `morohashi-daikanwa'.
1087         (vars_of_mule_charset): Don't setup
1088         `Vcharacter_ideographic_radical_table',
1089         `Vcharacter_ideographic_strokes_table',
1090         `Vcharacter_total_strokes_table',
1091         `Vcharacter_morohashi_daikanwa_table' and
1092         `Vcharacter_decomposition_table'.
1093
1094 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1095
1096         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1097         `make_older_vector', `make_vector_newer_1' and
1098         `make_vector_newer'.
1099
1100         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1101         `make_older_vector' and `make_vector_newer'.
1102
1103         * config.h.in (HAVE_GGC): New macro.
1104
1105 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * mule-charset.c (struct char_attribute_list_closure): New
1108         structure in UTF-2000.
1109         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1110         (Fchar_attribute_list): Likewise.
1111         (Fset_charset_mapping_table): Use `make_vector_newer'.
1112         (Fdecode_builtin_char): New function in UTF-2000.
1113         (syms_of_mule_charset): Add new function `char-attribute-list' and
1114         `decode-builtin-char' in UTF-2000.
1115
1116         * lisp.h (make_vector_newer): New prototype.
1117
1118         * alloc.c (make_vector_newer_1): New function.
1119         (make_vector_newer): New function.
1120
1121 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1124         50100)'.
1125
1126 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1129         (Vcharacter_attribute_table): Deleted.
1130         (Vcharacter_name_table): Deleted.
1131         (put_char_attribute): Deleted.
1132         (remove_char_attribute): Deleted.
1133         (struct char_attribute_alist_closure): New structure.
1134         (add_char_attribute_alist_mapper): New function.
1135         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1136         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1137         (Fget_char_attribute): Likewise.
1138         (Fput_char_attribute): Likewise.
1139         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1140         of `remove_char_attribute'.
1141         (Fdefine_char): Return character.
1142         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1143         and `Vcharacter_name_table'.
1144         (complex_vars_of_mule_charset): Likewise
1145         `Vchar_attribute_hash_table'.
1146
1147 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * character.h (CHARC_CHARSET): New macro.
1150         (CHARC_CHARSET_ID): New macro.
1151         (CHARC_CODE_POINT): New macro.
1152         (CHARC_COLUMNS): New macro.
1153         (CHARC_TO_CHAR): New inline function.
1154         (CHARC_EQ): New inline function.
1155         (CHARC_ASCII_EQ): New inline function.
1156         (CHARC_IS_SPACE): New inline function.
1157         (ASCII_TO_CHARC): New inline function.
1158
1159         * char-ucs.h (encode_char_2): Deleted.
1160         (ENCODE_CHAR): Use `encode_char_1' again.
1161         (breakup_char_1): Likewise.
1162         (CHAR_TO_CHARC): New inline function.
1163
1164         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1165
1166 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1167
1168         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1169         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1170         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1171         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1172         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1173         `CHARC_IS_SPACE'.
1174         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1175
1176         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1177         `CHARC_CODE_POINT'.
1178         (x_output_display_block): Use `CHARC_CHARSET' and
1179         `CHARC_ASCII_EQ'.
1180
1181         * redisplay-tty.c (tty_output_display_block): Use
1182         `CHARC_ASCII_EQ'.
1183         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1184
1185         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1186
1187         * insdel.c (find_charsets_in_charc_string): Use
1188         `CHARC_CHARSET_ID'.
1189         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1190         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1191         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1192         (convert_charc_string_into_malloced_string): Likewise.
1193
1194 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1195
1196         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1197         instead of <Emchar_dynarr *> for buf; use
1198         `convert_bufbyte_string_into_charc_dynarr' instead of
1199         `convert_bufbyte_string_into_emchar_dynarr'; use
1200         `find_charsets_in_charc_string' instead of
1201         `find_charsets_in_emchar_string'.
1202
1203         * redisplay.h:
1204         - Include "character.h".
1205         (struct rune): New member `cglyph'; delete member `chr'.
1206
1207         * redisplay.c (redisplay_text_width_charc_string): New function;
1208         delete `redisplay_text_width_emchar_string'.
1209         (rtw_charc_dynarr): New variable; renamed from
1210         `rtw_emchar_dynarr'.
1211         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1212         `rtw_emchar_dynarr'; use
1213         `convert_bufbyte_string_into_charc_dynarr' instead of
1214         `convert_bufbyte_string_into_emchar_dynarr'; use
1215         `redisplay_text_width_charc_string' instead of
1216         `redisplay_text_width_emchar_string'.
1217         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1218         instead of `rtw_emchar_dynarr'; use
1219         `convert_bufbyte_string_into_charc_dynarr' instead of
1220         `convert_bufbyte_string_into_emchar_dynarr'.
1221         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1222         `redisplay_text_width_charc_string' instead of
1223         `redisplay_text_width_emchar_string'.
1224         (create_text_block): Modify for <struct rune> change.
1225         (generate_formatted_string_db): Likewise.
1226         (create_string_text_block): Likewise.
1227         (pixel_to_glyph_translation): Likewise.
1228
1229         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1230         instead of <const Emchar *>.
1231         (x_text_width): Likewise.
1232         (x_output_display_block): Use <Charc_dynarr *> instead
1233         <Emchar_dynarr *>; modify for <structure rune> change.
1234         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1235         *>.
1236
1237         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1238         <const Emchar *>; use `charc_string_displayed_columns' instead of
1239         `emchar_string_displayed_columns'.
1240         (tty_output_display_block): Use <Charc_dynarr *> instead of
1241         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1242         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1243         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1244         `tty_output_emchar_dynarr_dynarr'.
1245         (tty_output_charc_dynarr): New function; delete
1246         `tty_output_charc_dynarr'.
1247
1248         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1249         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1250         <Emchar_dynarr *> for buf; use
1251         `convert_bufbyte_string_into_charc_dynarr' instead of
1252         `convert_bufbyte_string_into_emchar_dynarr'.
1253
1254         * frame.c (title_string_charc_dynarr): New variable; renamed from
1255         `title_string_emchar_dynarr'.
1256         (generate_title_string): Use `title_string_charc_dynarr' instead
1257         of `title_string_emchar_dynarr'; use
1258         `convert_charc_string_into_malloced_string' instead of
1259         `convert_emchar_string_into_malloced_string'.
1260         (init_frame): Use `title_string_charc_dynarr' instead of
1261         `title_string_emchar_dynarr'.
1262
1263         * console.h:
1264         - Include "character.h".
1265         (struct console_methods): Use <const Charc *> instead of <const
1266         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1267         <Emchar_dynarr *> in output_string_method.
1268
1269         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1270         <Emchar_dynarr *>.
1271
1272         * console-stream.c (stream_text_width): Use <const Charc *>
1273         instead of <const Emchar *>.
1274
1275         * character.h (Charc_dynarr): New type.
1276
1277         * char-ucs.h (structure Charc): New structure; define new type
1278         `Charc'.
1279
1280         * char-lb.h (DECODE_CHAR): New inline function.
1281         (encode_char_1): New inline function.
1282         (ENCODE_CHAR): New macro.
1283         (structure Charc): New structure; define new type `Charc'.
1284
1285         * char-1byte.h (Vcharset_control_1): New macro.
1286         (Vcharset_latin_iso8859_1): New macro.
1287         (DECODE_CHAR): New inline function.
1288         (encode_char_1): New inline function.
1289         (ENCODE_CHAR): New macro.
1290         (structure Charc): New structure; define new type `Charc'.
1291
1292         * insdel.c (find_charsets_in_charc_string): New function; delete
1293         `find_charsets_in_emchar_string'.
1294         (charc_string_displayed_columns): New function; delete
1295         `emchar_string_displayed_columns'.
1296         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1297         `convert_bufbyte_string_into_emchar_dynarr'.
1298         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1299         `convert_charc_string_into_bufbyte_dynarr'.
1300         (convert_charc_string_into_malloced_string): New function; delete
1301         `convert_charc_string_into_malloced_string'.
1302
1303         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1304         `find_charsets_in_emchar_string'.
1305         (charc_string_displayed_columns): New prototype; delete
1306         `emchar_string_displayed_columns'.
1307         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1308         `convert_charc_string_into_bufbyte_dynarr'.
1309         (convert_charc_string_into_malloced_string): New prototype; delete
1310         `convert_charc_string_into_malloced_string'.
1311
1312 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1313
1314         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1315
1316 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1317
1318         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1319
1320         * char-ucs.h: Use <short> for <Charset_ID>.
1321
1322         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1323         <Charset_ID>.
1324
1325 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1326
1327         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1328         to 0.16.
1329
1330 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1331
1332         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1333         variable.
1334         (Qmorohashi_daikanwa): New variable.
1335         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1336         for `morohashi-daikanwa' attribute.
1337         (Fget_char_attribute): Likewise.
1338         (Fput_char_attribute): Likewise.
1339         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1340         has the same value of `ideograph-daikanwa'.
1341         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1342         (vars_of_mule_charset): Setup
1343         `Vcharacter_morohashi_daikanwa_table'.
1344
1345 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1348         attributes.
1349         (add_charset_to_list_mapper): Add `key' instead of
1350         `XCHARSET_NAME (value)' to return aliases.
1351
1352 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1353
1354         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1355         variable.
1356         (Vcharacter_ideographic_strokes_table): New variable.
1357         (Qideographic_radical): New variable.
1358         (Qideographic_strokes): New variable.
1359         (Fchar_attribute_alist): Use
1360         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1361         attribute; use `Vcharacter_ideographic_strokes_table' for
1362         `ideographic-strokes' attribute.
1363         (Fget_char_attribute): Likewise.
1364         (Fput_char_attribute): Likewise.
1365         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1366         `ideographic-strokes'.
1367         (vars_of_mule_charset): Setup
1368         `Vcharacter_ideographic_radical_table' and
1369         `Vcharacter_ideographic_strokes_table'.
1370
1371 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1372
1373         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1374         (Qtotal_strokes): New variable.
1375         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1376         `total-strokes' attribute.
1377         (Fget_char_attribute): Likewise.
1378         (Fput_char_attribute): Likewise.
1379         (syms_of_mule_charset): Add new symbol `total-strokes'.
1380         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1381
1382 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1383
1384         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1385         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1386         are found.
1387         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1388         `->decomposition' attribute.
1389         (Fput_char_attribute): Likewise.
1390         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1391
1392 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * mule-charset.c (decoding_table_check_elements): New function.
1395         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1396
1397 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * mule-charset.c (Fset_charset_mapping_table): Use
1400         `put_char_ccs_code_point'.
1401
1402 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * mule-charset.c (decoding_table_put_char): New inline function.
1405         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1406
1407 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1410         (XCHARSET_BYTE_SIZE): New macro.
1411         (decoding_table_remove_char): New inline function.
1412         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1413         `decoding_table_remove_char'.
1414         (remove_char_ccs): Use `decoding_table_remove_char'.
1415         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1416
1417 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * mule-charset.c (Vcharacter_name_table): New variable.
1420         (Qname): New variable.
1421         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1422         attribute.
1423         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1424         `Vcharacter_name_table' for `name' attribute.
1425         (Fremove_char_attribute): Use function `remove_char_ccs'.
1426         (put_char_ccs_code_point): New function.
1427         (remove_char_ccs): New function.
1428         (syms_of_mule_charset): Add new symbol `name'.
1429         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1430
1431 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1432
1433         * mule-charset.c (make_byte_table): Add new argument `older'.
1434         (make_char_id_table): Likewise.
1435         (copy_char_id_table): Comment out because it is not used.
1436         (put_char_id_table): Modify for `make_byte_table'.
1437         (Fput_char_attribute): Make encoding_table as older object;
1438         inherit older bit of `Vcharacter_composition_table'.
1439         (mark_charset): Don't mark `cs->encoding_table'.
1440         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1441         normal object; make `Vcharacter_composition_table' as an older
1442         object; delete staticpro for `Vcharacter_composition_table'; make
1443         `Vcharacter_variant_table' as a normal object.
1444
1445         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1446         (mark_object): Don't check older object in UTF-2000.
1447
1448         * lrecord.h (struct lrecord_header): Add new member `older' in
1449         UTF-2000.
1450         (set_lheader_implementation): Setup `SLI_header->older' in
1451         UTF-2000.
1452         (set_lheader_older_implementation): New macro in UTF-2000.
1453         (OLDER_RECORD_P): New macro in UTF-2000.
1454         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1455         (alloc_older_lcrecord): New prototype in UTF-2000.
1456         (alloc_older_lcrecord_type): New macro in UTF-2000.
1457
1458 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * mule-charset.c (byte_table_description): Use
1461         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1462         (char_id_table_description): Delete bogus `, 1'.
1463         (Fget_char_attribute): Refer encoding_table of each coded-charset
1464         to get value of coded-charset attribute of a character.
1465         (Fput_char_attribute): Use `make_older_vector' instead of
1466         `make_vector'; use encoding_table of each coded-charset to store
1467         value of coded-charset attribute of a character.
1468         (Fremove_char_attribute): Use encoding_table of each coded-charset
1469         to store value of coded-charset attribute of a character.
1470         (mark_charset): Mark `cs->encoding_table'; don't mark
1471         `cs->decoding_table'.
1472         (charset_description): Add description of new member
1473         `encoding_table'.
1474         (make_charset): Initialize `encoding_table'.
1475
1476         * char-ucs.h (struct Lisp_Charset): Add new member
1477         `encoding_table'.
1478         (CHARSET_ENCODING_TABLE): New macro.
1479         (XCHARSET_ENCODING_TABLE): New macro.
1480         (charset_code_point): New implementation.
1481         (encode_char_1): Likewise.
1482
1483         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1484         (disksave_object_finalization_1): Call finalizers of
1485         `all_older_lcrecords' in UTF-2000.
1486         (make_older_vector): New function in UTF-2000.
1487         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1488         UTF-2000.
1489
1490         * lisp.h (make_older_vector): New prototype in UTF-2000.
1491
1492 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1493
1494         * lrecord.h (enum lrecord_type): Rename
1495         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1496
1497         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1498         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1499         `get_char_code_table'.
1500
1501         * mule-charset.c (mark_char_id_table): Renamed from
1502         `mark_char_code_table'.
1503         (char_id_table_equal): Renamed from `char_code_table_equal'.
1504         (char_id_table_hash): Renamed from `char_code_table_hash'.
1505         (make_char_id_table): Renamed from `make_char_code_table'.
1506         (copy_char_id_table): Renamed from `copy_char_code_table'.
1507         (get_char_id_table): Renamed from `get_char_code_table'.
1508         (put_char_id_table): Renamed from `put_char_code_table'.
1509         (to_char_id): Renamed from `to_char_code'.
1510
1511         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1512         `Lisp_Char_Code_Table'.
1513         (char_id_table): Renamed from `char_code_table'.
1514         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1515         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1516         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1517         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1518         (get_char_id_table): Renamed from `get_char_code_table'.
1519
1520 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1521
1522         * lrecord.h (enum lrecord_type): Rename
1523         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1524
1525         * mule-charset.c (mark_byte_table): Renamed from
1526         `mark_char_byte_table'.
1527         (byte_table_equal): Renamed from `char_byte_table_equal'.
1528         (byte_table_hash): Renamed from `byte_table_hash'.
1529         (make_byte_table): Renamed from `make_byte_table'.
1530         (copy_byte_table): Renamed from `copy_char_byte_table'.
1531
1532         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1533         `Lisp_Char_Byte_Table'.
1534         (byte_table): Renamed from `char_byte_table'.
1535         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1536         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1537         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1538         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1539
1540 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1543         (dfc_convert_to_internal_format): Likewise.
1544         
1545         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1546         * text-coding.c (Fcoding_system_alias_p): New function.
1547         * text-coding.c (Fcoding_system_aliasee): New function.
1548         * text-coding.c (append_suffix_to_symbol): New function.
1549         * text-coding.c (dangling_coding_system_alias_p): New function.
1550         * text-coding.c (Ffind_coding_system):
1551         * text-coding.c (Fcopy_coding_system):
1552         * text-coding.c (encode_coding_no_conversion):
1553         * text-coding.c (syms_of_file_coding):
1554         * text-coding.c (vars_of_file_coding):
1555         Rewrite coding system alias code.
1556         Allow nested aliases, like symbolic links.
1557         Allow redefinition of coding system aliases.
1558         Prevent existence of dangling coding system aliases.
1559         Eliminate convert_to_external_format.
1560         Eliminate convert_to_internal_format.
1561         
1562         * text-coding.c: Change enum eol_type to eol_type_t.
1563
1564 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1565
1566         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1567         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1568
1569         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1570         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1571
1572 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1573
1574         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1575         `ideograph-daikanwa'.
1576
1577         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1578         (Vcharset_ucs_bmp): Likewise.
1579         (Vcharset_mojikyo): Add new extern variable definition.
1580         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1581         (Vcharset_latin_iso8859_3): Likewise.
1582         (Vcharset_latin_iso8859_4): Likewise.
1583         (Vcharset_latin_iso8859_9): Likewise.
1584         (Vcharset_latin_viscii_lower): Likewise.
1585         (Vcharset_latin_viscii_upper): Likewise.
1586         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1587         `mojikyo' code-point is used to decode.
1588         (encode_char_2): New function [to convert `mojikyo' code-point to
1589         Mojikyo font encoding].
1590         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1591         (breakup_char_1): Likewise.
1592         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1593
1594 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1595
1596         * text-coding.c (Fmake_coding_system): Add document about
1597         `disable-composition' property.
1598
1599 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * text-coding.c (Qdisable_composition): New variable; delete
1602         `Qcomposite'.
1603         (Fmake_coding_system): Add new property `disable-composite';
1604         delete property `composite'.
1605         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1606         instead of `!CODING_SYSTEM_COMPOSITE'.
1607         (syms_of_file_coding): Add new symbol `disable-composition';
1608         delete symbol `composite'.
1609
1610         * file-coding.h (struct Lisp_Coding_System): Add
1611         `disable_composition'; delete `enable_composition'.
1612         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1613         `CODING_SYSTEM_COMPOSITE'.
1614         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1615         `XCODING_SYSTEM_COMPOSITE'.
1616
1617 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1618
1619         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1620         to 0.15.
1621
1622 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1623
1624         * text-coding.c (Qcomposite): New variable.
1625         (Fmake_coding_system): Add new property `composite'.
1626         (struct decoding_stream): Add `combined_char_count',
1627         `combined_chars' and `combining_table' in UTF-2000.
1628         (COMPOSE_FLUSH_CHARS): New macro.
1629         (COMPOSE_ADD_CHAR): New macro.
1630         (reset_decoding_stream): Reset `str->combined_char_count' and
1631         `str->combining_table' in UTF-2000.
1632         (decode_coding_iso2022): Modify for character-decomposition.
1633         (syms_of_file_coding): Add new symbol `composite'.
1634
1635 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1636
1637         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1638         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1639         of `Vcharacter_composition_table' if `->decomposition' property
1640         has only 1 element.
1641         (Qlatin_tcvn5712): New variable.
1642         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1643         (complex_vars_of_mule_charset): Add new coded-charset
1644         `latin-tcvn5712'.
1645
1646         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1647
1648 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1649
1650         * file-coding.h (struct Lisp_Coding_System): Add
1651         `enable_composition'.
1652         (CODING_SYSTEM_COMPOSITE): New macro.
1653         (XCODING_SYSTEM_COMPOSITE): New macro.
1654
1655 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1656
1657         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1658
1659 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1660
1661         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1662         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1663
1664 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1665
1666         * mule-charset.c (Vcharset_mojikyo): New variable.
1667         (Fdefine_char): Don't use coded-charset which does not have
1668         non-builtin character range to allocate character-id.
1669         (Qmojikyo): New variable.
1670         (syms_of_mule_charset): Add new symbol `mojikyo'.
1671         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1672
1673         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1674         (LEADING_BYTE_MOJIKYO): New macro.
1675         (MIN_CHAR_MOJIKYO): New macro.
1676         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1677         (MAX_CHAR_MOJIKYO): New macro.
1678
1679 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1680
1681         * mule-charset.c (remove_char_attribute): Fixed.
1682
1683 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1684
1685         * mule-charset.c (remove_char_attribute): New function.
1686         (Fremove_char_attribute): New function.
1687         (encode_builtin_char_1): Comment out builtin-support for
1688         greek-iso8859-7 and cyrillic-iso8859-5.
1689         (Fdecode_char): Check `code' is an integer.
1690         (syms_of_mule_charset): Add `remove-char-attribute'.
1691         (MIN_CHAR_GREEK): Deleted.
1692         (MAX_CHAR_GREEK): Likewise.
1693         (MIN_CHAR_CYRILLIC): Likewise.
1694         (MAX_CHAR_CYRILLIC): Likewise.
1695         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1696         MAX_CHAR_GREEK for `greek-iso8859-7'.
1697
1698         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1699         (MAX_CHAR_GREEK): Likewise.
1700         (MIN_CHAR_CYRILLIC): Likewise.
1701         (MAX_CHAR_CYRILLIC): Likewise.
1702
1703 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1704
1705         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1706         format is used without `ucs' property.
1707         (Fdecode_char): Fix problem with GR representation.
1708         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1709         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1710
1711 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1712
1713         * mule-charset.c (make_builtin_char): New function.
1714         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1715         (Fset_charset_mapping_table): Modify for new representation of
1716         code-point.
1717         (Fdecode_char): New function.
1718         (syms_of_mule_charset): Add new builtin function `decode-char' in
1719         UTF-2000.
1720
1721         * char-ucs.h (make_builtin_char): New prototype.
1722         (DECODE_CHAR): New inline function.
1723         (MAKE_CHAR): Use `DECODE_CHAR'.
1724
1725 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1726
1727         * text-coding.c (parse_charset_conversion_specs): Use
1728         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1729         `XCHARSET_TYPE'.
1730         (iso2022_designate): Likewise.
1731
1732         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1733         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1734
1735         * mule-charset.c (Vcharset_ucs): New variable.
1736         (print_charset): Change design; use `CHARSET_CHARS' and
1737         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1738         (make_charset): Change signature to specify `chars' and
1739         `dimension' instead of `type'.
1740         (range_charset_code_point): Modify for 256^n-set.
1741         (encode_builtin_char_1): Encode as `ucs' in default.
1742         (Fmake_charset): Modify for `make_charset'.
1743         (Fmake_reverse_direction_charset): Likewise.
1744         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1745         UTF-2000.
1746         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1747         for `make_charset'.
1748
1749         * char-ucs.h (Vcharset_ucs): New variable.
1750         (LEADING_BYTE_UCS): New macro.
1751         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1752         and `chars' to `unsigned short' from `unsigned int'.
1753         (CHARSET_TYPE): Deleted.
1754         (XCHARSET_TYPE): Deleted.
1755
1756 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1757
1758         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1759
1760         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1761         (ENCODE_CHAR): New macro.
1762
1763 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1764
1765         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1766         to 0.14 (Kawachi-Katakami).
1767
1768 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1769
1770         * text-coding.c (char_encode_shift_jis): Modify for
1771         `charset_code_point'.
1772         (char_encode_iso2022): Likewise.
1773
1774         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1775         (integer) instead of list of <Lisp_Object>s (integers) as the
1776         format of code-point of a coded-charset.
1777         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1778         (encode_builtin_char_1): New function; delete
1779         `split_builtin_char'.
1780         (charset_code_point): Return <int> instead of <Lisp_Object>.
1781         (Fsplit_char): Don't use `SPLIT_CHAR'.
1782
1783         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1784         prototype for `split_builtin_char'.
1785         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1786         (charset_code_point): Likewise.
1787         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1788         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1789
1790 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1791
1792         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1793         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1794
1795 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1796
1797         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1798
1799         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1800         (MAX_CHAR_OBS_94x94): Deleted.
1801
1802 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1803
1804         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1805
1806         * char-ucs.h (MAX_CHAR_BMP): New macro.
1807
1808 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1809
1810         * text-coding.c: Sync with r21-2-24.
1811
1812 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1813
1814         * file-coding.c: Modify for UTF-2000.
1815
1816 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1817
1818         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1819         to 0.13 (Takaida).
1820
1821 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1822
1823         * mule-charset.c (split_builtin_char): Delete builtin support for
1824         `katakana-jisx0201'.
1825         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1826         BMP area in builtin representation.
1827
1828         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1829         `Vcharset_katakana_jisx0201'.
1830
1831 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1832
1833         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1834         (Qisolated): New variable.
1835         (Qinitial): New variable.
1836         (Qmedial): New variable.
1837         (Qfinal): New variable.
1838         (Qvertical): New variable.
1839         (Qsmall): New variable.
1840         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1841         `Qvertical' and `Qsmall'.
1842         (Qmojikyo_pj_[1 .. 21]): New variable.
1843         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1844         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1845         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1846         .. 21]'.
1847
1848 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1849
1850         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1851         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1852         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1853
1854 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1855
1856         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1857         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1858         BMP.
1859         (Qjapanese_jisx0208_1990): New variable.
1860         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1861         (complex_vars_of_mule_charset): Add new coded-charset
1862         `japanese-jisx0208-1990'.
1863
1864         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1865         (MIN_CHAR_JIS_X0208_1990): New macro.
1866         (MAX_CHAR_JIS_X0208_1990): New macro.
1867
1868 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1869
1870         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1871         coded-charset is not found.
1872
1873 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1874
1875         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1876         (Fdefine_char): Use `Fmake_char'.
1877
1878 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1879
1880         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1881         (Vcharset_hiragana_jisx0208): Deleted.
1882         (Vcharset_katakana_jisx0208): Deleted.
1883         (Qideograph_daikanwa): New variable.
1884         (Qhiragana_jisx0208): Deleted.
1885         (Qkatakana_jisx0208): Deleted.
1886         (split_builtin_char): Split `ideograph-daikanwa'.
1887         (Fsplit_char): New implementation for UTF-2000.
1888         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1889         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1890         (complex_vars_of_mule_charset): Add new coded-charset
1891         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1892         `katakana-jisx0208'.
1893
1894         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1895         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1896         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1897         (MIN_CHAR_DAIKANWA): New macro.
1898         (MAX_CHAR_DAIKANWA): New macro.
1899
1900 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1901
1902         * data.c (Fstring_to_number): Don't recognize floating point if
1903         base is not 10.
1904
1905 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1906
1907         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1908
1909 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1910
1911         * mule-charset.c (Qsquare): New variable.
1912         (to_char_code): Add `Qsquare'.
1913         (syms_of_mule_charset): Add new symbol `square'.
1914
1915 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1916
1917         * mule-charset.c (Qcircle): New variable.
1918         (to_char_code): Add `Qcircle'.
1919         (syms_of_mule_charset): Add new symbol `circle'.
1920
1921 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1922
1923         * mule-charset.c (Qfont): New variable.
1924         (to_char_code): Add `Qfont'.
1925         (syms_of_mule_charset): Add new symbol `font'.
1926
1927 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1928
1929         * mule-charset.c (Qsub): New variable.
1930         (to_char_code): Add `Qsub'.
1931         (syms_of_mule_charset): Add new symbol `sub'.
1932
1933 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1934
1935         * mule-charset.c (Fput_char_attribute): Convert each element of
1936         VALUE to GL position if ATTRIBUTE is a GR-set,
1937
1938 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1939
1940         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1941         coded-charset is a GR-set.
1942
1943 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1944
1945         * mule-charset.c (Fput_char_attribute): Check each element of
1946         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1947
1948 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1949
1950         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1951         UTF-2000.
1952         (Qethiopic_ucs): New variable in UTF-2000.
1953         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1954         (complex_vars_of_mule_charset): Add new coded-charset
1955         `ethiopic-ucs' in UTF-2000.
1956
1957         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1958         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1959         9)'.
1960         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1961         10)'.
1962         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1963
1964 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1965
1966         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1967         `ascii'.
1968
1969 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1970
1971         * mule-charset.c (Vcharacter_variant_table): New variable.
1972         (Q_ucs): New variable.
1973         (Fchar_variants): New function.
1974         (Fput_char_attribute): Register `->ucs' value to
1975         `Vcharacter_variant_table'.
1976         (syms_of_mule_charset): Add new function `char-variants' and new
1977         symbol `->ucs'.
1978         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1979
1980 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1981
1982         * mule-charset.c (get_char_code_table): Allow negative character
1983         code.
1984         (put_char_code_table): Likewise.
1985         (Vcharacter_composition_table): New variable.
1986         (Q_decomposition): New variable.
1987         (Qwide): New variable.
1988         (Qnarrow): New variable.
1989         (Qcompat): New variable.
1990         (QnoBreak): New variable.
1991         (Qsuper): New variable.
1992         (Qfraction): New variable.
1993         (to_char_code): New function.
1994         (Fget_composite_char): New function.
1995         (Fput_char_attribute): Register `->decomposition' value to
1996         `Vcharacter_composition_table'.
1997         (syms_of_mule_charset): Add new function `get-composite-char', new
1998         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1999         `super' and `fraction'.
2000         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2001
2002 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2003
2004         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2005         character; copy the return value.
2006
2007 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2008
2009         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2010
2011         * mule-charset.c (range_charset_code_point): Must use make_int.
2012         (split_builtin_char): New function.
2013
2014 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2015
2016         * mule-charset.c (char_byte_table): Change name from
2017         "char-code-table" to "char-byte-table".
2018         (mark_char_code_table): New function.
2019         (char_code_table_equal): New function.
2020         (char_code_table_hash): New function.
2021         (char_code_table_description): New constant.
2022         (char_code_table): New type.
2023         (make_char_code_table): New function.
2024         (copy_char_code_table): New function.
2025         (get_char_code_table): Modify for `char_code_table' type.
2026         (put_char_code_table): Likewise.
2027         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2028         (Kashiwara).
2029
2030         * char-ucs.h (char_code_table): New type.
2031         (XCHAR_CODE_TABLE): New macro.
2032         (XSETCHAR_CODE_TABLE): New macro.
2033         (CHAR_CODE_TABLE_P): New macro.
2034         (GC_CHAR_CODE_TABLE_P): New macro.
2035         (struct Lisp_Char_Code_Table): New structure.
2036
2037 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2038
2039         * mule-charset.c (Fmake_charset): Setup byte_offset for
2040         {94|96}^n-set.
2041
2042 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2043
2044         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2045         character.
2046
2047 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2048
2049         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2050         is found.
2051
2052 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2053
2054         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2055         charset, it is regarded as a charset.
2056         (put_char_attribute): New function in UTF-2000.
2057         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2058         charset, mapping-table of the charset is modified.
2059         (Fdefine_char): New function in UTF-2000.
2060         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2061         `Fput_char_attribute'.
2062         (syms_of_mule_charset): Add new function `define-char' and new
2063         symbol `ucs' in UTF-2000.
2064         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2065
2066 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2067
2068         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2069         non-UTF-2000 configuration.
2070
2071 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2072
2073         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2074         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2075
2076         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2077         deleted.
2078         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2079         (Fset_charset_mapping_table): Likewise.
2080
2081         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2082         (CHARSET_ENCODING_TABLE): Delete.
2083         (XCHARSET_ENCODING_TABLE): Delete.
2084         (charset_code_point): New interface.
2085
2086 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2087
2088         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2089         instead of `charset_get_byte1' and `charset_get_byte2'.
2090
2091         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2092         (charset_get_byte2): Deleted.
2093
2094 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2095
2096         * char-ucs.h (SPLIT_CHAR): New inline function.
2097         (breakup_char_1): Use `SPLIT_CHAR'.
2098
2099         * mule-charset.c (range_charset_code_point): New function.
2100         (charset_code_point): New function.
2101
2102         * char-ucs.h (range_charset_code_point): New interface.
2103         (breakup_char_1): Use `range_charset_code_point'.
2104
2105 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2106
2107         * mule-charset.c (Fmake_charset): Delete unused local variable
2108         `code_offset'.
2109
2110         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2111         (breakup_char_1): Find a charset and code-point in
2112         `Vcharacter_attribute_table'.
2113
2114 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2115
2116         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2117         to 0.10 (Yao).
2118
2119 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2120
2121         * mule-charset.c (Vcharacter_attribute_table): New variable.
2122         (Fchar_attribute_alist): New function.
2123         (Fget_char_attribute): New function.
2124         (Fput_char_attribute): New function.
2125         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2126         too.
2127         (syms_of_mule_charset): Add new function `char-attribute-alist',
2128         `get-char-attribute' and `put-char-attribute'.
2129         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2130
2131 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2132
2133         * mule-charset.c (Fmake_charset): Just use
2134         `get_unallocated_leading_byte'.
2135
2136         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2137         sets; don't use final-byte based number for private sets.
2138
2139 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2140
2141         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2142         integer.
2143
2144 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2145
2146         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2147         to 0.9.
2148
2149 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2150
2151         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2152         of `CHAR_LEADING_BYTE' in UTF-2000.
2153
2154         * insdel.c (find_charsets_in_bufbyte_string): Use
2155         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2156         (find_charsets_in_emchar_string): Likewise.
2157
2158         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2159         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2160
2161         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2162         (CHAR_CHARSET_ID): New macro.
2163
2164 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2165
2166         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2167         charset-id - MIN_LEADING_BYTE.
2168         (put_char_table): Likewise.
2169
2170 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2171
2172         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2173         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2174         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2175         (CHARSET_ID_OFFSET): New macro.
2176         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2177         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2178         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2179         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2180         4).
2181         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2182         5).
2183         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2184         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2185         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2186         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2187         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2188
2189 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2190
2191         * mule-charset.c (next_allocated_leading_byte): New variable in
2192         UTF-2000.
2193         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2194         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2195         (get_unallocated_leading_byte): Simply use
2196         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2197         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2198         UTF-2000.
2199
2200         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2201         (MAX_LEADING_BYTE_PRIVATE): New macro.
2202         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2203         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2204
2205 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2206
2207         * mule-charset.c (Fmake_charset): Allocate final-byte based
2208         charset-id for 94-set, 96-set and 94x94-set.
2209
2210 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2211
2212         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2213         ambiguous `else'.
2214         (Fmake_charset): Likewise.
2215         (complex_vars_of_mule_charset): Modify the font registry of
2216         `ucs-bmp' not to match `Ethiopic-Unicode'.
2217
2218 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2219
2220         * mule-charset.c (complex_vars_of_mule_charset): Add font
2221         registory of `ucs-bmp'.
2222
2223 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2224
2225         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2226         coded-charsets in `default-coded-charset-priority-list' when
2227         breaking up a character.
2228
2229         * mule-charset.c (Vcharset_latin_viscii): New variable.
2230         (Qlatin_viscii): New variable.
2231         (make_charset): Don't use `decoding_table'.
2232         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2233         byte_offset.
2234         (Fset_charset_mapping_table): New implementation.
2235         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2236         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2237         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2238         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2239         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2240         charset `latin_viscii'.
2241
2242         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2243         (CHARSET_TYPE_94X94): Change to 1 from 2.
2244         (CHARSET_TYPE_96): Change to 2 from 1.
2245         (CHARSET_TYPE_128): New macro.
2246         (CHARSET_TYPE_128X128): Change to 5 from 4.
2247         (CHARSET_TYPE_256): New macro.
2248         (CHARSET_TYPE_256X256): Change to 7 from 5.
2249         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2250
2251 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2252
2253         * text-coding.c (char_encode_shift_jis): Refer
2254         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2255         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2256
2257         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2258         (char_byte_table_equal): New function in UTF-2000.
2259         (char_byte_table_hash): New function in UTF-2000.
2260         (char_byte_table_description): New constant in UTF-2000.
2261         (char_byte_table): New type in UTF-2000.
2262         (make_char_byte_table): New function in UTF-2000.
2263         (copy_char_byte_table): New function in UTF-2000.
2264         (make_char_code_table): New macro in UTF-2000.
2265         (get_char_code_table): New function in UTF-2000.
2266         (put_char_code_table): New function in UTF-2000.
2267         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2268         (charset_description): Add setting in UTF-2000.
2269         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2270         `CHARSET_TO_BYTE1_TABLE(cs)'.
2271         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2272         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2273         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2274         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2275         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2276         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2277         `CHARSET_TO_BYTE2_TABLE(cs)'.
2278
2279         * char-ucs.h (char_byte_table): New type.
2280         (XCHAR_BYTE_TABLE): New macro.
2281         (XSETCHAR_BYTE_TABLE): New macro.
2282         (CHAR_BYTE_TABLE_P): New macro.
2283         (GC_CHAR_BYTE_TABLE_P): New macro.
2284         (struct Lisp_Char_Byte_Table): New structure.
2285         (get_char_code_table): New interface.
2286         (Emchar_to_byte_table): Deleted.
2287         (get_byte_from_character_table): Deleted.
2288         (struct Lisp_Charset): Add `encoding_table'; delete
2289         `to_byte1_table' and `to_byte2_table'.
2290         (CHARSET_ENCODING_TABLE): New macro.
2291         (CHARSET_TO_BYTE1_TABLE): Deleted.
2292         (CHARSET_TO_BYTE2_TABLE): Deleted.
2293         (XCHARSET_ENCODING_TABLE): New macro.
2294         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2295         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2296
2297 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2298
2299         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2300         `vietnamese-viscii-*'.
2301
2302 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2303
2304         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2305         (Qvietnamese_viscii_upper): New variable.
2306         (Fdefine_charset_alias): New function.
2307         (syms_of_mule_charset): Add new function `define-charset-alias'.
2308         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2309         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2310         `latin-viscii-*'.
2311
2312 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2313
2314         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2315         (MAX_CHAR_OBS_94x94): New macro.
2316         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2317         for 94x94 sets.
2318
2319         * mule-charset.c (put_byte_from_character_table): Change unit size
2320         from 128 to 256.
2321         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2322         not defined.
2323         (Fmake_reverse_direction_charset): Modify dummy argument of
2324         `make_charset' for non-UTF-2000 environment.
2325
2326 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2327
2328         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2329
2330         * mule-charset.c (destroy_byte_from_character_table): New macro.
2331         (latin_jisx0201_to_ucs): Deleted.
2332         (latin_iso8859_2_to_ucs): Deleted.
2333         (latin_iso8859_3_to_ucs): Deleted.
2334         (latin_iso8859_4_to_ucs): Deleted.
2335         (latin_iso8859_9_to_ucs): Deleted.
2336         (latin_viscii_lower_to_ucs): Deleted.
2337         (latin_viscii_upper_to_ucs): Deleted.
2338         (mark_charset): Mark `cs->decoding_table'.
2339         (Fcharset_mapping_table): Fix DOC-string.
2340         (Fset_charset_mapping_table): New function.
2341         (syms_of_mule_charset): Add nwe function
2342         `set-charset-mapping-table'.
2343         (complex_vars_of_mule_charset): Don't setup and use
2344         `latin_*_to_ucs'.
2345
2346 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2347
2348         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2349         charset.
2350
2351 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2352
2353         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2354         (Vcharset_katakana_jisx0208): New variable.
2355         (Qhiragana_jisx0208): New variable.
2356         (Qkatakana_jisx0208): New variable.
2357         (make_charset): Add new argument `byte_offset'.
2358         (charset_get_byte1): Modify for new coded-charset definition; use
2359         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2360         `XCHARSET_BYTE_OFFSET'.
2361         (Fmake_charset): Modify for `make_charset'.
2362         (Fmake_reverse_direction_charset): Likewise.
2363         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2364         `katakana-jisx0208'.
2365         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2366         `.'  in font registry of charset `katakana-jisx0201',
2367         `latin-jisx0201', `vietnamese-viscii-lower' and
2368         `vietnamese-viscii-upper'; modify DOC-string of charset
2369         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2370         registry of charset `japanese-jisx0208' not to use font for JIS
2371         X0208:1990; add new charset `hiragana-jisx0208' and
2372         `katakana-jisx0208'.
2373
2374         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2375         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2376         (struct Lisp_Charset): Add `byte_offset'.
2377         (CHARSET_BYTE_OFFSET): New macro.
2378         (XCHARSET_UCS_MIN): New macro.
2379         (XCHARSET_UCS_MAX): New macro.
2380         (XCHARSET_CODE_OFFSET): New macro.
2381         (XCHARSET_BYTE_OFFSET): New macro.
2382         (MIN_CHAR_HIRAGANA): New macro.
2383         (MAX_CHAR_HIRAGANA): New macro.
2384         (MIN_CHAR_KATAKANA): New macro.
2385         (MAX_CHAR_KATAKANA): New macro.
2386         (MAKE_CHAR): Modify for new coded-charset definition; use
2387         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2388         `XCHARSET_BYTE_OFFSET'.
2389
2390 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2391
2392         * mule-charset.c (CHAR96): Deleted.
2393         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2394         <Lisp_Object>.
2395         (latin_iso8859_2_to_ucs): Likewise.
2396         (latin_iso8859_3_to_ucs): Likewise.
2397         (latin_iso8859_4_to_ucs): Likewise.
2398         (latin_iso8859_9_to_ucs): Likewise.
2399         (latin_viscii_lower_to_ucs): Likewise.
2400         (latin_viscii_upper_to_ucs): Likewise.
2401         (latin_tcvn5712_to_ucs): Commented out.
2402         (make_charset): Change type of argument `decoding_table' from
2403         <Emchar*> to <Lisp_Object> [vector of characters].
2404         (Fmake_charset): Modify for `make_charset'.
2405         (Fmake_reverse_direction_charset): Likewise.
2406         (Fcharset_mapping_table): New function in UTF-2000.
2407         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2408         UTF-2000.
2409         (complex_vars_of_mule_charset): Modify for type change of
2410         `*_to_ucs'; modify for `make_charset'.
2411
2412         * char-ucs.h (struct Lisp_Charset): Change type of
2413         `decoding_table' from <Emchar*> to <Lisp_Object>.
2414         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2415
2416 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2417
2418         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2419         error with non-UTF-2000-Mule.
2420
2421 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2422
2423         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2424         in lisp again].
2425         (Vcharset_chinese_cns11643_4): Likewise.
2426         (Vcharset_chinese_cns11643_5): Likewise.
2427         (Vcharset_chinese_cns11643_6): Likewise.
2428         (Vcharset_chinese_cns11643_7): Likewise.
2429         (Qchinese_cns11643_3): Likewise.
2430         (Qchinese_cns11643_4): Likewise.
2431         (Qchinese_cns11643_5): Likewise.
2432         (Qchinese_cns11643_6): Likewise.
2433         (Qchinese_cns11643_7): Likewise.
2434         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2435         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2436         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2437         (complex_vars_of_mule_charset): Likewise.
2438
2439 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2440
2441         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2442         96-set.
2443         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2444         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2445
2446 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2447
2448         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2449         0xFF60.
2450         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2451         (breakup_char_1): Likewise.
2452
2453         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2454         one of them includes the specified character.
2455
2456 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2457
2458         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2459
2460 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2461
2462         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2463
2464 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2465
2466         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2467         definition for non-UTF-2000 Mule.
2468         (latin_iso8859_3_to_ucs): Likewise.
2469         (latin_iso8859_4_to_ucs): Likewise.
2470         (latin_iso8859_9_to_ucs): Likewise.
2471         (latin_jisx0201_to_ucs): Likewise.
2472         (MIN_CHAR_THAI): Likewise.
2473         (MAX_CHAR_THAI): Likewise.
2474         (MIN_CHAR_GREEK): Likewise.
2475         (MAX_CHAR_GREEK): Likewise.
2476         (MIN_CHAR_HEBREW): Likewise.
2477         (MAX_CHAR_HEBREW): Likewise.
2478         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2479         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2480         (MIN_CHAR_CYRILLIC): Likewise.
2481         (MAX_CHAR_CYRILLIC): Likewise.
2482
2483 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2484
2485         * char-ucs.h (breakup_char_1): Use
2486         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2487         thai-tis620 and katakana-jisx0201 area.
2488
2489 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2490
2491         * char-ucs.h (breakup_char_1): Use
2492         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2493         area.
2494
2495         * text-coding.c (reset_encoding_stream): Fixed.
2496         (char_encode_ucs4): Delete `& 255'.
2497
2498         * char-ucs.h (breakup_char_1): Use
2499         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2500
2501 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2502
2503         * file-coding.c (Fmake_coding_system): Don't set up
2504         `codesys->fixed.size'.
2505         (encode_coding_no_conversion): Don't refer
2506         `str->codesys->fixed.size'.
2507
2508 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2509
2510         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2511         (latin_a_char_to_byte1): Deleted.
2512         (latin_a_char_to_byte2): Deleted.
2513
2514 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2515
2516         * mule-charset.c (make_charset): Add new argument `ucs_min',
2517         `ucs_max' and `code_offset'.
2518         (charset_get_byte1): New implementation [delete specific charset
2519         depended implementations].
2520         (Fmake_charset): Modify for `make_charset'.
2521         (Fmake_reverse_direction_charset): Likewise.
2522         (complex_vars_of_mule_charset): Likewise.
2523
2524         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2525         `code_offset'.
2526         (CHARSET_UCS_MIN): New macro.
2527         (CHARSET_UCS_MAX): New macro.
2528         (CHARSET_CODE_OFFSET): New macro.
2529         (MAKE_CHAR): Delete charset depended definitions [except
2530         katakana-jisx0201].
2531
2532 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2533
2534         * char-ucs.h (breakup_char_1): Use
2535         `Vdefault_coded_charset_priority_list' for C0-Controls,
2536         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2537
2538 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2539
2540         * char-ucs.h (charset_get_byte1): New function.
2541         (XCHARSET_GET_BYTE1): Deleted.
2542         (charset_get_byte2): New function.
2543         (XCHARSET_GET_BYTE2): Deleted.
2544         (Vdefault_coded_charset_priority_list): New external variable.
2545         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2546         `Vdefault_preferred_coded_charset_list'.
2547
2548         * mule-charset.c (charset_get_byte1): New function.
2549         (charset_get_byte2): New function.
2550         (Vdefault_coded_charset_priority_list): New variable.
2551         (vars_of_mule_charset): Add new variable
2552         `default-coded-charset-priority-list'.
2553
2554 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2555
2556         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2557         (XCHARSET_GET_BYTE2): New inline function.
2558         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2559         `XCHARSET_GET_BYTE2'.
2560
2561 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2562
2563         * mule-charset.c (make_charset): Initialize
2564         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2565         NULL if table is not defined.
2566
2567 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2568
2569         * text-coding.c (char_encode_shift_jis): Use
2570         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2571         `ucs_to_latin_jisx0201'.
2572
2573         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2574         (ucs_to_latin_iso8859_2): Deleted.
2575         (ucs_to_latin_iso8859_3): Deleted.
2576         (ucs_to_latin_iso8859_4): Deleted.
2577         (ucs_to_latin_iso8859_9): Deleted.
2578         (ucs_to_latin_viscii_lower): Deleted.
2579         (ucs_to_latin_viscii_upper): Deleted.
2580         (ucs_to_latin_tcvn5712): Deleted.
2581         (make_charset): Add new argument `decoding_table'; set up
2582         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2583         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2584         `decoding_table' is defined in UTF-2000.
2585         (Fmake_charset): Modify for `make_charset'.
2586         (Fmake_reverse_direction_charset): Likewise.
2587         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2588         and `GENERATE_96_SET'.
2589
2590         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2591         (ucs_to_latin_jisx0201): Deleted.
2592         (latin_iso8859_2_to_ucs): Deleted.
2593         (ucs_to_latin_iso8859_2): Deleted.
2594         (latin_iso8859_3_to_ucs): Deleted.
2595         (ucs_to_latin_iso8859_3): Deleted.
2596         (latin_iso8859_4_to_ucs): Deleted.
2597         (ucs_to_latin_iso8859_4): Deleted.
2598         (latin_iso8859_9_to_ucs): Deleted.
2599         (ucs_to_latin_iso8859_9): Deleted.
2600         (latin_viscii_lower_to_ucs): Deleted.
2601         (ucs_to_latin_viscii_lower): Deleted.
2602         (latin_viscii_upper_to_ucs): Deleted.
2603         (ucs_to_latin_viscii_upper): Deleted.
2604         (struct Lisp_Charset): Renamed `encoding_table' to
2605         `to_byte1_table'; add `to_byte2_table'.
2606         (CHARSET_DECODING_TABLE): New macro.
2607         (CHARSET_TO_BYTE1_TABLE): New macro.
2608         (CHARSET_TO_BYTE2_TABLE): New macro.
2609         (XCHARSET_DECODING_TABLE): New macro.
2610         (XCHARSET_TO_BYTE1_TABLE): New macro.
2611         (XCHARSET_TO_BYTE2_TABLE): New macro.
2612         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2613         tables.
2614         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2615         don't use `ucs_to_*' tables.
2616
2617 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2618
2619         * text-coding.c (Fmake_coding_system): Don't set up
2620         `codesys->fixed.size'.
2621         (encode_coding_no_conversion): Use `if' instead of `switch'.
2622
2623         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2624
2625 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2626
2627         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2628         (Fmake_charset): Modify for `make_charset'.
2629         (Fmake_reverse_direction_charset): Likewise.
2630         (complex_vars_of_mule_charset): Likewise.
2631
2632 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2633
2634         * text-coding.c (char_encode_shift_jis): Use table
2635         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2636
2637 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2638
2639         * text-coding.c (text_encode_generic): Use `if' instead of
2640         `switch'.
2641         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2642         decode JIS-Latin.
2643
2644 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2645
2646         * text-coding.c (encode_coding_sjis): Deleted.
2647         (char_encode_shift_jis): New function.
2648         (char_finish_shift_jis): New function.
2649         (reset_encoding_stream): Set up `encode_char' and `finish' for
2650         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2651         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2652         (char_encode_utf8): Treat `eol_type'.
2653
2654 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2655
2656         * file-coding.c (decode_coding_iso2022): Use
2657         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2658
2659 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2660
2661         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2662         to 0.7 (Hirano).
2663
2664 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2665
2666         * char-lb.h (CHAR_COLUMNS): New macro.
2667
2668 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2669
2670         * text-coding.c (char_encode_ucs4): New function.
2671         (char_finish_ucs4): New function.
2672         (encode_coding_ucs4): Deleted.
2673         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2674         (text_encode_generic): Delete local variable `charset' and `half'.
2675         (ucs_to_mule_table): Deleted.
2676         (mule_to_ucs_table): Deleted.
2677         (Fset_ucs_char): Deleted.
2678         (ucs_to_char): Deleted.
2679         (Fucs_char): Deleted.
2680         (Fset_char_ucs): Deleted.
2681         (Fchar_ucs): Deleted.
2682         (decode_ucs4): Deleted.
2683         (mule_char_to_ucs4): Deleted.
2684         (encode_ucs4): Deleted.
2685         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2686         (decode_coding_utf8): Likewise.
2687         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2688         (char_encode_iso2022): Fixed.
2689         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2690         `Fset_char_ucs' and `Fchar_ucs'.
2691         (complex_vars_of_file_coding): Don't initialize
2692         `ucs_to_mule_table'.
2693
2694         * objects-tty.c (tty_initialize_font_instance): Don't use
2695         `XCHARSET_COLUMNS'.
2696
2697         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2698         UTF-2000.
2699
2700         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2701         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2702
2703         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2704         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2705         (emchar_string_displayed_columns): Likewise.
2706
2707         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2708         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2709         (string_column_at_point): Likewise.
2710         (Fmove_to_column): Likewise.
2711
2712         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2713         `encoding_table' and `decoding_table'.
2714         (CHARSET_REP_BYTES): Deleted.
2715         (XCHARSET_REP_BYTES): Deleted.
2716         (XCHARSET_COLUMNS): Deleted.
2717         (CHAR_COLUMNS): New macro.
2718         (lookup_composite_char): Deleted unconditionally.
2719         (composite_char_string): Likewise.
2720
2721 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2722
2723         * char-ucs.h (Emchar_to_byte_table): New type.
2724         (get_byte_from_character_table): New function interface.
2725         (Vcharset_latin_jisx0201): New variable.
2726         (latin_jisx0201_to_ucs): New variable.
2727         (ucs_to_latin_jisx0201): New variable.
2728         (Vcharset_latin_iso8859_2): New variable.
2729         (latin_iso8859_2_to_ucs): New variable.
2730         (ucs_to_latin_iso8859_2): New variable.
2731         (Vcharset_latin_iso8859_3): New variable.
2732         (latin_iso8859_3_to_ucs): New variable.
2733         (ucs_to_latin_iso8859_3): New variable.
2734         (Vcharset_latin_iso8859_4): New variable.
2735         (latin_iso8859_4_to_ucs): New variable.
2736         (ucs_to_latin_iso8859_4): New variable.
2737         (Vcharset_latin_iso8859_9): New variable.
2738         (latin_iso8859_9_to_ucs): New variable.
2739         (ucs_to_latin_iso8859_9): New variable.
2740         (Vcharset_latin_viscii_lower): New variable.
2741         (latin_viscii_lower_to_ucs): New variable.
2742         (ucs_to_latin_viscii_lower): New variable.
2743         (Vcharset_latin_viscii_upper): New variable.
2744         (latin_viscii_upper_to_ucs): New variable.
2745         (ucs_to_latin_viscii_upper): New variable.
2746         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2747         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2748         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2749         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2750         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2751         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2752         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2753         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2754         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2755         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2756
2757         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2758         (Vcharset_latin_viscii_upper): New variable.
2759         (make_byte_from_character_table): New function.
2760         (put_byte_from_character_table): New function.
2761         (get_byte_from_character_table): New function.
2762         (CHAR96): New macro.
2763         (ucs_to_latin_jisx0201): New variable.
2764         (latin_jisx0201_to_ucs): New variable.
2765         (ucs_to_latin_iso8859_2): New variable.
2766         (latin_iso8859_2_to_ucs): New variable.
2767         (ucs_to_latin_iso8859_3): New variable.
2768         (latin_iso8859_3_to_ucs): New variable.
2769         (ucs_to_latin_iso8859_4): New variable.
2770         (latin_iso8859_4_to_ucs): New variable.
2771         (ucs_to_latin_iso8859_9): New variable.
2772         (latin_iso8859_9_to_ucs): New variable.
2773         (ucs_to_latin_viscii_lower): New variable.
2774         (latin_viscii_lower_to_ucs): New variable.
2775         (ucs_to_latin_viscii_upper): New variable.
2776         (latin_viscii_upper_to_ucs): New variable.
2777         (ucs_to_latin_tcvn5712): New variable.
2778         (latin_tcvn5712_to_ucs): New variable.
2779         (Qlatin_viscii_lower): New variable.
2780         (Qlatin_viscii_upper): New variable.
2781         (syms_of_mule_charset): Set up new symbol
2782         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2783         (complex_vars_of_mule_charset): Set up new charset
2784         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2785         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2786         `ucs_to_<CHARSET>' tables.
2787
2788 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2789
2790         * text-coding.c: New file.
2791
2792 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2793
2794         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2795
2796         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2797         (MAKE_CHAR): Modify for `ucs-bmp'.
2798         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2799         non-MULE characters of BMP.
2800
2801 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2802
2803         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2804         to 0.6.
2805
2806 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2807
2808         * lstream.h:
2809         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2810         - Include character.h for `CHAR_ASCII_P'.
2811
2812         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2813
2814         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2815         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2816
2817         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2818         (BYTE_C0_P): Likewise.
2819         (BYTE_C1_P): Likewise.
2820         (Lstream_get_emchar_1): Likewise.
2821         (Lstream_fput_emchar): Likewise.
2822         (Lstream_funget_emchar): Likewise.
2823         (copy_internal_to_external): Likewise.
2824         (copy_external_to_internal): Likewise.
2825
2826         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2827         (BYTE_C0_P): Likewise.
2828         (BYTE_C1_P): Likewise.
2829         (Lstream_get_emchar_1): Likewise.
2830         (Lstream_fput_emchar): Likewise.
2831         (Lstream_funget_emchar): Likewise.
2832         (copy_internal_to_external): Likewise.
2833         (copy_external_to_internal): Likewise.
2834
2835         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2836         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2837
2838         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2839         (BYTE_ASCII_P): Moved to mb-1byte.h.
2840
2841 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2842
2843         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2844
2845         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2846         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2847         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2848         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2849         (VALIDATE_CHARPTR_FORWARD): Likewise.
2850         (simple_charptr_emchar): Moved to mb-multibyte.h.
2851         (simple_set_charptr_emchar): Likewise.
2852         (simple_charptr_copy_char): Likewise.
2853         (non_ascii_charptr_emchar): Likewise.
2854         (non_ascii_set_charptr_emchar): Likewise.
2855         (non_ascii_charptr_copy_char): Likewise.
2856         (charptr_emchar): Moved to mb-*byte.h.
2857         (set_charptr_emchar): Likewise.
2858         (charptr_copy_char): Likewise.
2859
2860         * mb-1byte.h, mb-multibyte.h: New files.
2861
2862 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2863
2864         * mb-utf-8.h (MULTIBYTE): New macro.
2865         (MAX_EMCHAR_LEN): Moved from buffer.h.
2866         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2867
2868         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2869
2870         * mb-lb.h, multibyte.h: New files.
2871
2872         * char-1byte.h (Charset_ID): Moved from buffer.h.
2873         (MIN_LEADING_BYTE): Likewise.
2874         (LEADING_BYTE_ASCII): Likewise.
2875         (NUM_LEADING_BYTES): Likewise.
2876         (CHARSETP): Likewise.
2877         (CHARSET_BY_LEADING_BYTE): Likewise.
2878         (XCHARSET_LEADING_BYTE): Likewise.
2879         (XCHARSET_GRAPHIC): Likewise.
2880         (XCHARSET_COLUMNS): Likewise.
2881         (XCHARSET_DIMENSION): Likewise.
2882         (CHAR_CHARSET): Likewise.
2883         (CHAR_LEADING_BYTE): Likewise.
2884         (BREAKUP_CHAR): Likewise.
2885         (Vcharset_ascii): Likewise.
2886
2887         * buffer.h: Include multibyte.h unconditionally.
2888         (VALID_CHARPTR_P): Moved to multibyte.h.
2889         (ASSERT_VALID_CHARPTR): Likewise.
2890         (REAL_INC_CHARPTR): Likewise.
2891         (REAL_INC_CHARBYTIND): Likewise.
2892         (REAL_DEC_CHARPTR): Likewise.
2893         (INC_CHARPTR): Likewise.
2894         (INC_CHARBYTIND): Likewise.
2895         (DEC_CHARPTR): Likewise.
2896         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2897         (VALIDATE_CHARPTR_FORWARD): Likewise.
2898         (charptr_n_addr): Likewise.
2899         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2900         (simple_charptr_emchar): Moved to multibyte.h.
2901         (simple_set_charptr_emchar): Likewise.
2902         (simple_charptr_copy_char): Likewise.
2903         (non_ascii_charptr_emchar): Likewise.
2904         (non_ascii_set_charptr_emchar): Likewise.
2905         (non_ascii_charptr_copy_char): Likewise.
2906         (charptr_emchar): Likewise.
2907         (set_charptr_emchar): Likewise.
2908         (charptr_copy_char): Likewise.
2909         (charptr_emchar_n): Likewise.
2910         (Charset_ID): Moved to char-1byte.h.
2911         (Vcharset_ascii): Likewise.
2912         (CHAR_CHARSET): Likewise.
2913         (CHAR_LEADING_BYTE): Likewise.
2914         (LEADING_BYTE_ASCII): Likewise.
2915         (NUM_LEADING_BYTES): Likewise.
2916         (MIN_LEADING_BYTE): Likewise.
2917         (CHARSETP): Likewise.
2918         (CHARSET_BY_LEADING_BYTE): Likewise.
2919         (XCHARSET_LEADING_BYTE): Likewise.
2920         (XCHARSET_GRAPHIC): Likewise.
2921         (XCHARSET_COLUMNS): Likewise.
2922         (XCHARSET_DIMENSION): Likewise.
2923         (BREAKUP_CHAR): Likewise.
2924
2925 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2926
2927         * character.h: Add document about interface for characters.
2928
2929         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2930         (MAKE_CHAR): Delete comment about
2931         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2932         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2933         (BREAKUP_CHAR): Modify name of arguments.
2934         (CHAR_CHARSET): Modify name of argument.
2935
2936         * buffer.h: Delete document about Emchar accessors.
2937
2938 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2939
2940         * character.h (CHAR_INTP): Moved from buffer.h
2941         (CHAR_OR_CHAR_INTP): Likewise.
2942         (XCHAR_OR_CHAR_INT): Likewise.
2943         (CHECK_CHAR_COERCE_INT): Likewise.
2944
2945         * buffer.h (CHAR_INTP): Moved to character.h
2946         (CHAR_OR_CHAR_INTP): Likewise.
2947         (XCHAR_OR_CHAR_INT): Likewise.
2948         (CHECK_CHAR_COERCE_INT): Likewise.
2949
2950 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2951
2952         * character.h:
2953         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2954         - Include char-1byte.h, char-lb.h or char-ucs.h.
2955
2956         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2957
2958         * buffer.h: Include character unconditionally.
2959         (valid_char_p): Moved to char-*.h.
2960         (non_ascii_valid_char_p): Moved to char-lb.h.
2961
2962         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2963
2964 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2965
2966         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2967         in UTF-2000 because it is not ported yet and not to use
2968         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2969         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2970         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2971
2972         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2973         (CHAR_ASCII_P): Moved from character.h.
2974
2975         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2976         (CHAR_ASCII_P): Likewise.
2977         (CHAR_FIELD1_MASK): Deleted.
2978         (CHAR_FIELD2_MASK): Deleted.
2979         (CHAR_FIELD3_MASK): Deleted.
2980         (MAX_CHAR_BASIC_LATIN): New macro.
2981         (CHAR_FIELD1): Deleted.
2982         (CHAR_FIELD2_INTERNAL): Deleted.
2983         (CHAR_FIELD3_INTERNAL): Deleted.
2984         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2985         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2986         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2987         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2988         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2989         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2990         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2991         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2992         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2993         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2994         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2995         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2996         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2997         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2998         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2999         (MIN_CHAR_COMPOSITION): Deleted.
3000         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3001         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3002
3003 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3004
3005         * buffer.h: Include mb-utf-8.h in UTF-2000.
3006
3007         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3008
3009         * mb-utf-8.h: New file.
3010
3011 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3012
3013         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3014         instead of `int'.
3015
3016         * mule-charset.h, buffer.h (Charset_ID): New type.
3017
3018 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3019
3020         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3021         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3022         instead of `MULE_CHAR_PRIVATE_OFFSET',
3023         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3024         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3025         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3026
3027         * character.h (Vcharset_japanese_jisx0212): New variable
3028         definition.
3029
3030 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3031
3032         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3033         (charset_by_attributes): Delete array about direction.
3034         (latin_a_char_to_charset): New variable in UTF-2000.
3035         (latin_a_char_to_byte1): New variable in UTF-2000.
3036         (latin_a_char_to_byte2): New variable in UTF-2000.
3037         (Qucs_bmp): New variable.
3038         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3039         `Bufbyte'.
3040         (next_allocated_2_byte_leading_byte): Likewise.
3041         (non_ascii_set_charptr_emchar): Likewise.
3042         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3043         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3044         `charset_by_attributes'.
3045         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3046         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3047         and `CHARSET_BY_LEADING_BYTE'.
3048         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3049         `utf-2000-version' to `vars_of_mule_charset'.
3050         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3051         define `leading-code-private-11' in UTF-2000; move setting of
3052         `utf-2000-version' from `syms_of_mule_charset'.
3053         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3054         UTF-2000.
3055
3056         * character.h (Charset_ID): New type.
3057         (LEADING_BYTE_UCS_BMP): New macro.
3058         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3059         (CHARSET_ID_OFFSET_94): New macro.
3060         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3061         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3062         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3063         final-byte.
3064         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3065         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3066         (CHARSET_ID_OFFSET_96): New macro.
3067         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3068         CHARSET_ID_OFFSET_96 and final-byte.
3069         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3070         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3071         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3072         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3073         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3074         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3075         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3076         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3077         (LEADING_BYTE_THAI_TIS620): Likewise.
3078         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3079         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3080         (CHARSET_ID_OFFSET_94x94): New macro.
3081         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3082         CHARSET_ID_OFFSET_94x94 and final-byte.
3083         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3084         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3085         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3086         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3087         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3088         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3089         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3090         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3091         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3092         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3093         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3094         (CHARSET_TYPE_128X128): New macro.
3095         (CHARSET_TYPE_256X256): New macro.
3096         (XCHARSET_PRIVATE_P): Delete unconditionally.
3097         (charset_by_attributes): Delete array about direction.
3098         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3099         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3100         (MIN_CHAR_94): New macro.
3101         (MAX_CHAR_94): New macro.
3102         (MIN_CHAR_96): New macro.
3103         (MAX_CHAR_96): New macro.
3104         (MIN_CHAR_94x94): New macro.
3105         (MAX_CHAR_94x94): New macro.
3106         (MIN_CHAR_96x96): New macro.
3107         (MAX_CHAR_96x96): New macro.
3108         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3109         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3110         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3111         - 32)'.
3112         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3113         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3114         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3115         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3116         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3117         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3118         `XCHARSET_LEADING_BYTE' to make code-point.
3119         (latin_a_char_to_charset): New variable.
3120         (latin_a_char_to_byte1): New variable.
3121         (latin_a_char_to_byte2): New variable.
3122         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3123         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3124         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3125
3126         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3127         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3128         (find_charsets_in_emchar_string): Likewise.
3129         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3130
3131         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3132         `int'.
3133         (decode_coding_iso2022): Likewise.
3134
3135         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3136         of `unsigned char'.
3137
3138         * redisplay.c (redisplay_text_width_emchar_string): Use
3139         `Charset_ID' instead of `unsigned char'.
3140         (redisplay_frame_text_width_string): Likewise.
3141
3142         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3143         `unsigned char'.
3144
3145         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3146         instead of `unsigned char'.
3147         (face_cachel_charset_font_metric_info): Likewise.
3148
3149         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3150         (get_non_ascii_char_table_value): Likewise.
3151         (get_char_table): Likewise.
3152         (put_char_table): Likewise.
3153         (map_over_other_charset): Likewise.
3154         (map_char_table): Likewise.
3155
3156         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3157         instead of `unsigned char'.
3158
3159 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3160
3161         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3162         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3163
3164         * mule-charset.c (leading_code_private_11): Don't define in
3165         UTF-2000.
3166
3167         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3168         in UTF-2000 because it is not ported yet and not to use
3169         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3170
3171 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3172
3173         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3174
3175 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3176
3177         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3178         in UTF-2000.
3179
3180         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3181         of unsigned char to store leading-byte.
3182
3183         * chartab.c (get_non_ascii_char_table_value): Don't use
3184         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3185
3186         * file-coding.c (encode_coding_big5): Delete bogus implementation
3187         in UTF2000.
3188
3189         * character.h (LEADING_BYTE_*): Delete definition for
3190         non-UTF-2000.
3191         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3192         (LEADING_BYTE_PREFIX_P): Deleted.
3193         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3194         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3195         (BUFBYTE_LEADING_BYTE_P): Deleted.
3196         (CHARSET_PRIVATE_P): Deleted unconditionally.
3197         (rep_bytes_by_first_byte): Deleted unconditionally.
3198         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3199         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3200         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3201         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3202         (CHAR_FIELD2): Deleted.
3203         (CHAR_FIELD3): Deleted.
3204         (MAKE_CHAR): Delete definition for non-UTF-2000.
3205         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3206         (breakup_char_1): New implementation.
3207         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3208         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3209
3210 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3211
3212         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3213         condition.
3214
3215 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3216
3217         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3218         (CHARSET_PRIVATE_P): Likewise.
3219         (XCHARSET_PRIVATE_P): Likewise.
3220         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3221
3222         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3223         UTF2000.
3224         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3225
3226 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3227
3228         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3229         (NUM_LEADING_BYTES): Changed from 128 to 256.
3230         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3231         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3232         UTF2000.
3233         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3234
3235         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3236         UTF2000.
3237         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3238         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3239         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3240         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3241         (Qchinese_cns11643_3): New variable in UTF2000.
3242         (Qchinese_cns11643_4): New variable in UTF2000.
3243         (Qchinese_cns11643_5): New variable in UTF2000.
3244         (Qchinese_cns11643_6): New variable in UTF2000.
3245         (Qchinese_cns11643_7): New variable in UTF2000.
3246         (syms_of_mule_charset): Define `chinese-cns11643-3',
3247         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3248         and `chinese-cns11643-7' in UTF2000.
3249         (vars_of_mule_charset): Initialize
3250         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3251         + 1 in UTF2000.
3252         (complex_vars_of_mule_charset): Setup charset
3253         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3254         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3255
3256 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3257
3258         * mule-charset.c: Move setting for `leading-code-private-11' from
3259         `syms_of_mule_charset' to `vars_of_mule_charset'.
3260
3261 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3262
3263         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3264         and `NUM_LEADING_BYTES' in assert.
3265
3266 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3267
3268         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3269         instead of 128.
3270         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3271         `NUM_LEADING_BYTES' instead of 128.
3272
3273 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3274
3275         * mule-charset.h (charset_by_leading_byte): Use
3276         `NUM_LEADING_BYTES' instead of 128.
3277         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3278
3279         * mule-charset.c (charset_by_leading_byte): Use
3280         `NUM_LEADING_BYTES' instead of 128.
3281         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3282
3283         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3284         128.
3285
3286 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3287
3288         * mule-charset.c (syms_of_mule_charset): Update to
3289         0.4 (Shin-Imamiya).
3290
3291 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3292
3293         * file-coding.c (encode_coding_sjis): New implementation for
3294         UTF2000.  (decode_coding_sjis): Ditto.
3295
3296 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3297
3298         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3299         Don't define in UTF2000.
3300
3301         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3302         defined.
3303
3304         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3305         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3306         MULE.
3307
3308 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3309
3310         * config.h.in (CHAR_IS_UCS4): New macro.
3311
3312         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3313         conventional MULE representation.
3314         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3315
3316         * mule-charset.h: Reverted to original.
3317
3318         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3319         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3320         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3321
3322         * character.h: New file.
3323
3324         * file-coding.c (Fmake_coding_system): Set 1 to
3325         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3326         defined.
3327         (encode_coding_no_conversion): New implementation for UTF2000.
3328
3329         * file-coding.h (struct Lisp_Coding_System): Add new member
3330         `fixed.size'.
3331
3332 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3333
3334         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3335         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3336         (encode_coding_iso2022): New implementation for UTF2000.
3337
3338 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3339
3340         * mule-canna.c (c2mu): New implementation for UTF2000.
3341         (m2c): Likewise.
3342
3343 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3344
3345         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3346
3347 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3348
3349         * file-coding.c (reset_encoding_stream): Set 0 to
3350         `str->iso2022.current_char_boundary' in UTF2000.
3351         (encode_utf8): Don't define in UTF2000.
3352         (encode_coding_utf8): New implementation for UTF-8 representation
3353         of UTF2000.
3354         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3355
3356 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3357
3358         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3359
3360         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3361         UTF2000.
3362         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3363
3364         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3365
3366         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3367         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3368         as UTF-8 in UTF2000.
3369         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3370         (non_ascii_valid_char_p): Don't define in UTF2000.
3371         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3372         (Lstream_get_emchar_1): Likewise.
3373         (utf-2000-version): New variable in UTF2000.
3374
3375         * lread.c (read_escape): Add new reader `u'.
3376
3377         * insdel.c (three_to_one_table): Don't define in UTF2000.
3378         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3379         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3380         UTF2000.
3381         (bytind_to_bufpos_func): Likewise.
3382         (buffer_mule_signal_inserted_region): Likewise.
3383         (vars_of_insdel): Don't initialize `three_to_one_table'.
3384         (init_buffer_text): Use `buf->text->mule_size' instead of
3385         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3386         UTF2000.
3387
3388         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3389         UTF-8 representation in UTF2000.
3390         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3391         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3392         (decode_coding_iso2022): Don't define local variable `lb' in
3393         UTF2000; don't use LEADING_BYTE in UTF2000; use
3394         `DECODE_ADD_UCS_CHAR' in UTF2000.
3395         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3396
3397         * config.h.in (UTF2000): New macro.
3398
3399         * buffer.h (struct buffer_text): Add new member `mule_size' and
3400         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3401         (valid_char_p): Return always 1 in UTF2000.
3402         (MAX_EMCHAR_LEN): 6 in UTF2000.
3403         (three_to_one_table): Don't define in UTF2000.
3404         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3405         UTF2000.
3406         (real_bytind_to_bufpos): Likewise.
3407
3408         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3409
3410 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3411
3412         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3413         representation change.
3414         (Vutf_2000_version): New variable.
3415         (leading_code_private_11): New variable.
3416         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3417         `leading-code-private-11'.
3418
3419         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3420         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3421         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3422         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3423         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3424         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3425         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3426         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3427         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3428         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3429         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3430         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3431         (MIN_CHAR_GREEK): New macro.
3432         (MAX_CHAR_GREEK): New macro.
3433         (MIN_CHAR_CYRILLIC): New macro.
3434         (MAX_CHAR_CYRILLIC): New macro.
3435         (MIN_CHAR_HEBREW): New macro.
3436         (MAX_CHAR_HEBREW): New macro.
3437         (MIN_CHAR_THAI): New macro.
3438         (MAX_CHAR_THAI): New macro.
3439         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3440         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3441         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3442         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3443         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3444         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3445         (CHAR_FIELD2): New inline function.
3446         (CHAR_FIELD3): New inline function.
3447         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3448         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3449         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3450         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3451         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3452         (MIN_CHAR_COMPOSITION): Likewise.
3453         (CHAR_LEADING_BYTE): Modified for character representation change.
3454         (MAKE_CHAR): Likewise.
3455
3456         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3457         (Vcharset_greek_iso8859_7): Likewise.
3458         (Vcharset_cyrillic_iso8859_5): Likewise.
3459         (Vcharset_hebrew_iso8859_8): Likewise.
3460         (Vcharset_thai_tis620): Likewise.
3461         (Vcharset_katakana_jisx0201): Likewise.
3462
3463 2001-01-26  Martin Buchholz <martin@xemacs.org>
3464
3465         * XEmacs 21.2.43 "Terspichore" is released.
3466
3467 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3468
3469         Type fiddling for window_config.saved_windows_count
3470         * window.c (struct window_config): 
3471         Make saved_windows_count member unsigned.
3472         * window.c (sizeof_window_config_for_n_windows): 
3473         Make parameter unsigned.
3474         * window.c (mark_window_config):
3475         * window.c (window_config_equal):
3476         * window.c (free_window_configuration):
3477         * window.c (Fset_window_configuration):
3478         * window.c (count_windows):
3479         * window.c (Fcurrent_window_configuration):
3480         * window.c (reinit_vars_of_window):
3481         Update all callers and users.
3482
3483 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3484
3485         Alignment correctness for flexible arrays.
3486         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3487         Make alignment-correct. Add interesting comments.
3488         * alloc.c (size_vector):
3489         * alloc.c (make_vector_internal):
3490         * alloc.c (make_bit_vector_internal):
3491         * alloc.c (sweep_bit_vectors_1):
3492         * fns.c (size_bit_vector):
3493         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3494         * window.c (sizeof_window_config_for_n_windows): 
3495         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3496
3497 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3498
3499         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3500
3501 2001-01-23  Andy Piper  <andy@xemacs.org>
3502
3503         * select.c (Fown_selection_internal): pass owned_p
3504
3505         * select-msw.c (mswindows_own_selection): New Signature.
3506
3507         * console.h (struct console_methods): add owned_p to
3508         _own_selection.
3509
3510         * select-x.c (x_own_selection): pass owned_p
3511         (hack_motif_clipboard_selection): use owned_p
3512         (vars_of_select_x): new variable -
3513         x_selection_strict_motif_ownership.
3514
3515 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3516
3517         * specifier.h (specifier_data_offset): Remove pointless parens.
3518         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3519
3520 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3521
3522         Make Lisp_Object sizeof methods be alignment-correct.
3523         pdump must restore objects to the same alignment as the C compiler
3524         assumes.  It really matters on SGIs.
3525         * lstream.c (aligned_sizeof_lstream): New.
3526         (sizeof_lstream): Use aligned_sizeof_lstream.
3527         (Lstream_new): Likewise.
3528         * opaque.c (aligned_sizeof_opaque): New.
3529         (sizeof_opaque): Use aligned_sizeof_opaque.
3530         (make_opaque): Likewise.
3531         * specifier.c (aligned_sizeof_specifier): New.
3532         (sizeof_specifier): Use aligned_sizeof_specifier.
3533         (make_specifier_internal): Likewise.
3534
3535 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3536
3537         * lstream.h (struct lstream): Use max_align_t for trailing data.
3538         * specifier.h (struct Lisp_Specifier): Likewise.
3539
3540 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3541
3542         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3543         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3544         (CCL_SUSPEND): Likewise.
3545         (CCL_INVALID_CMD): Likewise.
3546         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3547         (ccl_driver): Likewise.
3548         (CCL_WRITE_CHAR): Macro hygiene.
3549         (CCL_WRITE_STRING): Macro hygiene.
3550
3551 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3552
3553         Port "portable" dumper to SunOS 4 and HP-UX.
3554         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3555         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3556         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3557
3558 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3559
3560         * lisp.h (ALIGNOF): A better definition for C++.
3561
3562 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3563
3564         Macro hygiene.
3565         Fix printf warnings: int format, long int arg.
3566         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3567         (PUSH_FAILURE_POINT): Use correct printf formats.
3568         (POP_FAILURE_POINT): Use correct printf formats.  
3569         Use do {...} while (0)
3570
3571 2001-01-20  Martin Buchholz <martin@xemacs.org>
3572
3573         * XEmacs 21.2.42 "Poseidon" is released.
3574
3575 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3576
3577         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3578
3579 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3580
3581         De-kludgify FIXED_TYPE free list frobbing.
3582         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3583         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3584         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3585         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3586         * alloc.c (LRECORD_FREE_P): New.
3587         * alloc.c (MARK_LRECORD_AS_FREE): New.
3588         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3589         * alloc.c (STRUCT_FREE_P): Deleted.
3590         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3591         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3592         * alloc.c (STRING_CHARS_FREE_P): New.
3593         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3594         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3595         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3596         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3597         * alloc.c (resize_string): Use new definitions.
3598         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3599         * alloc.c (verify_string_chars_integrity): Use new definitions.
3600         * alloc.c (compact_string_chars): Use new definitions.
3601         * alloc.c: Update monster comments.
3602         * lrecord.h (lrecord_type): Add some new lrecord types for
3603         alloc.c's use.
3604
3605 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3606
3607         Improve alignment hackery.
3608         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3609         (max_align_t): Moved from opaque.h - general purpose.
3610         (ALIGN_PTR): Use size_t, not long.
3611         * opaque.h (max_align_t): Move to lisp.h.
3612
3613 2001-01-18  Norbert Koch  <nk@LF.net>
3614
3615         * gui.h: Fix and add prototypes to fix build problems.
3616
3617 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3618
3619         temacs is going away, so `dump-temacs' is now a bad name.
3620         * .dbxrc (dump-temacs): Rename to `dmp'.
3621         * .gdbinit (dump-temacs): Rename to `dmp'.
3622
3623 2001-01-17  Andy Piper  <andy@xemacs.org>
3624
3625         * glyphs.c (print_image_instance): comment to make martin happy.
3626
3627         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3628         change.
3629
3630         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3631         activation.
3632         (mswindows_tab_control_redisplay): warning suppression.
3633
3634         * glyphs-widget.c (widget_update): re-write to cope with updated
3635         items.
3636         (widget_instantiate): use new gui_item functions.
3637         (tab_control_update): deleted.
3638         (progress_gauge_update): deleted.
3639         (image_instantiator_progress_guage): take out update reference.
3640         (image_instantiator_tree_view): ditto.
3641         (image_instantiator_tab_control): ditto.
3642
3643         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3644         Right the new way.
3645         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3646         return whether anything was changed.
3647         (update_gui_item_keywords): as it sounds.
3648
3649         * gui.h: declare widget_gui_parse_item_keywords.
3650
3651         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3652         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3653
3654 2001-01-17  Martin Buchholz <martin@xemacs.org>
3655
3656         * XEmacs 21.2.41 "Polyhymnia" is released.
3657
3658 2001-01-16  Didier Verna  <didier@xemacs.org>
3659
3660         * glyphs.c (image_instantiate): don't use fallbacks when
3661         instantiating a face's background pixmap by inheritance.
3662
3663 2001-01-14  Mike Sperber <mike@xemacs.org>
3664
3665         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3666         Conditionalize accordingly.
3667
3668 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3669
3670         * dumper.c (pdump_file_get): Fix a compiler warning.
3671
3672 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3673
3674         Make Purify happy when pdumping.
3675         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3676         iniitalizing all bits of new lisp object memory.
3677         * symbols.c (Fmake_local_variable): Likewise.
3678         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3679         * symbols.c (Fdefvaralias): Likewise.
3680         * mule-charset.c (vars_of_mule_charset): Likewise.
3681
3682 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3683         Add the `-nd' flag when running pre-dump operations under the debugger.
3684         * .dbxrc (run-temacs): Add `-nd'.
3685         * .dbxrc (update-elc): Likewise.
3686         * .dbxrc (dump-temacs): Likewise.
3687         * .gdbinit (run-temacs): Likewise.
3688         * .gdbinit (check-temacs): Likewise.
3689         * .gdbinit (update-elc): Likewise.
3690         * .gdbinit (dump-temacs): Likewise.
3691
3692 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3693
3694         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3695         export OBJECT_MODE=64
3696         configure --pdump --use-union-type=no
3697         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3698         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3699
3700         * miscplay.c (sndcnv8U_2mono):
3701         Avoid two uses of `++' in the same expression.
3702         Suppresses a GCC warning.
3703
3704 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3705
3706         Make sure future compilers don't miscompile alloc.c.
3707         * alloc.c:
3708         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3709         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3710
3711 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3712
3713         * dumper.c: A little post-pdump-rename comment fixup.
3714
3715 2001-01-09  Jerry James  <james@eecs.ku.edu>
3716
3717         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3718
3719 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3720
3721         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3722         script:
3723         #!/bin/sh
3724         replace_symbol () {
3725           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3726         }
3727
3728         replace_symbol pdump_wire_lists pdump_weak_object_chains
3729         replace_symbol pdump_wire_list dump_add_weak_object_chain
3730
3731         replace_symbol pdump_wires pdump_root_objects
3732         replace_symbol pdump_wire dump_add_root_object
3733
3734         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3735         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3736
3737         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3738         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3739         replace_symbol dumpstructinfo pdump_root_struct_ptr
3740         replace_symbol dumpstruct dump_add_root_struct_ptr
3741
3742         replace_symbol dumpopaque dump_add_opaque
3743         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3744         replace_symbol dumpopaqueinfos pdump_opaques
3745         replace_symbol dumpopaqueinfo pdump_opaque
3746
3747         replace_symbol nb_structdump nb_root_struct_ptrs
3748         replace_symbol nb_opaquedump nb_opaques
3749
3750         replace_symbol align_table pdump_align_table
3751         replace_symbol dump_header pdump_header
3752
3753         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3754         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3755
3756
3757 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3758
3759         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3760         optimizing bytecount_to_charcount().
3761
3762 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3763
3764         * config.h.in:
3765         (HAVE_DLFCN_H): Removed.
3766         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3767
3768 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3769
3770         Portable dumper maintainability improvements.
3771         * alloc.c (staticpro):
3772         * alloc.c (staticpro_nodump):
3773         * alloc.c (garbage_collect_1):
3774         * alloc.c (reinit_alloc_once_early):
3775         * alloc.c (init_alloc_once_early):
3776         * alloc.c: Move dumper functions to alloc.c.
3777         * dumper.c (pdump_backtrace):
3778         * dumper.c (pdump_dump_structs):
3779         * dumper.c (pdump_dump_opaques):
3780         * dumper.c (pdump_dump_rtables):
3781         * dumper.c (pdump_dump_wired):
3782         * dumper.c (pdump):
3783         * dumper.c (pdump_load_check):
3784         * dumper.c (pdump_load_finish):
3785         * dumper.c (pdump_file_unmap):
3786         * dumper.c (pdump_file_get):
3787         * dumper.c (pdump_resource_free):
3788         * dumper.c (pdump_resource_get):
3789         * dumper.c (pdump_file_free):
3790         * dumper.c (pdump_file_try):
3791         * dumper.c (pdump_load):
3792         Remove fixed size limits on staticpro(), staticpro_nodump(),
3793         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3794         Remove custom code for dumping lrecord_implementations_table - use
3795         dumpopaque instead.
3796         Remove (most of the) custom code for dumping staticpros - dump it
3797         like any other dynarr.
3798
3799         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3800         * dumper.c: Moved functions from alloc.c.
3801         * alloc.c (dumpstruct): Moved to dumper.c.
3802         * alloc.c (dumpopaque): Likewise.
3803         * alloc.c (pdump_wire): Likewise.
3804         * alloc.c (pdump_wire_list): Likewise.
3805
3806         * lisp.h (Dynarr_sizeof): New.
3807         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3808         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3809         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3810
3811         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3812         * lisp.h (dumpopaque): ditto.
3813         * lisp.h (pdump_wire): ditto.
3814         * lisp.h (pdump_wire_list): ditto.
3815
3816 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3817
3818         * make-src-depend (PrintPatternDeps):
3819         Use `sort' to make output independent of perl version.
3820
3821 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3822
3823         Port to Netbsd 1.5.
3824         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3825         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3826
3827 2001-01-03  Didier Verna  <didier@xemacs.org>
3828
3829         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3830         that `focus_frame' is alive before thinking of calling
3831         `redisplay_redraw_cursor' on it.
3832
3833 2001-01-08  Martin Buchholz <martin@xemacs.org>
3834
3835         * XEmacs 21.2.40 is released.
3836
3837 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3838
3839         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3840
3841 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3842
3843         * alloc.c (dbg_valmask): Make const.
3844         * alloc.c (dbg_typemask): Make const.
3845         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3846         * alloc.c (dbg_valbits): Make const.
3847         * alloc.c (dbg_gctypebits): Make const.
3848
3849 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3850
3851         * redisplay-x.c (x_bevel_area):
3852         redisplay.h (struct rune):
3853         Typo fixes in comments.
3854
3855 2001-01-05  Andy Piper  <andy@xemacs.org>
3856
3857         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3858         adjustment.
3859
3860         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3861
3862 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3863
3864         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3865
3866         * mule-ccl.c (stack_idx_of_map_multiple):
3867         Non const global data must not be initialized!
3868         Found by MIYASHITA Hisashi.
3869
3870 2001-01-02  Andy Piper  <andy@xemacs.org>
3871
3872         * frame.c (change_frame_size): make sure frame size is always
3873         marked as changed.
3874
3875         * glyphs.c (image_instance_layout): minor code reuse.
3876
3877         * window.c (Fcurrent_window_configuration): revert previous
3878         change.
3879
3880 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3881
3882         * glyphs.h:
3883         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3884
3885 2000-12-31  Andy Piper  <andy@xemacs.org>
3886
3887         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3888         when widget gets unmapped.
3889
3890         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3891         function. Make sure widgets losing focus don't just drop it.
3892         (handle_focus_event_1): record the widget with focus.
3893
3894 2000-12-31  Andy Piper  <andy@xemacs.org>
3895
3896         * window.c (allocate_window): use
3897         make_image_instance_cache_hash_table.
3898         (make_dummy_parent): ditto.
3899         (Fset_window_configuration): ditto.
3900
3901         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3902
3903         * glyphs.c (process_image_string_instantiator): use
3904         INSTANTIATOR_TYPE.
3905         (get_image_instantiator_governing_domain): ditto.
3906         (normalize_image_instantiator): ditto.
3907         (instantiate_image_instantiator): ditto.
3908         (make_image_instance_1): ditto.
3909         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3910         (instantiator_eq_equal): new function for use with instance hash
3911         tables.
3912         (instantiator_eq_hash): ditto.
3913         (make_image_instance_cache_hash_table): create a suitable hash
3914         table for storing image instances.
3915
3916         * elhash.h (hash_table_weakness): new internal weakness type
3917         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3918         declare new functions.
3919
3920         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3921         another weakness type for glyphs.
3922         (make_standard_lisp_hash_table): new function split out from
3923         make_general_lisp_hash_table.
3924         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3925         (hash_table_instantiate): ditto.
3926         (Fmake_hash_table): ditto.
3927
3928 2000-12-31  Martin Buchholz <martin@xemacs.org>
3929
3930         * XEmacs 21.2.39 is released.
3931
3932 2000-12-29  Andy Piper  <andy@xemacs.org>
3933
3934         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3935
3936         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3937         the frame has changed so that we pick up geometry changes such as
3938         menubar visibility.
3939
3940 2000-12-28  Andy Piper  <andy@xemacs.org>
3941
3942         * lastfile.c (my_ebss): make a char array so we can pad the
3943         bss. Fixes cygwin unexec.
3944
3945         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3946
3947 2000-12-26  Andy Piper  <andy@xemacs.org>
3948
3949         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3950         comments and try and be more precise about a non-/SIGIO world.
3951         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3952         SIGIO.
3953
3954         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3955         we don't normalize to zero width or height.
3956
3957 2000-12-24  Andy Piper  <andy@xemacs.org>
3958
3959         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3960
3961 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3962
3963         * s/sco5.h: SCO 5 has pty support.
3964
3965 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3966
3967         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3968         input-method-xlib.c contains whole contents of input-method-xfs.c,
3969         so we can use input-method-xlib.c's code for USE_XFONTSET
3970         using #ifdefs.
3971         * input-method-xfs.c: removed.
3972
3973 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3974
3975         * file-coding.h (enum coding_category_type): reorder enumerators to
3976         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3977         (now one greater than largest real coding_category_type enumerator).
3978         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3979         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3980         Fcoding_category_list, Fset_coding_priority_list,
3981         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3982         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3983
3984 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3985
3986         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3987         * redisplay-output.c (redisplay_output_window): Clear top of window
3988         when face is changed.
3989         * redisplay-x.c (x_redraw_exposed_window): Call
3990         redisplay_clear_top_of_window.
3991         * redisplay.h: Publish redisplay_clear_top_of_window.
3992
3993 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3994
3995         * buffer.c (Fkill_buffer): Map over all devices.
3996         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3997         (list_windows): New function.
3998         (list_all_windows): Ditto.
3999         (Freplace_buffer_in_windows): Use them.
4000
4001 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4002
4003         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4004         (Fopen_database): Use `db_create' instead of `db_open'.
4005         (syms_of_database): Initialize Qqueue.
4006
4007 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4008
4009         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4010         buffer_local_face_property.
4011         * buffer.h (struct buffer): New member buffer_local_face_property.
4012         * window.c (Fset_window_buffer):  Mark window's face as changed
4013         when buffer has buffer local face.
4014         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4015         * objects.c (color_after_change): Set buffer_local_face_property
4016         when locale of face specifier is buffer.
4017         * objects.c (font_after_change): Ditto.
4018         * objects.c (face_boolean_after_change): Ditto.
4019         * glyphs.c (image_after_change): Ditto.
4020
4021 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4022
4023         * nt.c (mswindows_fstat): Report file permissions, volume serial
4024         number, etc. Code adapted from FSF Emacs 20.7.
4025
4026 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4027
4028         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4029         of stat when we don't have symbolic links, to make sure
4030         mswindows_stat is called on mswindows.
4031
4032 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4033
4034         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4035
4036 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4037
4038         * doprnt.c (emacs_doprnt_1): More printing fixes.
4039         Make printing of numbers compatible with libc and FSF Emacs.
4040         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4041         Use the system printf to do most of the hard work of formatting,
4042         instead of doprnt_1().
4043         Calculate memory to allocate for format string.
4044         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4045         (doprnt_1): Cleaner code and documentation.
4046
4047 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4048
4049         * Makefile.in.in: Use the loop variable to install headers.
4050
4051 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4052
4053         * window.c (Fsplit_window): Don't invalidate face cache.
4054
4055 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4056
4057         * minibuf.c (Fall_completions): Undo the previous change
4058         which removed checking elements start with space.
4059
4060 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4061
4062         * mule-canna.c: Didier suppression.
4063
4064 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4065
4066         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4067         (warning suppression).  Add English comment translations.
4068
4069 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4070
4071         * unexelfsgi.c (unexec): Better test for mmap failure.
4072
4073 2000-12-05  Martin Buchholz <martin@xemacs.org>
4074
4075         * XEmacs 21.2.38 is released.
4076
4077 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4078
4079         * redisplay.c (bar-cursor): Make a user variable.
4080
4081         * symsinit.h: Add init_postgresql_from_environment.
4082
4083 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4084
4085         * regex.c: Convert to clean C.
4086
4087 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4088
4089         * realpath.c:
4090         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4091         initialization.
4092         (sys_readlink): renamed to system_readlink to avoid conflict with
4093         the other sys_readlink.
4094
4095 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4096
4097         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4098
4099 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4100
4101         * postgresql.c (init_postgresql_from_environment): new function.
4102         (vars_of_postgresql): Move code initializing Lisp variables out and
4103         into init_postgresql_from_environment.
4104         emacs.c (main_1): Call init_postgresql_from_environment if and only
4105         if running a dumped XEmacs.
4106
4107 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4108
4109         * buffer.c: Make find-file-compare-truenames default to true on
4110         windows.
4111
4112         * realpath.c (win32_abs_start):
4113         (cygwin_readlink):
4114         (win32_readlink): New functions.
4115         (xrealpath): Return really real filenames on windows.
4116
4117         * fileio.c (Ffile_truename): Make file-truename work on windows.
4118
4119 2000-11-29  Didier Verna  <didier@xemacs.org>
4120
4121         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4122         * faces.c (update_face_cachel_data): use it.
4123         * faces.c (add_face_cachel): use it. Complete background pixmap
4124         frobbing in face cache if `update_face_cachel_data' has not done so.
4125
4126 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4127
4128         * search.c (string_match_1): Don't set last_thing_searched
4129         when search failed.
4130
4131 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4132
4133         * buffer.c: Include casetab.h
4134         (common_init_complex_vars_of_buffer): Use new case-table object.
4135         * buffer.h: Include casetab.h
4136         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4137         (DOWNCASE_TABLE_OF): Ditto.
4138         * bufslots.h: Remove char-tables and add case-table.
4139         * casetab.c: Include casetab.h
4140         (CASE_TABLE_P): Removed.
4141         (mark_case_table): New function.
4142         (allocate_case_table): New function.
4143         (Fcase_table_p): Use new case-table.
4144         (case_table_char): New function.
4145         (Fget_case_table): Ditto.
4146         (Fput_case_table): Ditto.
4147         (Fput_case_table_pair): Ditto.
4148         (Fcopy_case_table): Ditto.
4149         (Fcurrent_case_table): Return case-table.
4150         (Fstandard_case_table): Return case-table.
4151         (Fset_case_table): Fix doc-string.
4152         (set_case_table): Use case-table
4153         (syms_of_casetab): DEFSUBR new functions.
4154         (complex_vars_of_casetab): Set up standard case-table.
4155         * casetab.h: New file.
4156         * editfns.c: Include casetab.h
4157         (Fcompare_buffer_substrings): Use case-table.
4158         * inline.c: Include casetab.h
4159         * lisp.h: Remove bogus extern.
4160         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4161         * search.c: Include casetab.h
4162         (TRANSLATE_ASCII): Removed.
4163         (TRANSLATE): Unconditionally translate character.
4164         (looking_at_1): Use case-table.
4165         (string_match_1): Ditto.
4166         (fast_string_match): Ditto.
4167         (search_command): Ditto.
4168         (search_buffer): Separate boyer_moore.  Check whether
4169         boyer_moore is possible.
4170         (simple_search): New function.
4171         (boyer_moore): Separated from search_buffer. Translate char.
4172
4173 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4174
4175         * regex.c (RE_TR_ASCII): Removed.
4176         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4177         (PATFETCH): Call PATFETCH_RAW.
4178         (PATFETCH_RAW): Fetch Emchar.
4179         (PATUNFETCH): Decrement charptr.
4180         (GET_BUFFER_SPACE): Rename b to buf_end.
4181         (BUF_PUSH): Ditto.
4182         (BUF_PUSH_2): Ditto.
4183         (BUF_PUSH_3): Ditto.
4184         (EXTEND_BUFFER): Ditto.
4185         (SET_LIST_BIT): Ditto.
4186         (regex_compile): Ditto.  Translate non ASCII char.
4187         (compile_range): Ditto.
4188         (re_search_2): Ditto.
4189         (re_match_2_internal): Compare Emchar.
4190         (bcmp_translate): Ditto.
4191
4192 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4193
4194         * lisp.h (basic char/int typedefs):  comment improvement.
4195
4196 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4197
4198         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4199         unstomp inhibit_site_lisp.  Improve comments.
4200
4201 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4202
4203         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4204
4205 2000-11-28  Andy Piper  <andy@xemacs.org>
4206
4207         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4208         clipped display for windows in the gutter also.
4209         (redisplay_display_boxes_in_window_p): change semantics of return
4210         codes to be more intuitive.
4211
4212         * gutter.h: declare display_boxes_in_gutter_p.
4213
4214         * gutter.c (display_boxes_in_gutter_p): new function for
4215         redisplay.
4216
4217 2000-11-22  Andy Piper  <andy@xemacs.org>
4218
4219         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4220         autodetect domain.
4221
4222 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4223
4224         * callproc.c (Fold_call_process_internal):
4225         * gpm.c (Freceive_gpm_event):
4226         (tty_get_foreign_selection): Might be just warning supression.
4227         * fileio.c (Fwrite_region_internal):
4228         (Fset_visited_file_modtime):
4229         * keymap.c (event_matches_key_specifier_p):
4230         Initialize GCPROed variable.
4231
4232         * menubar-x.c (command_builder_find_menu_accelerator):
4233         Initialize before use.
4234
4235 2000-11-23  Andy Piper  <andy@xemacs.org>
4236
4237         * unexcw.c (unexec): make the resulting executable executable.
4238
4239 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4240
4241         * doc.c (get_doc_string):
4242         Use size_t, not int, for result of XSTRING_LENGTH.
4243
4244         * cmds.c (Fdelete_char):
4245         * cmds.c (Fpoint_at_eol):
4246         * cmds.c (Fself_insert_command):
4247         Use EMACS_INT, not int, for result of XINT.
4248         Someday, someone will want to insert more than 2**31 identical characters.
4249
4250         * cmds.c (Fdelete_char):
4251         * cmds.c (Fdelete_backward_char):
4252         * syntax.c (Fforward_word):
4253         * syntax.c (Fforward_comment):
4254         Make COUNT argument optional, for consistency with forward-char et al.
4255
4256 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4257
4258         * lisp.h:
4259         * print.c (long_to_string):
4260         Return a useful value: the pointer at end of data written.
4261
4262         * doprnt.c:
4263         Use `static const char * const' for constant strings.
4264         (union printf_arg): Delete `i', `ui' members.
4265         (get_doprnt_args):
4266         (emacs_doprnt_1):
4267         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4268         Do all printf-ing via the `l' specifier.
4269         Use EMACS_INT instead of int.
4270         Optimize.
4271
4272 2000-11-20  Didier Verna  <didier@xemacs.org>
4273
4274         * faces.c (update_face_cachel_data): don't frob the background
4275         pixmap when the window is being created. The face is needed but
4276         does not exist yet.
4277
4278 2000-11-20  Andy Piper  <andy@xemacs.org>
4279
4280         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4281         messing with a debug environment.
4282
4283 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4284
4285         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4286
4287 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4288
4289         * casetab.c (Fcase_table_p): Fix compile error and crash.
4290
4291 2000-11-18  Philip Aston  <philipa@mail.com>
4292
4293         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4294
4295 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4296
4297         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4298         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4299
4300 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4301
4302         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4303         * unexelf.c: Use HAVE_ELF_H.
4304         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4305         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4306         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4307         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4308         for testing.
4309         So this is an unexelfsgi.c from a different line of development.
4310
4311 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4312
4313         * regex.c (RE_TR_ASCII): New function.
4314         (RE_TRANSLATE): Call it.
4315
4316 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4317
4318         * buffer.h (TRT_TABLE_OF): Remove assert.
4319         (IN_TRT_TABLE_DOMAIN): Removed.
4320
4321 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4322
4323         * free-hook.c (log_gcpro):
4324         (show_gcprohist): Add support for GCPRO5.
4325
4326 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4327
4328         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4329
4330 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4331
4332         * symeval.h: Declare flush_all_buffer_local_cache.
4333
4334         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4335         (flush_buffer_local_cache): Added.
4336         (flush_all_buffer_local_cache): Added.
4337
4338         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4339
4340         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4341         (pdump_dump_data): Ditto.
4342         (pdump_reloc_one): Ditto.
4343         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4344         before dumping.
4345
4346
4347 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4348
4349         * buffer.c: Remove if 0'ed entry.
4350         * buffer.h: Rewrite TRT to use char-table.
4351         * bufslots.h: Remove mirror tables.
4352         * casetab.c: Remove mirror tables.
4353         (CASE_TABLE_P): New macro.
4354         (Fcase_table_p): Element of a case table is string or char-table.
4355         (make_mirror_trt_table): Removed.
4356         (set_case_table): Setup char-table from strings for backward
4357         compatibility.
4358         * dired.c (Fdirectory_files):
4359         * dired-msw.c: (mswindows_get_files):
4360         * lisp.h: Change prototype of re_pattern_buffer.
4361         * regex.c: (RE_TRANSLATE): New macro.
4362         (TRANSLATE_P): Ditto.
4363         Change translate to type RE_TRANSLATE_TYPE.
4364         * regex.h: Define RE_TRANSLATE_TYPE
4365         * search.c (TRANSLATE): New macro.
4366         (TRANSLATE_ASCII): New macro.
4367         Translate table is changed to Lisp_Object.
4368         (signal_failure): Inhibit return.
4369
4370 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4371
4372         * device-msw.c:
4373         * eldap.c:
4374         * event-Xt.c:
4375         * event-stream.c:
4376         * print.c:
4377         Do UNGCPRO before return.
4378
4379 2000-11-14  Martin Buchholz <martin@xemacs.org>
4380
4381         * XEmacs 21.2.37 is released.
4382
4383 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4384
4385         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4386         Add comments about discarded return value.
4387
4388 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4389
4390         * callint.c:
4391         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4392
4393 2000-10-27  Andy Piper  <andy@xemacs.org>
4394
4395         * gutter.c (Fset_default_gutter_position): default left and right
4396         gutters to visible.
4397         (calculate_gutter_size): calculate resonable heuristic for left
4398         and right gutter sizes.
4399         (specifier_vars_of_gutter): change left and right gutter sizes to
4400         autodetect.
4401         (calculate_gutter_size_from_display_lines): new function.
4402         (output_gutter): check for resizing on left and right gutters.
4403         (clear_gutter): don't special case top and left gutters.
4404         (specifier_vars_of_gutter): use new signature for
4405         set_specifier_caching.
4406
4407         * glyphs-x.c (x_redisplay_widget): spelling fix.
4408         * glyphs.c (specifier_vars_of_glyphs):
4409         * menubar.c (specifier_vars_of_menubar):
4410         * redisplay.c (specifier_vars_of_redisplay):
4411         * toolbar.c (specifier_vars_of_toolbar):
4412         * window.c (specifier_vars_of_window):
4413         * scrollbar.c (specifier_vars_of_scrollbar):
4414         (complex_vars_of_scrollbar): use new signature for
4415         set_specifier_caching.
4416
4417         * specifier.c (set_specifier_caching): include recompute flag.
4418         (recompute_one_cached_specifier_in_window): always recompute if
4419         flag set.
4420         (recompute_one_cached_specifier_in_frame): ditto.
4421
4422         * specifier.h (struct specifier_caching): add recompute flag.
4423
4424 2000-10-24  Andy Piper  <andy@xemacs.org>
4425
4426         * unexcw.c (copy_executable_and_dump_data_section): add new
4427         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4428         5.0 happy.
4429
4430 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4431
4432         * console-x.h (x_device): New member modifier_release_time.
4433         * event-Xt.c (x_handle_sticky_modifiers):
4434         Bound interval modifier keys are sticky.
4435         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4436         * events.h: extern it.
4437
4438 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4439
4440         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4441
4442 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4443
4444         * event-stream.c (execute_command_event): Preserve current_events
4445         and the like when event is misc-user-event.
4446         Inhibit quit during the call to maybe_echo_keys.
4447
4448 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4449
4450         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4451         symlink when buffer is killed.
4452         (inhibit_clash_detection): New variable.
4453
4454 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4455
4456         * console.c (Fset_input_method): Trigger redisplay on tty.
4457
4458 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4459
4460         * process.c (Fprocess_status): Revert to previous behavior:
4461         (process-status "nosuchprocess") ==> nil
4462
4463 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4464
4465         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4466         Work around another GCC 2.95.2 optimizer bug.
4467
4468 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4469
4470         * process.c (Fget_process): Use LIST_LOOP_2.
4471         (kill_buffer_processes): Use LIST_LOOP_2.
4472
4473         * minibuf.c (Fall_completions):
4474         Delete old non-functional code for FSF fourth argument.
4475
4476         * frame.c (frame_matches_frame_spec):
4477         Renamed from `frame_matches_frametype'.  Update all callers.
4478         (device_matches_device_spec):
4479         Renamed from 'device_matches_console_spec'.  Update all callers.
4480
4481         * doc.c (Fsubstitute_command_keys):
4482         Remove buffer overflow crash.  Small code cleanups.
4483
4484         * casetab.c (check_case_table): Simpler code.
4485
4486         * window.c (Freplace_buffer_in_windows):
4487         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4488         (and similar implementation) as Fdelete_windows_on.
4489         Update all callers.
4490
4491         * alloc.c (Fmake_list):
4492         * alloc.c (make_vector):
4493         * alloc.c (Fmake_vector):
4494         * alloc.c (make_bit_vector):
4495         * alloc.c (Fmake_bit_vector):
4496         * alloc.c (Fbit_vector):
4497         * alloc.c (Fmake_string):
4498         * alloc.c (Fpurecopy):
4499         * alloc.c (Fmemory_limit):
4500         * buffer.c:
4501         * buffer.c (Fget_buffer):
4502         * buffer.c (Fkill_buffer):
4503         * buffer.c (complex_vars_of_buffer):
4504         * bytecode.c (Fcompiled_function_stack_depth):
4505         * callint.c (Fprefix_numeric_value):
4506         * event-stream.c:
4507         * event-stream.c (Fread_key_sequence):
4508         * casetab.c:
4509         * casetab.c (Fcase_table_p):
4510         * casetab.c (check_case_table):
4511         * casetab.c (Fset_case_table):
4512         * casetab.c (Fset_standard_case_table):
4513         * chartab.c:
4514         * chartab.c (Fchar_table_type):
4515         * chartab.c (Freset_char_table):
4516         * chartab.c (Fget_char_table):
4517         * chartab.c (Fget_range_char_table):
4518         * chartab.c (Fput_char_table):
4519         * chartab.c (Fmap_char_table):
4520         * chartab.c (Fcategory_table_p):
4521         * chartab.c (Fcheck_category_at):
4522         * chartab.c (Fchar_in_category_p):
4523         * chartab.c (Fcategory_table):
4524         * chartab.c (Fcopy_category_table):
4525         * chartab.c (Fset_category_table):
4526         * chartab.c (Fcategory_designator_p):
4527         * chartab.c (Fcategory_table_value_p):
4528         * cmds.c (Fdelete_char):
4529         * cmds.c (Fdelete_backward_char):
4530         * cmds.c (Fself_insert_command):
4531         * cmds.c (Fself_insert_internal):
4532         * console.c (Fvalid_console_type_p):
4533         * console.c (Fcdfw_console):
4534         * console.c (Fconsole_type):
4535         * console.c (Fconsole_name):
4536         * console.c (Fconsole_device_list):
4537         * console.c (Fconsole_on_window_system_p):
4538         * data.c:
4539         * data.c (Feq):
4540         * data.c (Fold_eq):
4541         * data.c (Fsubr_interactive):
4542         * data.c (Fchar_to_int):
4543         * data.c (Fint_to_char):
4544         * data.c (Fsetcar):
4545         * data.c (Fsetcdr):
4546         * data.c (Fnumber_to_string):
4547         * data.c (Fstring_to_number):
4548         * data.c (Frem):
4549         * database.c (mark_database):
4550         * database.c (finalize_database):
4551         * database.c (Fdatabase_live_p):
4552         * database.c (Fdatabasep):
4553         * device-x.c (Fx_get_resource):
4554         * device.c (Fdfw_device):
4555         * dired.c:
4556         * dired.c (Ffile_name_completion):
4557         * dired.c (Ffile_name_all_completions):
4558         * dired.c (Fuser_name_completion):
4559         * dired.c (Fuser_name_completion_1):
4560         * dired.c (Fuser_name_all_completions):
4561         * doc.c (Fdocumentation):
4562         * doc.c (Fdocumentation_property):
4563         * doc.c (Fsubstitute_command_keys):
4564         * editfns.c:
4565         * editfns.c (Fchar_to_string):
4566         * editfns.c (Fstring_to_char):
4567         * editfns.c (Ftemp_directory):
4568         * editfns.c (Finsert_char):
4569         * editfns.c (Fbuffer_substring_no_properties):
4570         * editfns.c (Fnarrow_to_region):
4571         * editfns.c (Fchar_equal):
4572         * editfns.c (Fchar_Equal):
4573         * editfns.c (Ftranspose_regions):
4574         * emacs.c (Fdump_emacs):
4575         * eval.c (Fthrow):
4576         * eval.c (Fcommand_execute):
4577         * eval.c (Fautoload):
4578         * eval.c (Fbacktrace):
4579         * eval.c (Fbacktrace_frame):
4580         * events.c:
4581         * events.c (Fcopy_event):
4582         * events.c (Fcharacter_to_event):
4583         * events.c (Fevent_button):
4584         * events.c (Fevent_process):
4585         * extents.c:
4586         * extents.c (Fnext_extent_change):
4587         * extents.c (Fextent_property):
4588         * faces.c (Ffacep):
4589         * faces.c (Fmake_face):
4590         * file-coding.c:
4591         * file-coding.c (Fencode_shift_jis_char):
4592         * file-coding.c (Fencode_big5_char):
4593         * fileio.c (Ffile_name_directory):
4594         * fileio.c (Ffile_name_nondirectory):
4595         * fileio.c (Ffile_name_as_directory):
4596         * fileio.c (Fdirectory_file_name):
4597         * fileio.c (Ffile_truename):
4598         * fileio.c (Fsubstitute_in_file_name):
4599         * fileio.c (Ffile_modes):
4600         * fileio.c (Fset_file_modes):
4601         * fileio.c (Fset_default_file_modes):
4602         * fileio.c (Fverify_visited_file_modtime):
4603         * floatfns.c (Facos):
4604         * floatfns.c (Fasin):
4605         * floatfns.c (Fatan):
4606         * floatfns.c (Fcos):
4607         * floatfns.c (Fsin):
4608         * floatfns.c (Ftan):
4609         * floatfns.c (Fbessel_j0):
4610         * floatfns.c (Fbessel_j1):
4611         * floatfns.c (Fbessel_jn):
4612         * floatfns.c (Fbessel_y0):
4613         * floatfns.c (Fbessel_y1):
4614         * floatfns.c (Fbessel_yn):
4615         * floatfns.c (Ferf):
4616         * floatfns.c (Ferfc):
4617         * floatfns.c (Flog_gamma):
4618         * floatfns.c (Fexp):
4619         * floatfns.c (Fexpt):
4620         * floatfns.c (Flog):
4621         * floatfns.c (Flog10):
4622         * floatfns.c (Fsqrt):
4623         * floatfns.c (Fcube_root):
4624         * floatfns.c (Facosh):
4625         * floatfns.c (Fasinh):
4626         * floatfns.c (Fatanh):
4627         * floatfns.c (Fcosh):
4628         * floatfns.c (Fsinh):
4629         * floatfns.c (Ftanh):
4630         * floatfns.c (Fabs):
4631         * floatfns.c (Ffloat):
4632         * floatfns.c (Flogb):
4633         * floatfns.c (Fceiling):
4634         * floatfns.c (Ffloor):
4635         * floatfns.c (Fround):
4636         * floatfns.c (Ftruncate):
4637         * floatfns.c (Ffceiling):
4638         * floatfns.c (Fffloor):
4639         * floatfns.c (Ffround):
4640         * floatfns.c (Fftruncate):
4641         * fns.c (Fstring_equal):
4642         * fns.c (Fstring_lessp):
4643         * fns.c (concat2):
4644         * fns.c (concat3):
4645         * fns.c (vconcat2):
4646         * fns.c (vconcat3):
4647         * fns.c (Fsubstring):
4648         * fns.c (Fassoc):
4649         * fns.c (Fold_assoc):
4650         * fns.c (assoc_no_quit):
4651         * fns.c (Fassq):
4652         * fns.c (Fold_assq):
4653         * fns.c (assq_no_quit):
4654         * fns.c (Frassoc):
4655         * fns.c (Fold_rassoc):
4656         * fns.c (Frassq):
4657         * fns.c (Fold_rassq):
4658         * fns.c (rassq_no_quit):
4659         * fns.c (Fremassoc):
4660         * fns.c (remassoc_no_quit):
4661         * fns.c (Fremassq):
4662         * fns.c (remassq_no_quit):
4663         * fns.c (Fremrassoc):
4664         * fns.c (Fremrassq):
4665         * fns.c (remrassq_no_quit):
4666         * fns.c (Fsort):
4667         * fns.c (Fplist_get):
4668         * fns.c (Fplist_put):
4669         * fns.c (Fplist_remprop):
4670         * fns.c (Fplist_member):
4671         * fns.c (Flax_plist_get):
4672         * fns.c (Flax_plist_put):
4673         * fns.c (Flax_plist_remprop):
4674         * fns.c (Flax_plist_member):
4675         * fns.c (Fequal):
4676         * fns.c (Fold_equal):
4677         * fns.c (Frequire):
4678         * fns.c (Fbase64_encode_region):
4679         * fns.c (Fbase64_encode_string):
4680         * fns.c (Fbase64_decode_region):
4681         * frame.c:
4682         * frame.c (frame_matches_frame_spec):
4683         * frame.c (device_matches_device_spec):
4684         * frame.c (next_frame):
4685         * frame.c (previous_frame):
4686         * frame.c (Fnext_frame):
4687         * frame.c (Fprevious_frame):
4688         * frame.c (Fframe_property):
4689         * frame.c (Fset_frame_height):
4690         * frame.c (Fset_frame_size):
4691         * frame.h:
4692         * glyphs.c:
4693         * glyphs.c (if):
4694         * glyphs.c (decode_error_behavior_flag):
4695         * glyphs.c (Fmake_image_instance):
4696         * indent.c (Findent_to):
4697         * intl.c (Fignore_defer_gettext):
4698         * keymap.c (Fkeymapp):
4699         * keymap.c (Flookup_key):
4700         * lread.c:
4701         * lread.c (Fload_internal):
4702         * lread.c (Feval_buffer):
4703         * lread.c (Feval_region):
4704         * macros.c (Fexecute_kbd_macro):
4705         * marker.c (set_marker_internal):
4706         * marker.c (Fset_marker):
4707         * marker.c (set_marker_restricted):
4708         * marker.c (Fcopy_marker):
4709         * marker.c (noseeum_copy_marker):
4710         * menubar.c:
4711         * menubar.c (Fpopup_menu):
4712         * minibuf.c:
4713         * mule-charset.c (Fcharset_name):
4714         * mule-charset.c (Fchar_charset):
4715         * mule-charset.c (Fchar_octet):
4716         * mule-charset.c (Fsplit_char):
4717         * mule-wnnfns.c (Fwnn_open):
4718         * mule-wnnfns.c (Fwnn_dict_comment):
4719         * mule-wnnfns.c (Fwnn_quit_henkan):
4720         * mule-wnnfns.c (Fwnn_word_toroku):
4721         * mule-wnnfns.c (Fwnn_word_sakujo):
4722         * mule-wnnfns.c (Fwnn_word_use):
4723         * mule-wnnfns.c (Fwnn_hindo_set):
4724         * objects.c:
4725         * objects.c (Fmake_color_instance):
4726         * objects.c (Fmake_font_instance):
4727         * print.c (Fwrite_char):
4728         * process.c:
4729         * process.c (mark_process):
4730         * process.c (print_process):
4731         * process.c (get_process_from_usid):
4732         * process.c (Fprocessp):
4733         * process.c (Fprocess_live_p):
4734         * process.c (Fget_process):
4735         * process.c (Fget_buffer_process):
4736         * process.c (get_process):
4737         * process.c (Fprocess_id):
4738         * process.c (Fprocess_name):
4739         * process.c (Fprocess_command):
4740         * process.c (init_process_io_handles):
4741         * process.c (start_process_unwind):
4742         * process.c (Fstart_process_internal):
4743         * process.c (Fopen_multicast_group_internal):
4744         * process.c (Fset_process_window_size):
4745         * process.c (read_process_output):
4746         * process.c (send_process):
4747         * process.c (Fprocess_tty_name):
4748         * process.c (Fset_process_buffer):
4749         * process.c (Fprocess_buffer):
4750         * process.c (Fprocess_mark):
4751         * process.c (set_process_filter):
4752         * process.c (Fset_process_filter):
4753         * process.c (Fprocess_filter):
4754         * process.c (Fprocess_send_region):
4755         * process.c (Fprocess_send_string):
4756         * process.c (exec_sentinel):
4757         * process.c (Fset_process_sentinel):
4758         * process.c (Fprocess_sentinel):
4759         * process.c (status_notify):
4760         * process.c (Fprocess_status):
4761         * process.c (Fprocess_exit_status):
4762         * process.c (process_send_signal):
4763         * process.c (Fprocess_send_eof):
4764         * process.c (deactivate_process):
4765         * process.c (remove_process):
4766         * process.c (Fdelete_process):
4767         * process.c (kill_buffer_processes):
4768         * process.c (Fprocess_kill_without_query):
4769         * process.c (Fprocess_kill_without_query_p):
4770         * rangetab.c:
4771         * rangetab.c (Fget_range_table):
4772         * rangetab.c (Fput_range_table):
4773         * rangetab.c (Fremove_range_table):
4774         * rangetab.c (Fclear_range_table):
4775         * search.c:
4776         * search.c (Fskip_chars_forward):
4777         * search.c (Fskip_chars_backward):
4778         * search.c (Fskip_syntax_forward):
4779         * search.c (Fskip_syntax_backward):
4780         * search.c (search_command):
4781         * search.c (Freplace_match):
4782         * search.c (Fregexp_quote):
4783         * select.c (Fown_selection_internal):
4784         * select.c (Fselection_owner_p):
4785         * select.c (Fselection_exists_p):
4786         * select.c (Fget_selection_internal):
4787         * specifier.c:
4788         * symbols.c:
4789         * symbols.c (Fintern):
4790         * symbols.c (Fintern_soft):
4791         * symbols.c (Funintern):
4792         * symbols.c (Fapropos_internal):
4793         * symbols.c (Fset_default):
4794         * syntax.c:
4795         * syntax.c (Fsyntax_table_p):
4796         * syntax.c (Fcopy_syntax_table):
4797         * syntax.c (Fset_syntax_table):
4798         * syntax.c (Fchar_syntax):
4799         * syntax.c (syntax_match):
4800         * syntax.c (Fmatching_paren):
4801         * syntax.c (Fforward_word):
4802         * syntax.c (scan_lists):
4803         * syntax.c (Fscan_lists):
4804         * syntax.c (Fscan_sexps):
4805         * syntax.c (Fparse_partial_sexp):
4806         * toolbar.c (Fcheck_toolbar_button_syntax):
4807         * tooltalk.doc:
4808         * window.c:
4809         * window.c (Fwindowp):
4810         * window.c (Fwindow_live_p):
4811         * window.c (Fwindow_point):
4812         * window.c (Fdelete_window):
4813         * window.c (Fnext_window):
4814         * window.c (Fprevious_window):
4815         * window.c (Fother_window):
4816         * window.c (window_loop):
4817         * window.c (Fget_lru_window):
4818         * window.c (Fsplit_window):
4819         * window.c (Fenlarge_window):
4820         * window.c (Fenlarge_window_pixels):
4821         * window.c (Fshrink_window):
4822         * window.c (Fshrink_window_pixels):
4823         * window.c (change_window_height):
4824         * window.c (Fwindow_configuration_p):
4825         * window.c (Fcurrent_window_configuration):
4826         * window.h:
4827         * casefiddle.c (casify_object):
4828         * casefiddle.c (Fupcase):
4829         * casefiddle.c (Fdowncase):
4830         * casefiddle.c (Fcapitalize):
4831         * casefiddle.c (Fupcase_initials):
4832         * casefiddle.c (casify_region_internal):
4833         * casefiddle.c (casify_region):
4834         * casefiddle.c (Fupcase_region):
4835         * casefiddle.c (Fdowncase_region):
4836         * casefiddle.c (Fcapitalize_region):
4837         * casefiddle.c (Fupcase_initials_region):
4838         * casefiddle.c (Fupcase_word):
4839         * casefiddle.c (Fdowncase_word):
4840         * casefiddle.c (Fcapitalize_word):
4841         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4842         Replace 0 with '\0' when working with bytes.
4843         Replace initial "(" with "\(" in docstrings.
4844
4845 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4846
4847         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4848
4849         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4850
4851 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4852
4853         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4854
4855 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4856
4857         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4858         correctly.
4859
4860 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4861
4862         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4863         (inhibit_auto_save_session): New variable.
4864         (vars_of_fileio): Declare and initialize them.
4865         * fileio.c (Fdo_auto_save): Don't create session file if
4866         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4867
4868 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4869
4870         * sgiplay.c (play_internal): C++ compilability.
4871         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4872         * callproc.c (Fold_call_process_internal):
4873         Remove unused vars `env', `first'.
4874         * scrollbar.c (update_scrollbar_instance):
4875         #### unused var `current_window'.
4876         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4877         etc. within #ifdef NOT_YET.
4878         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4879         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4880         * specifier.c (specifier_instance):
4881         #### unused var `tag'.
4882         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4883
4884 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4885
4886         * fns.c (Fbutlast):
4887         * fns.c (list_sort):
4888         * fns.c (Ffillarray):
4889         * fns.c (bytecode_nconc2):
4890         * fns.c (Fnconc):
4891         * fns.c (mapcar1):
4892         * fns.c (Fmapconcat):
4893         Be pedantically 64-bit correct.  For the time when someone will
4894         want to have a list with length > 2**32.
4895
4896         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4897         Work around MIPSpro compiler bug.
4898
4899         * process-unix.c (unix_kill_child_process): Add snarky comment.
4900         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4901
4902         * config.h.in: Oops, _getpt ==> _getpty
4903
4904 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4905
4906         * config.h.in:
4907         * regex.c:
4908         Use void*, not char*, as return type of alloca().
4909
4910         * alloc.c (free_marker): Side effect inside assert expression!
4911
4912 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4913
4914         * mule-charset.c (Fset_charset_ccl_program): To check
4915         if the given ccl program is valid, use setup_ccl_program()
4916         instead of CHECK_VECTOR().
4917         (Fmake_charset): Likewise.
4918
4919 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4920
4921         * faces.c (get_extent_fragment_face_cache_index):
4922         Fix cachel.merged_faces memory leak.
4923
4924 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4925
4926         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4927         Reset MSB of octets obtained by DECODE_SJIS
4928         because of the incompatibility with Emacs.
4929         (ccl_driver)<CCL_ENCODE_SJIS>:
4930         Set MSB of octets before passing them to
4931         ENCODE_SJIS because of the incompatibility
4932         with Emacs.
4933
4934 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4935
4936         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4937         (DECLARE_LRECORD): Undo the last change.
4938         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4939
4940 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4941
4942         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4943         the implementation to lrecord_implementations_table.
4944
4945 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4946
4947         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4948         initial value of `lrecord_type_##c_name' and
4949         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4950         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4951         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4952         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4953         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4954
4955 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4956
4957         * miscplay.c (sndcnv8S_2mono):
4958         (sndcnv2monounsigned):
4959         (sndcnvULaw_2linear):
4960         (sndcnv16swap):
4961         Remove implementation-defined behavior.
4962
4963 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4964
4965         * input-method-xlib.c: Warning suppression.
4966
4967 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4968
4969         * mule-ccl.c: Sync up with Emacs 21.0.90.
4970         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4971         Do nothing.
4972         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4973         Likewise.
4974         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4975         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4976         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4977         leading char belongs to official 2-dimensional charset.
4978         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4979         write the given character as is.  Otherwise,
4980         if it is a multibyte char, convert it by
4981         non_ascii_set_charptr_emchar, then write it.
4982         (CCL_WRITE_STRING): Likewise.
4983         (ccl_get_compiled_code): New function.
4984         (setup_ccl_program): When ccl_prog is invalid,
4985         return -1.
4986         (Fregister_code_conversion_map): New function.
4987         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4988
4989         * mule-ccl.h: Sync up with Emacs 21.0.90.
4990         (Fregister_ccl_program): export it.
4991
4992         * redisplay-msw.c (separate_textual_runs):
4993         If ccl program is not valid, don't do ccl conversion.
4994
4995         * redisplay-x.c (separate_textual_runs): Ditto.
4996
4997         * file-coding.c (Fmake_coding_system):
4998         When type is ccl and value is vector, register it
4999         with a proper symbol.  And checks whether the
5000         given ccl program is valid.
5001         (mule_decode): When calling ccl_driver, if src indicates
5002         NULL pointer, set an empty string instead.
5003         (mule_encode): Likewise.
5004
5005 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5006
5007         The following large batch of changes gets us back to a state of
5008         C++ compilability.  Extbyte is now a char, which means that
5009         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5010
5011         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5012
5013         * sound.c (Fplay_sound): Type correctness.
5014
5015         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5016         (x_get_window_property): Type correctness.
5017         (receive_incremental_selection): unsigned char ==> Extbyte
5018         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5019         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5020         (Fx_store_cutbuffer_internal): Type correctness.
5021
5022         * process-unix.c (try_to_initialize_subtty): Type correctness.
5023
5024         * objects-x.c (x_print_color_instance): Type correctness.
5025         (x_print_font_instance): Type correctness.
5026         (x_list_fonts): SExtbyte ==> Extbyte.
5027         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5028         (x_find_charset_font): SExtbyte ==> Extbyte.
5029         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5030         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5031         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5032         Use bufbyte_strcmp.
5033
5034         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5035         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5036         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5037         (BYTE_C0_P): Use bit ops for char-signedness safety.
5038         (BYTE_C1_P): Use bit ops for char-signedness safety.
5039         (CHARSET_BY_LEADING_BYTE):
5040         (CHARSET_BY_ATTRIBUTES):
5041         Always use inline function.
5042         Use type_checking_assert.
5043         Hide chlook.
5044
5045         * mule-charset.c (non_ascii_charptr_copy_char):
5046         Modify to work with both ASCII and non-ASCII characters.
5047         Improve docs and variable names.
5048         Replace over-clever fall-through switch with a simple loop.
5049         (Lstream_get_emchar_1):
5050         Replace over-clever fall-through switch with a simple loop.
5051
5052         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5053         Warning suppression.
5054
5055         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5056         the return value of Lstream_getc, which could be EOF as well.
5057
5058         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5059
5060         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5061         APIs can be used on Extbytes without casts.  Risky!
5062         (SExtbyte): Remove.
5063         (UExtbyte): Remove.
5064
5065         * input-method-xlib.c (XIM_init_device):
5066         Use Xlib.h instead of IntrinsicP.h.
5067         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5068         which will break in X11R7.
5069         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5070         to call XRegisterIMInstantiateCallback with correct types.
5071
5072         * gui-x.c (button_item_to_widget_value): Type correctness.
5073
5074         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5075
5076         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5077         (xbm_instantiate_1): Type correctness.
5078         (BUILD_GLYPH_INST):  Type correctness.
5079
5080         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5081
5082         * file-coding.c:
5083         (decode_coding_sjis):
5084         (decode_coding_big5):
5085         (decode_coding_ucs4):
5086         (decode_coding_utf8):
5087         (decode_coding_iso2022):
5088         (decode_coding_no_conversion):
5089         Make all decoding functions take an Extbyte * arg.
5090         (encode_coding_sjis):
5091         (encode_coding_big5):
5092         (encode_coding_ucs4):
5093         (encode_coding_utf8):
5094         (encode_coding_iso2022):
5095         (encode_coding_no_conversion):
5096         Make all encoding functions take a Bufbyte * arg.
5097         Use size_t instead of unsigned int for memory sizes.
5098         Only cast to unsigned char whenever dereferencing Extbyte *.
5099
5100         * doc.c (unparesseuxify_doc_string): Type correctness.
5101
5102         * console-x.c (split_up_display_spec):
5103         Rewrite without using details of internal string representation.
5104         (x_semi_canonicalize_device_connection): Type correctness.
5105
5106         * config.h.in:
5107         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5108         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5109         (HAVE_XFREE386): Removed.
5110
5111         * buffer.h (DEC_CHARPTR): `const' correctness.
5112         (bufbyte_strcmp): New.
5113         (bufbyte_memcmp): New.
5114
5115         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5116
5117         * buffer.h (XCHAR_OR_CHAR_INT):
5118         Always use inline function.
5119         Remove redundant type checking assert() - XINT will abort quite nicely.
5120
5121 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5122
5123         * search.c (Freplace_match): Set newtext to an empty string.
5124
5125 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5126
5127         * s/decosf1-3.h: Remove #include of stropts.h
5128         * s/ptx.h: Remove #include of stropts.h
5129         * s/usg5-4.h: Remove #include of stropts.h
5130         * sysproc.h:
5131         * config.h.in:
5132         Use stropts.h, not sys/stropts.h.
5133         Use strtio.h, not sys/strtio.h.
5134
5135 2000-10-04  Martin Buchholz <martin@xemacs.org>
5136
5137         * XEmacs 21.2.36 is released.
5138
5139 2000-09-21  Andy Piper  <andy@xemacs.org>
5140
5141         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5142         changes still involve copying the widget tree.
5143         (update_widget_face): make sure a change is register in the widget
5144         tree. Call update_tab_widget_face appropriately.
5145         (update_tab_widget_face): ditto.
5146         (x_tab_control_redisplay): make sure non-structural changes still
5147         involve copying the widget tree.
5148
5149 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5150
5151         * lread.c (locate_file): Check the path element is non-nil.
5152
5153 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5154
5155         * lisp.h: Warning suppression for SCO compilers.
5156
5157         * redisplay-tty.c (reset_tty_modes): Fix crash.
5158         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5159
5160 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5161
5162         Big signal/process handling overhaul.  Bugs fixed:
5163         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5164         M-x comint-kill-subjob should work for both values nil and t of
5165         process-connection-type. It was broken on most platforms.
5166         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5167         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5168         * process-unix.c: Signal/Process handling overhaul.
5169         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5170         (allocate_pty): Use all available modern methods of allocating
5171         ptys, falling back to old style BSD allocation as a last resort.
5172         Use allegedly more secure Unix98 pty allocation by default.
5173         (allocate_pty_the_old_fashioned_way): New. the last resort.
5174         (unix_create_process): Push ptem, ldterm, ttcompat where
5175         available.  Autoconfiscate.
5176         (try_to_initialize_subtty): New.
5177         (unix_kill_child_process): Proper signal handling for ptys on most
5178         platforms, using special knowledge of AIX, BSD, etc...
5179         (unix_create_process): Always disconnect_controlling_terminal() for
5180         subprocesses, whether using ptys or not.
5181         * process.h: Remove old getpt-dependent PTY code.
5182         * process.c (Fprocess_send_signal): New, obvious generic function.
5183         (decode_signal): New.
5184         (Finterrupt_process):
5185         (Fkill_process):
5186         (Fquit_process):
5187         (Fstop_process):
5188         (Fcontinue_process):
5189         (Fsignal_process): Use decode_signal.
5190         (process_send_signal):
5191         Many docstring corrections.
5192         Allow any signal to be sent to a process object.
5193         * config.h.in: Add symbols for big signal/process overhaul.
5194         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5195         * sysproc.h: Include process-related headers, where available:
5196         sys/stropts.h sys/strtio.h pty.h libutil.h
5197         * s/irix4-0.h:
5198         * s/irix5-0.h:
5199         * s/cygwin32.h:
5200         * s/gnu.h:
5201         * s/linux.h:
5202         * s/hpux.h:
5203         * s/aix3-1.h:
5204         Remove old S&M pty stuff.
5205         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5206         * systty.h: Simplify cpp hackery, improve comments.
5207         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5208
5209         * editfns.c (Fformat_time_string):
5210         Be a little more paranoid with the return value of ctime.
5211
5212         * fileio.c (check_executable):
5213         (check_writable):
5214         Use symbolic constants X_OK, W_OK.
5215
5216         * console-x.c (split_up_display_spec): Fix a warning.
5217
5218 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5219
5220         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5221         * ntproc.c (sys_spawnve): make_string ==> build_string
5222         Small clarity improvements.
5223
5224 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5225
5226         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5227
5228         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5229
5230         * config.h.in (HAVE_STRCASECMP): Remove.
5231
5232 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5233
5234         * redisplay-output.c (redisplay_output_pixmap):
5235         Cleaner and possibly more 64-bit correct code.
5236
5237 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5238
5239         * dumper.c (pdump_load_finish): move restoration of
5240         `noninteractive1' to emacs.c (main_1).
5241         * emacs.c (main_1): protect LISP-visible command-line flags
5242         from pdump_load().
5243
5244 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5245
5246         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5247         DUMP_TARGET instead of literal program names.
5248
5249 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5250
5251         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5252
5253 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5254
5255         * *: Spelling mega-patch
5256
5257 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5258
5259         * fns.c (bad_bad_turtle):
5260         Delete "Eek!" comment, since we fixed the bug to which it refers.
5261
5262 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5263
5264         * alloca.c: Replace REGISTER with register.
5265
5266 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5267
5268         * file-coding.c (ucs_to_char): Use countof.
5269
5270 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5271
5272         * file-coding.c: (ucs_to_char):
5273         (complex_vars_of_file_coding):
5274         Use countof instead of sizeof.
5275         Use CHECK_NATNUM instead of CHECK_INT.
5276
5277         * sysdep.c (strcasecmp): Remove.
5278         * device-x.c (ascii_strcasecmp): New.
5279         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5280         Avoid using non-standard non-portable strcasecmp.
5281
5282 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5283
5284         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5285         * font-lock.c: remove reference to emacsfns.h.
5286         * search.c: small doc improvement.
5287         * event-Xt.c: correct file names in comments.
5288         * console-x.h Correct file names in comments.
5289         * frame.c: Correct file names in comments.
5290         * event-stream.c: remove Energize from comments.
5291
5292 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5293
5294         * symeval.h (DEFERROR_STANDARD):
5295         (DEFERROR):
5296         (DEFSYMBOL):
5297         (DEFSYMBOL_NO_DUMP):
5298         (DEFSYMBOL_MULTIWORD_PREDICATE):
5299         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5300         (DEFKEYWORD):
5301         The construct &##name is not sensible C.
5302         Fixes compilation errors with Unixware native compiler.
5303
5304 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5305
5306         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5307         (next_frame_internal): Removed.  We now just have next_frame.
5308         (next_frame):
5309         Write a simpler and cleaner one-pass algorithm.
5310         Remove called_from_delete_device arg and #ifdefed-out code.
5311         (previous_frame):
5312         Renamed from prev_frame.  Update callers.
5313         Cleaned up to have an analogous implementation to next_frame.
5314         (other_visible_frames_internal): Remove the
5315         called_from_delete_device bogus arg, and hence, remove this
5316         function.  Just use other_visible_frames().
5317
5318         * window.c (Fnext_window):
5319         Prettify docstring.
5320         Since next_frame() is guaranteed to return a frame, remove check
5321         for nil inserted in previous patch.
5322         (Fprevious_window):
5323         Prettify docstring.
5324         Make code look more like Fnext_window.
5325         (window_loop):
5326         Respect the `console' arg when iterating through windows.
5327         Fixes bug: (get-buffer-window buffer t device) not respecting
5328         the `device' arg.
5329         This function needs more work, as others have pointed out.
5330
5331         * frame.h: Rename prev_frame to previous_frame.
5332         device_matches_console_spec no longer takes a `frame' arg.
5333
5334         * s/gnu.h:
5335         * s/linux.h:
5336         * s/hpux.h:
5337         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5338         From "Golubev I. N." <gin@mo.msk.ru>.
5339
5340         * make-src-depend: Fix typo.
5341
5342 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5343
5344         * window.c (Fnext_window):
5345         next_frame() might return nil, not a frame.
5346         Fixes this crash:
5347         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5348
5349         * frame.c (next_frame_internal):
5350         We've passed a frame if we've passed its device.
5351         Fixes this crash:
5352         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5353 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5354
5355 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5356
5357         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5358         Allow option to suppress accelerators in menu/dialog items.
5359         (populate_or_checksum_helper): Pass dialog title through above.
5360
5361 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5362
5363         * event-msw.c (mswindows_key_to_emacs_keysym):
5364         Add "pause" key, fix "menu" key.
5365
5366 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5367
5368         * eval.c (reinit_vars_of_eval):
5369         Increase max_lisp_eval_depth to 1000,
5370         required for thai-xtis.el to byte-compile under some circumstances.
5371
5372 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5373
5374         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5375         From Kenichi Handa.
5376
5377 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5378
5379         * make-src-depend: Make the generated Makefiles smaller.
5380
5381         * s/hpux.h (SETUP_SLAVE_PTY):
5382         Provide a %d in the format string for the errno argument.
5383
5384         * editfns.c (Ftemp_directory):
5385         Warning fix.
5386         Avoid buffer overrun on very long file name.
5387
5388         * input-method-xlib.c (XIM_init_device):
5389         6th parameter of XRegisterIMInstantiateCallback has different
5390         pointer types on different OSes, so simply cast to (void *).
5391
5392         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5393
5394         * sysdll.c (dll_open):
5395         shl_load will hang hard if passed a NULL filename.
5396         Simply return NULL for compatibility with dlopen.
5397         * sysdll.c: Conform to XEmacs coding standards.
5398
5399         * sysdep.c (get_pty_max_bytes):
5400         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5401
5402 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5403
5404         * tooltalk.c: Add #include <syssignal.h>
5405
5406 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5407
5408         * s/hpux.h: Don't use undefined function sigunblock().
5409
5410 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5411
5412         * config.h.in: Add HAVE_BALLOON_HELP.
5413         * emacs.c: Use HAVE_BALLOON_HELP.
5414         * Makefile.in.in (x_objs):
5415         Make Balloon Help conditional on finding shape.h.
5416
5417 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5418
5419         * syntax.c (regex_emacs_buffer_p): New variable.
5420         * syntax.h (regex_emacs_buffer_p): extern.
5421         * search.c (looking_at_1):
5422         (string_match_1):
5423         (fast_string_match):
5424         (search_buffer): Set regex_emacs_buffer_p.
5425         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5426         when before_dot, at_dot, after_dot.
5427
5428 2000-08-23  Andy Piper  <andy@xemacs.org>
5429
5430         * gui-x.c (popup_selection_callback): Only set action_occurred
5431         when we really have an image instance.
5432         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5433
5434 2000-08-23  Andy Piper  <andy@xemacs.org>
5435
5436         * gui-msw.c (mswindows_handle_gui_wm_command): set
5437         action_occurred.
5438         * gui-x.c (popup_selection_callback): ditto.
5439
5440         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5441         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5442         (struct Lisp_Image_Instance): add action_occurred flag.
5443
5444         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5445         (image_instance_changed): ditto.
5446         (reset_frame_subwindow_instance_cache): only unmap windows - do
5447         not remove them from the cache also.
5448
5449         * glyphs-widget.c (tab_control_update): better debug.
5450         (progress_gauge_update): ditto.
5451         (layout_update): ditto.
5452         (layout_instantiate): ditto.
5453         (tab_control_order_only_changed): cope with null pending items.
5454
5455         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5456         debug. Force selection of an item when an action occurred. Cope
5457         with null pending_items.
5458         (mswindows_progress_gauge_redisplay): better debug.
5459         * glyphs-x.c (x_tab_control_redisplay): ditto.
5460
5461         * redisplay.c (redisplay_frame): reset the frame cache if the
5462         frame is garbaged.
5463
5464         * window.c (Fset_window_configuration): potentially re-enable
5465         frame cache reset.
5466         (window_unmap_subwindows): need to finalize instances here since
5467         it is only used in mark_window_as_deleted.
5468
5469 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5470
5471         * nas.c (SndOpenDataForReading):
5472         nas.c (WaveOpenDataForReading):
5473         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5474         Somehow escaped from the 2000-08-14 patch.
5475
5476 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5477
5478         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5479         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5480
5481 2000-08-21  Andy Piper  <andy@xemacs.org>
5482
5483         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5484         window if it is not already displayed.
5485
5486         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5487         it is not already displayed.
5488
5489         * window.c (Fset_window_configuration): don't reset the frame
5490         cache.
5491
5492         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5493         instances from the frame cache if we are actually finalizing them.
5494         (reset_frame_subwindow_instance_cache): reset frame cache only
5495         after unmapping everything.
5496         (map_subwindow): set displayed flag after mapping.
5497
5498 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5499
5500         * data.c (indirect_function):
5501         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5502
5503         * eval.c (function_argcount):
5504         Use original function when signaling errors.
5505
5506 2000-08-18  Andy Piper  <andy@xemacs.org>
5507
5508         * frame.c (delete_frame_internal): use new
5509         free_frame_subwindow_instances name.
5510
5511         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5512         (add_tab_item): make return type correct.
5513         (mswindows_tab_control_instantiate): assert index of tab.
5514         (mswindows_tab_control_redisplay): Re-code to use
5515         gui_item_equal_sans_selected and gui_item_list_find_selected.
5516
5517         * glyphs-widget.c (tab_control_update): Correct comment.
5518
5519         * window.c (window_unmap_subwindows): use new
5520         unmap_subwindow_instance_cache_mapper.
5521         (window_unmap_subwindows_cache_mapper): deleted.
5522         (Fset_window_configuration): comparisons should now be with
5523         EQ. Preserve the subwindow instance cache across configuration
5524         changes.
5525         (allocate_window): ditto.
5526         (make_dummy_parent): ditto.
5527
5528         * glyphs.c (free_frame_subwindow_instances): rename from
5529         free_frame_subwindow_instance_cache. finalize all instances rather
5530         than just those in the display cache.
5531         (finalize_all_subwindow_instances): walk windows unmapping and
5532         finalizing subwindows.
5533         (unmap_subwindow_instance_cache_mapper): moved from
5534         window.c. Allow finalization as well as unmapping.
5535
5536         * gui.c (gui_item_list_find_selected): new function.
5537
5538         * gui.h (gui_item_list_find_selected): declare.
5539
5540         * glyphs-x.c (x_tab_control_redisplay): pick tab
5541         explicitly. Re-code to use gui_item_equal_sans_selected and
5542         gui_item_list_find_selected.
5543
5544         * glyphs-x.h: add lwlib-utils.h
5545
5546         * buffer.c (Frecord_buffer): undo previous change.
5547
5548 2000-08-09  Vin Shelton  <acs@xemacs.org>
5549
5550         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5551         possible.  Create temporary files more securely.  The patch was
5552         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5553         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5554         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5555         for details.
5556
5557 2000-08-07  Ben Wing  <ben@xemacs.org>
5558
5559         * getloadavg.c: remove duplicate (and windows-breaking)
5560         includes of fcntl.h and sys/file.h.
5561
5562         * nt.c: remove duplicate getloadavg() definition.
5563
5564         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5565         encodings.
5566
5567 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5568
5569         * eval.c (function_argcount): If function needs to be autoloaded
5570         actually use the loaded definition.
5571         GCPRO function.
5572
5573 2000-08-05  Ben Wing  <ben@xemacs.org>
5574
5575         * getloadavg.c: add prototype for getloadavg().  remove
5576         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5577         of the code).  remove duplicate header includes.
5578
5579         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5580
5581         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5582         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5583         useful load average.
5584
5585         * alloc.c (reinit_alloc_once_early): removed references to
5586         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5587         the lisp vars are the only things referencing the malloc_sbrk_*
5588         vars, and they were already if 0'd out.  these vars only exist
5589         in the older malloc.c, which is basically unused, and they're
5590         only for informational purposes.
5591
5592         * m\*.h: removed useless VIRT_ADDR_VARIES.
5593
5594         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5595
5596 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5597
5598         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5599         color if the image is a mono pixmap.
5600
5601 2000-07-30  Ben Wing  <ben@xemacs.org>
5602
5603         * Makefile.in.in (release):
5604         Remove stray @.
5605
5606         * buffer.c (directory_is_current_directory):
5607         * dired-msw.c (mswindows_get_files):
5608         * dired.c:
5609         * dired.c (Fdirectory_files):
5610         * dired.c (file_name_completion_stat):
5611         * dired.c (Ffile_attributes):
5612         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5613         preprocessor tricks, to avoid problems on some machines
5614         (e.g. SCO).
5615
5616         * callproc.c (egetenv): GC docs.
5617
5618         * console-msw.h:
5619         * console-msw.h (struct mswindows_dialog_id):
5620         * lrecord.h (lrecord_type):
5621         New object for use with MSW dialogs.
5622
5623         * console.h (struct console_methods):
5624         New enable/disable frame methods, for proper modal dialogs.
5625
5626         * device-msw.c (msprinter_default_printer): Fix to follow
5627         proper Mule conventions.
5628
5629         * device-msw.c:
5630         * device-msw.c (signal_open_printer_error):
5631         * device-msw.c (msprinter_init_device):
5632         * device-msw.c (ensure_not_printing):
5633         * device-msw.c (plist_get_margin):
5634         * device-msw.c (Fmsprinter_select_settings):
5635         * device-msw.c (finalize_devmode):
5636         * device-msw.c (Fmsprinter_settings_despecialize):
5637         * device-msw.c (signal_enum_priner_error):
5638         * extents.c (decode_extent):
5639         * extents.c (decode_map_extents_flags):
5640         * extents.c (decode_extent_at_flag):
5641         * extents.c (Fextent_at):
5642         * extents.c (Fextents_at):
5643         * extents.c (symbol_to_glyph_layout):
5644         [[[[2]]]] Use structured errors.
5645
5646         * dialog-msw.c:
5647         * dialog-msw.c (mswindows_is_dialog_msg):
5648         * dialog-msw.c (mark_mswindows_dialog_id):
5649         * dialog-msw.c (dialog_proc):
5650         * dialog-msw.c (handle_question_dialog_box):
5651         * dialog-msw.c (syms_of_dialog_mswindows):
5652         Define new object to clean up marking; use it as a dialog identifier.
5653         Call new delete-dialog-box-hook.
5654
5655         * dialog-x.c (dbox_selection_callback):
5656         * dialog-x.c (dbox_descriptor_to_widget_value):
5657         * dialog-x.c (x_make_dialog_box_internal):
5658         Call new delete-dialog-box-hook.
5659         Return an id.
5660
5661         * dialog.c:
5662         * dialog.c (syms_of_dialog):
5663         * dialog.c (vars_of_dialog):
5664         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5665
5666         * eval.c:
5667         * eval.c (signal_call_debugger):
5668         when noninteractive, output stack traces on the console instead
5669         of in a (never-seen) buffer.
5670
5671         * eval.c (signal_type_error):
5672         * eval.c (invalid_argument_2):
5673         * lisp.h:
5674         new funs for use w/structured errors.
5675
5676         * event-Xt.c:
5677         * event-Xt.c (x_to_emacs_keysym):
5678         * event-Xt.c (describe_event):
5679         * event-Xt.c (emacs_Xt_event_handler):
5680         * event-Xt.c (vars_of_event_Xt):
5681         * event-msw.c:
5682         * event-msw.c (mswindows_wnd_proc):
5683         * event-msw.c (vars_of_event_mswindows):
5684         rename {x,mswindows}-debug-events to debug-{}-events for
5685         consistency with other debug-foo variables.
5686
5687         * event-stream.c:
5688         document next-event more clearly.
5689
5690         * fileio.c (Ffile_name_directory):
5691         * fileio.c (Ffile_name_nondirectory):
5692         * fileio.c (Funhandled_file_name_directory):
5693         * fileio.c (file_name_as_directory):
5694         * fileio.c (Ffile_name_as_directory):
5695         * fileio.c (directory_file_name):
5696         * fileio.c (Fdirectory_file_name):
5697         * fileio.c (Fmake_temp_name):
5698         * fileio.c (Ffile_truename):
5699         * fileio.c (Fsubstitute_in_file_name):
5700         * fileio.c (expand_and_dir_to_file):
5701         * fileio.c (barf_or_query_if_file_exists):
5702         * fileio.c (check_executable):
5703         * fileio.c (Ffile_exists_p):
5704         * fileio.c (Ffile_writable_p):
5705         * fileio.c (Ffile_directory_p):
5706         * fileio.c (Ffile_regular_p):
5707         * fileio.c (Ffile_modes):
5708         * fileio.c (Ffile_newer_than_file_p):
5709         * fileio.c (Fverify_visited_file_modtime):
5710         * fileio.c (Fset_visited_file_modtime):
5711         * fileio.c (auto_save_1):
5712         (1). (2).
5713         fix up gcpro's.
5714
5715         * frame-msw.c:
5716         * frame-msw.c (mswindows_init_frame_1):
5717         * frame-msw.c (mswindows_enable_frame):
5718         * frame-msw.c (error_frame_unsizable):
5719         * frame-msw.c (msprinter_init_frame_1):
5720         * frame-msw.c (msprinter_init_frame_3):
5721         * frame-msw.c (console_type_create_frame_mswindows):
5722         (2).
5723         implement new enable/disable frame methods.
5724
5725         * frame-x.c:
5726         * frame-x.c (x_enable_frame):
5727         * frame-x.c (console_type_create_frame_x):
5728         implement new enable/disable frame methods.
5729
5730         * frame.c:
5731         * frame.c (Fdisable_frame):
5732         * frame.c (syms_of_frame):
5733         * frame.h (struct frame):
5734         implement new enable/disable frame methods/functions.
5735
5736         * general-slots.h:
5737         add initial-focus.
5738
5739         * glyphs-msw.c (mswindows_widget_instantiate):
5740         comment that initial-focus should be implemented.
5741
5742         * glyphs-widget.c:
5743         * glyphs-widget.c (check_valid_instantiator):
5744         * glyphs-widget.c (check_valid_orientation):
5745         * glyphs-widget.c (check_valid_tab_orientation):
5746         * glyphs-widget.c (check_valid_justification):
5747         * glyphs-widget.c (check_valid_border):
5748         * glyphs-widget.c (check_valid_callback):
5749         * glyphs-widget.c (check_valid_int_or_function):
5750         * glyphs-widget.c (check_valid_string_or_vector):
5751         * glyphs-widget.c (check_valid_item_list_1):
5752         * glyphs-widget.c (widget_validate):
5753         * glyphs-widget.c (combo_box_validate):
5754         * glyphs-widget.c (widget_instantiate):
5755         * glyphs-widget.c (syms_of_glyphs_widget):
5756         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5757         * glyphs-widget.c (image_instantiator_combo_box):
5758         * glyphs-widget.c (image_instantiator_scrollbar):
5759         * glyphs-widget.c (image_instantiator_tab_control):
5760         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5761         (2).
5762         support (unimplemented) keyword initial-focus.
5763         reindent long macros.
5764
5765         * glyphs-x.c (x_redisplay_widget):
5766         * glyphs-x.c (x_button_instantiate):
5767         * glyphs-x.c (x_button_redisplay):
5768         * glyphs-x.c (x_progress_gauge_instantiate):
5769         * glyphs-x.c (x_edit_field_instantiate):
5770         * glyphs-x.c (x_combo_box_instantiate):
5771         * glyphs-x.c (x_tab_control_instantiate):
5772         * glyphs-x.c (x_label_instantiate):
5773         * gui-x.c:
5774         * gui-x.c (button_item_to_widget_value):
5775         * gui-x.c (gui_items_to_widget_values_1):
5776         * gui-x.c (gui_item_children_to_widget_values):
5777         * gui-x.c (gui_items_to_widget_values):
5778         * gui-x.h:
5779         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5780         add new flag to gui-parsing routines to indicate whether
5781         accelerator specs should be supported.
5782
5783         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5784
5785         * glyphs.h (struct Lisp_Image_Instance):
5786         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5787         add initial-focus flag.
5788
5789         * gui.c:
5790         * gui.c (syms_of_gui):
5791         * gui.c (vars_of_gui):
5792         clean up menu-no-selection-hook.
5793
5794         * gui.h:
5795         support delete-dialog-box-hook.
5796
5797         * lread.c (Fload_internal):
5798         * lread.c (locate_file_in_directory_mapper):
5799         (1).
5800
5801         * lrecord.h:
5802         * lrecord.h (struct toolbar_button):
5803         * lrecord.h (syms_of_toolbar):
5804         document how to create a new object.
5805
5806         * menubar-msw.c (mswindows_char_is_accelerator):
5807         may be called on frames w/o menus.
5808
5809         * menubar.c (vars_of_menubar):
5810         clean up :filter docs.
5811
5812         * nt.c (readdir):
5813         * ntproc.c:
5814         (1).
5815
5816         * process-nt.c:
5817         * process-nt.c (validate_signal_number):
5818         * process-nt.c (signal_cannot_launch):
5819         * process-nt.c (nt_create_process):
5820         * process-nt.c (nt_send_process):
5821         * process-nt.c (nt_kill_child_process):
5822         * process-nt.c (nt_open_network_stream):
5823         * process-nt.c (syms_of_process_nt):
5824         (2).
5825         delete quote-handling.  call new lisp code that does it better.
5826
5827         * process-unix.c (connect_to_file_descriptor):
5828         * process-unix.c (allocate_pty):
5829         * process-unix.c (unix_send_process):
5830         * process-unix.c (unix_kill_child_process):
5831         * process-unix.c (unix_open_network_stream):
5832         * process-unix.c (unix_open_multicast_group):
5833         (1). (2).
5834
5835         * process.c:
5836         * process.c (Fstart_process_internal):
5837         (2).  need to canonicalize process path even if absolute.
5838
5839         * select-msw.c (symbol_to_ms_cf):
5840         * select-msw.c (ms_cf_to_symbol):
5841         * select-msw.c (cf_is_autofreed):
5842         * select-msw.c (mswindows_destroy_selection):
5843         * select.c:
5844         * select.c (syms_of_select):
5845         * select.h:
5846         support dibv5, fix bugs. (from Mike Alexander)
5847
5848         * select.c (Fget_selection_internal):
5849         * select.c (select_convert_out):
5850
5851         * sysdep.c:
5852         * sysdep.c (xemacs_stat):
5853         renamed.
5854
5855         * sysdep.c (mkdir):
5856         * sysdep.c (rmdir):
5857         but keep original stat() here because we provide encapsulation
5858         around these funs.
5859
5860         * sysfile.h:
5861         * sysfile.h (fstat):
5862         remove stat garbage.
5863
5864         * syswindows.h:
5865         fix X/MSW conflict.
5866         don't include tchar.h.  it's inappropriate because it makes
5867         compile-time distinctions when we want runtime distinctions.
5868         (we provide our own tchar replacements)
5869
5870         * toolbar.c:
5871         use default object printer for toolbar-button.
5872
5873         * unexcw.c:
5874         make sure we don't encapsulate.
5875
5876         * window.c (vars_of_window):
5877         emphasize that temp-buffer-show-hook is obsolete.
5878
5879 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5880
5881         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5882         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5883
5884         * events.c (Fevent_timestamp_lessp):
5885         Not 64-bit clean.  Use EMACS_INT, not int.
5886
5887 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5888
5889         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5890         unsigned int and changed the last enum to
5891         lrecord_type_last_built_in_type.
5892         (lrecord_implementations_table): changed prototype to know how
5893         long the array is supposed to be.
5894         (lrecord_type_count): new unsigned int to keep track of the
5895         current number of lisp lrecord types.
5896         (DEFINE_EXTERNAL_LRECORD):
5897         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5898         dynamic-modules to declare new lisp types. They are the same
5899         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5900         int for each new type, and increment lrecord_type_count by 1.
5901
5902         * alloc.c (lrecord_implementations_table): Changed to reference
5903         lrecord_type_last_built_in_type for the size of the array.
5904         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5905
5906 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5907
5908         * glyphs.h (check_valid_item_list): Renamed from
5909         check_valid_item_list_1.
5910
5911 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5912
5913         * select.c (Qselect_coerce): New.
5914         * select.c (Vselection_coercion_alist): New.
5915         * select.c (syms_of_select): Declare.
5916         * select.c (get-selection-internal): Use it.
5917         Use the new select-coerce functionality.
5918
5919         * select.c (select_coerce): New.
5920         * select.h (select_coerce): Declare.
5921         New function to coerce one type of data into another.
5922
5923 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5924
5925         * callproc.c (Fcall_process_internal):
5926         (Fcall_process_internal):
5927         * process-unix.c (unix_create_process):
5928         Save and restore the value of errno, so that error messages are accurate.
5929
5930 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5931
5932         * elhash.c (print_hash_table):
5933         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5934         Prettify docstrings and indentation.
5935
5936 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5937
5938         * window.c (Fwindow_pixel_edges): Subtract frame border and
5939         gutter size.
5940
5941 2000-07-31  Andy Piper  <andy@xemacs.org>
5942
5943         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5944         will acknowledge the change.
5945
5946         * glyphs.h: declare tab_control_order_only_changed.
5947
5948         * glyphs-x.c (x_tab_control_redisplay): use
5949         tab_control_order_only_changed.
5950
5951         * glyphs-widget.c (tab_control_order_only_changed): new function.
5952
5953         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5954         tab_control_order_only_changed.
5955
5956         * gui.c (gui_item_equal_sans_selected): new function.
5957         (gui_item_equal): use it.
5958
5959         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5960         :properties in favor of :items..
5961
5962         * glyphs-widget.c (check_valid_item_list): rename from
5963         check_valid_item_list_1.
5964         (check_valid_item_list_1): renamed.
5965         (combo_box_validate): deprecate :properties in favor of :items.
5966         (widget_instantiate): ditto.
5967         (tab_control_update): ditto.
5968         (image_instantiator_combo_box): ditto.
5969         (image_instantiator_tree_view): ditto.
5970         (image_instantiator_tab_control): ditto.
5971         (layout_post_instantiate): remove dead code.
5972
5973         * print.c (debug_print_no_newline): only write to debugger if in
5974         WIN32_NATIVE.
5975
5976         * elhash.c (Fmake_hash_table): update doc string.
5977
5978         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5979         messages whilst in GC. This at least stops XEmacs crashing but has
5980         the potential for wierd behaviour.
5981
5982 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5983
5984         * config.h.in:
5985         Make existence of s&m files optional.
5986
5987         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5988         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5989         * s/gnu.h: Remove HAVE_GETLOADAVG.
5990         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5991         * s/sol2.h: Remove HAVE_GETLOADAVG.
5992         * lisp.h: Remove getloadavg() declaration.
5993         * fns.c:
5994         Include <sys/loadavg.h> if available.
5995         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5996         * config.h.in:  Group together getloadavg()-related macros.
5997         Use only configure-time tests to detect getloadavg().
5998
5999 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6000
6001         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6002
6003 2000-07-25  Andy Piper  <andy@xemacs.org>
6004
6005         * syswindows.h: add tchar.h for native builds.
6006
6007         * frame.c (syms_of_frame): remove set-glyph-image.
6008
6009         * general-slots.h: add Qset_glyph_image.
6010
6011         * glyphs-widget.c (layout_update): add domain arg to
6012         set-glyph-image.
6013         (syms_of_glyphs_widget): remove set-glyph-image.
6014
6015 2000-07-23  Ben Wing  <ben@xemacs.org>
6016
6017         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6018         Vpopup_frame_list.
6019
6020 2000-07-22  Andy Piper  <andy@xemacs.org>
6021
6022         * symsinit.h: add syms_of_win32().
6023
6024         * gui-msw.c (syms_of_gui_mswindows): remove
6025         Fmswindows_shell_execute.
6026         (Fmswindows_shell_execute): moved to win32.c.
6027
6028         * emacs.c (main_1): add syms_of_win32 ().
6029
6030         * win32.c (init_potentially_nonexistent_functions): rewrite in
6031         compiler-friendly terms.
6032         (Fmswindows_shell_execute): move here from gui-msw.c.
6033         (syms_of_win32): new.
6034
6035         * device-msw.c (Fmswindows_printer_list): clean up args to
6036         EnumPrinters.
6037         Don't include tchar under cygwin or mingw.
6038         (msprinter_default_printer): make cygwin-friendly.
6039
6040 2000-07-21  Andy Piper  <andy@xemacs.org>
6041
6042         * glyphs-widget.c (image_instantiator_tree_view): use tab
6043         control's update function.
6044         (layout_property): new function. Retrieve items.
6045
6046         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6047         function. Re-populate the tree view from the pending items.
6048
6049         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6050         is designated the parent if the domain is an image instance. This
6051         is needed so that dirtiness can be cascade up the hierarchy and
6052         thus for layout children to be redisplayed correctly.
6053         (allocate_image_instance): rename glyph -> parent.
6054
6055         * redisplay.h: change redisplay_output_layout signature.
6056
6057         * redisplay-msw.c (mswindows_output_display_block): use domain
6058         arg.
6059
6060         * redisplay-x.c (x_output_display_block): use domain arg.
6061
6062 2000-07-10  Andy Piper  <andy@xemacs.org>
6063
6064         * window.c (Fset_window_configuration): add comment.
6065
6066         * redisplay-output.c (compare_runes):
6067         (redisplay_output_subwindow): redisplay rather than update subwindow.
6068         (redisplay_output_layout): ditto.
6069
6070         * redisplay-msw.c (mswindows_frame_output_end):
6071         (mswindows_frame_output_end): make defer window pos optional.
6072
6073         * lisp.h: add Flast.
6074
6075         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6076         normalize method. Change update method to be for changed
6077         instantiators. Add redisplay method. Change signature of layout
6078         method.
6079         (struct Lisp_Image_Instance): add instantiator.
6080         (IMAGE_INSTANCE_INSTANTIATOR): new.
6081         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6082         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6083         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6084
6085         * glyphs.c:
6086         (find_instantiator_differences): new function.
6087         (Fset_instantiator_property): new convenience function.
6088         (check_image_instance_structure): strictly check for vector
6089         instantiators.
6090         (normalize_image_instantiator): make non-static.
6091         (instantiate_image_instantiator): pass on dest_mask and use new
6092         signatures for image_instance_layout and friends.
6093         (mark_image_instance): mark the instantiator. Mark the subwindow
6094         face not the widget face.
6095         (image_instance_equal): add instantiator.
6096         (image_instance_hash): ditto.
6097         (allocate_image_instance): ditto.
6098         (Fset_image_instance_property): removed.
6099         (Fimage_instance_file_name): ditto.
6100         (Fcolorize_image_instance): ditto.
6101         (image_instance_layout): add offsets to be set.
6102         (update_image_instance): new function. update an image instance
6103         from its changed instantiator.
6104         (inherit_normalize): add dest_mask.
6105         (xbm_normalize): ditto.
6106         (xface_normalize): ditto.
6107         (xpm_normalize): ditto.
6108         (text_update): set_property -> update.
6109         (image_instantiate): use the glyph identity as a hash key, not the
6110         instantiator.
6111         (glyph_width): use new image_instance_layout signature.
6112         (glyph_ascent): ditto.
6113         (glyph_descent): ditto.
6114         (glyph_height): ditto.
6115         (glyph_query_geometry): ressurrect.
6116         (glyph_layout): ditto.
6117         (redisplay_subwindow): update -> redisplay.
6118         (syms_of_glyphs): add Fset_instantiator_property.
6119         (image_instantiator_format_create): set_property -> update.
6120
6121         * glyphs-x.c:
6122         (autodetect_normalize): add dest_maks to signature.
6123         (x_redisplay_subwindow): update -> redisplay.
6124         (x_redisplay_widget): ditto.
6125         (x_button_redisplay): ditto.
6126         (x_progress_gauge_redisplay): ditto.
6127         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6128         stacking order.
6129         (console_type_create_glyphs_x): update -> redisplay.
6130         (image_instantiator_format_create_glyphs_x): ditto.
6131
6132         * glyphs-widget.c:
6133         (check_valid_instantiator): disallow glyphs in the instantiator,
6134         they must now be vectors.
6135         (check_valid_instantiator_list): ditto.
6136         (glyph_instantiator_to_glyph): use internal symbol rather than
6137         intern.
6138         (widget_update): renamed from widget_set_property. Call cascaded
6139         update methods.
6140         (redisplay_widget): renamed from update_widget.
6141         (widget_layout): image_instance_layout now takes position as well
6142         as size.
6143         (widget_normalize): ditto.
6144         (widget_instantiate): ditto.
6145         (tab_control_query_geometry) ditto.:
6146         (tab_control_update): renamed from tab_control_set_property.
6147         (progress_gauge_update): set_property -> update.
6148         (layout_normalize): rewrite so that child instantiators are
6149         normalized also.
6150         (layout_update): new function. Create glyphs from the normalized
6151         children and cope with any other layout keywords. We do not
6152         instantiate children here that will be take care of by
6153         redisplay_output_layout.
6154         (layout_instantiate): call layout_update and not much else.
6155         (layout_post_instantiate): not sure whether this is needed
6156         anymore.
6157         (layout_query_geometry): query glyph geometry rather than
6158         image_instance geometry.
6159         (layout_layout): set offsets from pass in parameters. Use glyph
6160         geometry and layout functions rather than image instance ones.
6161         (native_layout_layout): ditto.
6162         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6163         (image_instantiator_widget): set_property -> update.
6164         (image_instantiator_buttons): ditto.
6165         (image_instantiator_progress_guage): ditto.
6166         (image_instantiator_tab_control): ditto.
6167         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6168         (image_instantiator_layout): add update method.
6169
6170         * glyphs-msw.c (bmp_normalize):
6171         (mswindows_resource_normalize): add dest_mask so that it can be
6172         proprogated by layout_normalize.
6173         (begin_defer_window_pos): make optional because it may not be the
6174         right thing to do and it introduces differences with X.
6175         (mswindows_unmap_subwindow): ditto.
6176         (mswindows_map_subwindow): ditto.
6177         (mswindows_redisplay_subwindow): renamed from
6178         mswindows_update_subwindow.
6179         (mswindows_redisplay_widget): ditto.
6180         (mswindows_button_redisplay): renamed from
6181         mswindows_button_update. Update is now what the instantiation
6182         function does for a changed instantiator.
6183         (mswindows_progress_gauge_instantiate): set the progress value
6184         here if appropriate.
6185         (mswindows_tab_control_redisplay): cope with re-ordering of the
6186         members of the tab widget by simply selecting the new top
6187         widget. This makes things appear ok if you click on a tab.
6188         (mswindows_combo_box_instantiate): image_instance_layout now takes
6189         position as well as size.
6190         (mswindows_progress_gauge_redisplay): renamed from
6191         mswindows_progress_gauge_update.
6192         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6193         (image_instantiator_format_create_glyphs_mswindows): ditto.
6194
6195         * glyphs-eimage.c (jpeg_normalize):
6196         (gif_normalize):
6197         (png_normalize):
6198         (tiff_normalize): add dest_mask so that it can be proprogated by
6199         layout_normalize.
6200
6201         * elhash.c:
6202         (print_hash_table):
6203         (hash_table_weakness_validate):
6204         (decode_hash_table_weakness):
6205         (Fhash_table_weakness):
6206         (Fhash_table_type):
6207         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6208
6209         * console.h (struct console_methods): move update_* to
6210         redisplay_*.
6211
6212 2000-07-20  Ben Wing  <ben@xemacs.org>
6213
6214         * *.[ch] (XSETOBJ): remove unused middle argument.
6215         lisp-disunion.h: correct wrap_object() to one argument.
6216
6217 2000-07-15  Ben Wing  <ben@xemacs.org>
6218
6219         * s/cygwin32.h:
6220         * s/cygwin32.h (CYGWIN_CONV_PATH):
6221         Add missing logb prototype for v1.1.
6222         Use post-b20 names and alias to pre-b20 names when pre-b20.
6223
6224         * s/windowsnt.h: [5].
6225
6226 2000-07-15  Ben Wing  <ben@xemacs.org>
6227
6228         * Makefile.in.in (x_objs):
6229         * Makefile.in.in (sheap_objs):
6230         * Makefile.in.in (objs):
6231         added win32.o, cosmetic cleanups.
6232
6233         * alloc.c (Fmake_byte_code):
6234         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6235         etc. macros which declare their own args now.
6236
6237         * alloc.c (syms_of_alloc):
6238         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6239
6240         * buffer.c:
6241         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6242
6243         * buffer.c (Fget_file_buffer):
6244         Fixed GCPRO problem.
6245
6246         * buffer.c (get_truename_buffer):
6247         Fixed comment about GC checking.
6248
6249         * buffer.c (syms_of_buffer):
6250         Undeclared those dedicated frame funs.
6251         [2].
6252
6253         * buffer.h:
6254         Define convenience macros for internal/external conversions.
6255         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6256         and Qenvironment_variable_encoding for cleaner code.
6257
6258         * bufslots.h:
6259         Remove dedicated-frame; in lisp.
6260
6261         * bytecode.c (funcall_compiled_function):
6262         [1].
6263
6264         * bytecode.c (syms_of_bytecode):
6265         [2].
6266
6267         * console-msw.c:
6268         * console-msw.c (mswindows_show_console): Rewrote.
6269
6270         * console-msw.c (Fmswindows_debugging_output): New.
6271         Sends to OutputDebugString (special MSWin debugger interface).
6272
6273         * console-msw.c (Fmswindows_message_box):
6274         Fixed stupid bugs so it works when called from kill-emacs.
6275
6276         * console-msw.c (syms_of_console_mswindows):
6277         Declare Fmswindows_debugging_output.
6278
6279         * console-msw.h:
6280         New MSWin prototypes.
6281
6282         * console-msw.h (struct mswindows_frame):
6283         New entry last-click-mods for improved button-modifier support.
6284
6285         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6286         New struct entry `popup' with corresponding accessor.
6287
6288         * console-x.c:
6289         * console-x.c (split_up_display_spec):
6290         * console-x.c (get_display_arg_connection):
6291         * console-x.c (x_semi_canonicalize_console_connection):
6292         * console-x.c (x_canonicalize_device_connection):
6293         [[[6]]]: Change char to more specific type.
6294         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6295
6296         * console-x.c (x_semi_canonicalize_console_connection):
6297         * console-x.c (x_canonicalize_device_connection):
6298         [[[9]]]: Fix up error signalling to use new structured error system.
6299
6300         * console-x.h:
6301         [[[4]]]: Define codesys aliases:
6302         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6303         Qx_color_name_encoding, Qx_display_name_encoding.
6304
6305         * console.h (struct console_methods):
6306         New method make_dialog_box_internal supersedes older
6307         popup_dialog_box method.
6308
6309         * data.c:
6310         Define many new errors, part of new structured errors.
6311
6312         * data.c (init_errors_once_early):
6313         * data.c (syms_of_data):
6314         [2].
6315
6316         * device-msw.c (mswindows_init_device):
6317         [[[5]]]: Cleanup to support NT 3.51.
6318
6319         * device-msw.c (decode_devmode): Cleanup.
6320
6321         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6322         * device-msw.c (mswindows_handle_print_dialog_box):
6323         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6324         * device-msw.c (syms_of_device_mswindows):
6325         Delete the dialog box primitives recently introduced by Kirill and
6326         instead interface to general dialog box interface.
6327
6328         * device-x.c:
6329         * device-x.c (compute_x_app_name):
6330         * device-x.c (x_init_device):
6331         * device-x.c (Fx_valid_keysym_name_p):
6332         * device-x.c (Fx_set_font_path):
6333         [6].
6334         [7].
6335
6336         * device.h (wrap_device): New.
6337         First of its kind; meant to replace XSETDEVICE.
6338
6339         * dialog-msw.c: Many file-dialog symbols.
6340
6341         * dialog-msw.c (mswindows_register_popup_frame): New.
6342         * dialog-msw.c (mswindows_is_dialog_msg): New.
6343         For supporting kbd traversal in dialog boxes.
6344
6345         * dialog-msw.c (dialog_proc):
6346         Support hitting ESC in dialogs.
6347
6348         * dialog-msw.c (struct):
6349         Common dialog box errors.
6350
6351         * dialog-msw.c (handle_file_dialog_box): New.
6352         Add file dialog code.
6353
6354         * dialog-msw.c (handle_question_dialog_box):
6355         Redo existing code to support new question dialog syntax.
6356
6357         * dialog-msw.c (console_type_create_dialog_mswindows):
6358         We support new dialog console method.
6359
6360         * dialog-msw.c (syms_of_dialog_mswindows):
6361         * dialog-msw.c (vars_of_dialog_mswindows):
6362         New file dialog symbols, vars.
6363
6364         * dialog-x.c:
6365         * dialog-x.c (maybe_run_dbox_text_callback):
6366         * dialog-x.c (dbox_descriptor_to_widget_value):
6367         * dialog-x.c (x_make_dialog_box_internal):
6368         * dialog-x.c (console_type_create_dialog_x):
6369         Mule-ize entire file.
6370         Redo to support question dialog syntax.
6371         [6].
6372
6373         * dialog.c:
6374         * dialog.c (Fmake_dialog_box_internal):
6375         * dialog.c (syms_of_dialog):
6376         Kill old popup-dialog-box, replace with new primitive.
6377         Just call device method or signal error.
6378
6379         * eldap.c (Fldap_open):
6380         * eldap.c (Fldap_search_basic):
6381         * eldap.c (Fldap_add):
6382         * eldap.c (Fldap_modify):
6383         [1].
6384         [7].
6385
6386         * emacs.c:
6387         * emacs.c (make_arg_list_1):
6388         * emacs.c (make_arg_list):
6389         Mule-ize call to dll_init().
6390         [6].
6391         [8].
6392
6393         * emacs.c (make_argc_argv):
6394         * emacs.c (free_argc_argv):
6395         * emacs.c (init_cmdargs):
6396         * emacs.c (main_1):
6397         * emacs.c (Fkill_emacs):
6398         * emacs.c (Fdump_emacs):
6399         Update comments about what can be used in syms_* etc.
6400         Call init_win32() when necessary.
6401         Fix up MS Win dialog box in kill-buffer to actually work right.
6402         [7].
6403
6404         * eval.c:
6405         * eval.c (For):
6406         * eval.c (Fand):
6407         * eval.c (Fprogn):
6408         * eval.c (Fprog1):
6409         * eval.c (Fprog2):
6410         * eval.c (FletX):
6411         * eval.c (Flet):
6412         * eval.c (condition_case_3):
6413         * eval.c (Feval):
6414         * eval.c (function_argcount):
6415         * eval.c (funcall_lambda):
6416         [1].
6417
6418         * eval.c (type_error): New.
6419         * eval.c (maybe_type_error): New.
6420         * eval.c (continuable_type_error): New.
6421         * eval.c (maybe_continuable_type_error): New.
6422         * eval.c (type_error_with_frob): New.
6423         * eval.c (maybe_type_error_with_frob): New.
6424         * eval.c (continuable_type_error_with_frob): New.
6425         * eval.c (maybe_continuable_type_error_with_frob): New.
6426         New functions for use with structured errors.
6427
6428         * event-Xt.c:
6429         * event-Xt.c (x_event_to_emacs_event):
6430         Buttons are now modifiers too.
6431
6432         * event-Xt.c (emacs_Xt_current_event_timestamp):
6433         Implement new event method.
6434         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6435
6436         * event-msw.c:
6437         * event-msw.c (ntpipe_shove_writer): [5].
6438         * event-msw.c (mswindows_enqueue_mouse_button_event):
6439         * event-msw.c (mswindows_drain_windows_queue):
6440         * event-msw.c (mswindows_wnd_proc): [7].
6441         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6442         * event-msw.c (mswindows_modifier_state):
6443         Throughout: support new button modifiers.
6444
6445         * event-msw.c (emacs_mswindows_current_event_timestamp):
6446         Implement new event method.
6447         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6448
6449         * event-stream.c:
6450         * event-stream.c (event_stream_current_event_timestamp): New.
6451         * event-stream.c (maybe_kbd_translate): New functionality.
6452         * event-stream.c (vars_of_event_stream):
6453         Document new kbd-translate-table functionality.
6454
6455         * event-stream.c (Fcurrent_event_timestamp): New.
6456         New primitive for use in fabricated events.
6457         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6458
6459         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6460
6461         * events.c:
6462         * events.c (Fmake_event):
6463         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6464         [1].
6465         [9].
6466
6467         * events.c (format_event_object): fix gcc warnings.
6468
6469         * events.c (Fevent_timestamp): Document new primitives.
6470
6471         * events.c (TIMESTAMP_HALFSPACE): New.
6472
6473         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6474         comparing timestamps correctly (half-space algorithm).
6475
6476         * events.c (Fevent_modifier_bits): Doc fix.
6477
6478         * events.c (Fevent_modifiers): Major doc addition.
6479         * events.c (event_x_y_pixel_internal): Typo fix.
6480         * events.c (syms_of_events): Declare new primitives.
6481
6482         * events.h:
6483         Update long comment for button modifiers, timestamps.
6484
6485         * events.h (struct event_stream):
6486         New current_event_timestamp method.
6487
6488         * extents.c:
6489         * extents.c (extent_in_region_p):
6490         * extents.c (decode_extent):
6491         * extents.c (Fset_extent_parent):
6492         * extents.c (decode_map_extents_flags):
6493         Fix gcc warnings.
6494         [9].
6495
6496         * extents.c (struct extent_at_arg):
6497         * extents.c (decode_extent_at_flag):
6498         * extents.c (extent_at_mapper):
6499         * extents.c (extent_at_bytind):
6500         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6501         * extents.c (Fextents_at): New primitive. [9].
6502         * extents.c (symbol_to_glyph_layout): [9].
6503         Support new primitive `extents-at'.
6504
6505
6506         * extents.c (get_text_property_bytind):
6507         extent_at_bytind has another arg.
6508         [9].
6509
6510         * extents.c (syms_of_extents): New primitive.
6511
6512         * file-coding.c (Fmake_coding_system): [1].
6513         * file-coding.c (subsidiary_coding_system): fix gcc warning
6514         * file-coding.c (syms_of_file_coding): [2].
6515
6516         * fileio.c (Fexpand_file_name):
6517         * fileio.c (Fsysnetunam):
6518         * fileio.c (Ffile_exists_p):
6519         * fileio.c (Ffile_executable_p):
6520         * fileio.c (Fverify_visited_file_modtime):
6521         Clean up GCPROing.
6522
6523         * fileio.c (syms_of_fileio): [2].
6524
6525         * filelock.c (lock_file_1):
6526         * filelock.c (current_lock_owner):
6527         * filelock.c (lock_if_free):
6528         * filelock.c (lock_file):
6529         * filelock.c (unlock_file):
6530         Clean up GCPROing.
6531
6532         * fns.c (concat): Fix gcc warning.
6533
6534         * fns.c (Fmember):
6535         * fns.c (Fold_member):
6536         * fns.c (Fmemq):
6537         * fns.c (Fold_memq):
6538         * fns.c (memq_no_quit):
6539         * fns.c (Fassoc):
6540         * fns.c (Fold_assoc):
6541         * fns.c (Fassq):
6542         * fns.c (Fold_assq):
6543         * fns.c (assq_no_quit):
6544         * fns.c (Frassoc):
6545         * fns.c (Fold_rassoc):
6546         * fns.c (Frassq):
6547         * fns.c (Fold_rassq):
6548         * fns.c (rassq_no_quit):
6549         * fns.c (Fdelete):
6550         * fns.c (Fold_delete):
6551         * fns.c (Fdelq):
6552         * fns.c (Fold_delq):
6553         * fns.c (delq_no_quit):
6554         * fns.c (Fremassoc):
6555         * fns.c (Fremassq):
6556         * fns.c (remassq_no_quit):
6557         * fns.c (Fremrassoc):
6558         * fns.c (Fremrassq):
6559         * fns.c (remrassq_no_quit):
6560         * fns.c (Freverse):
6561         * fns.c (mapcar1):
6562         [1].
6563
6564         * frame-msw.c (mswindows_init_frame_1):
6565         * frame-msw.c (mswindows_delete_frame):
6566         Register popups with dialog code so keyboard traversing works.
6567
6568         * frame-tty.c (tty_raise_frame_no_select): [1].
6569
6570         * frame-x.c:
6571         * frame-x.c (x_set_frame_text_value):
6572         * frame-x.c (x_set_frame_properties):
6573         * frame-x.c (x_create_widgets):
6574         [7].
6575
6576         * frame.c:
6577         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6578
6579         * frame.h (wrap_frame): New.
6580         Macro like wrap_device.
6581
6582         * general.c:
6583         * general.c (SYMBOL):
6584         * general.c (syms_of_general):
6585         Major reorg.  This is now just a wrapper and symbols themselves
6586         are listed in general-slots.h.
6587
6588         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6589         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6590
6591         * glyphs-msw.c (mswindows_native_layout_instantiate):
6592         Add DS_CONTROL so keyboard traversal will work.
6593
6594         * glyphs-widget.c:
6595         * glyphs-widget.c (syms_of_glyphs_widget):
6596         Move some symbols to general-slots.h.
6597
6598         * glyphs-x.c:
6599         * glyphs-x.c (xbm_instantiate_1):
6600         * glyphs-x.c (x_xbm_instantiate):
6601         * glyphs-x.c (x_xface_instantiate):
6602         * glyphs-x.c (autodetect_instantiate):
6603         * glyphs-x.c (cursor_font_instantiate):
6604         * glyphs-x.c (x_update_widget):
6605         * glyphs-x.c (x_widget_instantiate):
6606         * glyphs.c (bitmap_to_lisp_data):
6607         * glyphs.c (pixmap_to_lisp_data):
6608         [7].
6609
6610         * glyphs.c (syms_of_glyphs):
6611         [2].
6612
6613         * gui-x.c:
6614         * gui-x.c (print_widget_value):
6615         * gui-x.c (menu_separator_style_and_to_external):
6616         * gui-x.c (add_accel_and_to_external):
6617         * gui-x.c (button_item_to_widget_value):
6618         * gui-x.c (gui_items_to_widget_values_1):
6619         * gui-x.c (gui_items_to_widget_values):
6620         * gui-x.c (syms_of_gui_x):
6621         * gui-x.c (vars_of_gui_x):
6622         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6623         [9].
6624
6625         * gui-x.h:
6626         Muleize, prototype changes matching gui-x.c.
6627
6628         * gui.c:
6629         * gui.c (separator_string_p):
6630         * gui.c (gui_item_add_keyval_pair):
6631         * gui.c (make_gui_item_from_keywords_internal):
6632         * gui.c (signal_too_long_error):
6633         * gui.c (parse_gui_item_tree_item):
6634         * gui.c (syms_of_gui):
6635         * gui.c (vars_of_gui):
6636         * gui.h:
6637         menu-no-selection-hook moved here (used by MSWin).
6638         Move some symbols to general-slots.h.
6639         [6].
6640         [9].
6641
6642         * insdel.c (get_buffer_pos_char):
6643         * insdel.c (get_buffer_range_char):
6644         Add GC comments.
6645
6646         * keymap.c (keymap_lookup_directly):
6647         * keymap.c (keymap_store):
6648         * keymap.c (ensure_meta_prefix_char_keymapp):
6649         * keymap.c (describe_map):
6650         * keymap.h:
6651         Support new button modifiers.
6652
6653         * lisp-disunion.h (wrap_object):
6654         * lisp-disunion.h (XSETOBJ):
6655         Rename make_obj to wrap_object.
6656
6657         * lisp-union.h:
6658         * lisp-union.h (make_int):
6659         * lisp-union.h (make_char):
6660         Support wrap_object.
6661
6662         * lisp.h:
6663         * lisp.h (LIST_LOOP):
6664         * lisp.h (EXTERNAL_LIST_LOOP):
6665         * lisp.h (LIST_LOOP_2):
6666         * lisp.h (EXTERNAL_LIST_LOOP_1):
6667         * lisp.h (EXTERNAL_LIST_LOOP_2):
6668         * lisp.h (EXTERNAL_LIST_LOOP_3):
6669         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6670         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6671         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6672         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6673         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6674         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6675         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6676         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6677         * lisp.h (struct Lisp_Symbol):
6678         * lisp.h (maybe_continuable_error_with_frob):
6679         Fix up section comments.
6680         Add new types for char to indicate usage.
6681         Delete symbols auto-generated from general-slots.h.
6682         Add prototypes for structured error functions.
6683         Add long comments describing looping macros and change interface
6684         so that lvalues are automatically declared.
6685         Add NO_DECLARE macro in case callers want to declare lvalues
6686         themselves.
6687
6688         * lread.c (read_syntax_error):
6689         * lread.c (continuable_read_syntax_error):
6690         * lread.c (read_structure):
6691         * lread.c (sequence_reader):
6692         * lread.c (read_list_conser):
6693         * lread.c (read_compiled_function):
6694         Rename syntax_error and continuable_syntax_error to avoid clash
6695         with same-named structured error functions.
6696
6697         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6698         * menubar-msw.c (populate_menu_add_item):
6699         * menubar-msw.c (populate_or_checksum_helper):
6700         [5].
6701         [9].
6702
6703         * menubar-x.c:
6704         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6705         Mule-ize whole file.
6706
6707         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6708
6709         * mule-charset.c (Fmake_charset):
6710         * mule-wnnfns.c (Fwnn_set_param):
6711         [1].
6712
6713         * ntproc.c (create_child):
6714         * ntproc.c (Fwin32_set_current_locale):
6715         Add comments portending doom.
6716
6717         * objects-msw.c:
6718         * objects-msw.c (old_font_enum_callback_2):
6719         * objects-msw.c (font_enum_callback_1):
6720         * objects-msw.c (mswindows_enumerate_fonts):
6721         [5].
6722
6723         * objects-x.c:
6724         * objects-x.c (allocate_nearest_color):
6725         * objects-x.c (x_parse_nearest_color):
6726         * objects-x.c (x_initialize_color_instance):
6727         * objects-x.c (x_print_color_instance):
6728         * objects-x.c (x_finalize_color_instance):
6729         * objects-x.c (x_valid_color_name_p):
6730         * objects-x.c (x_initialize_font_instance):
6731         * objects-x.c (x_print_font_instance):
6732         * objects-x.c (valid_x_font_name_p):
6733         * objects-x.c (truename_via_FONT_prop):
6734         * objects-x.c (truename_via_random_props):
6735         * objects-x.c (truename_via_XListFonts):
6736         * objects-x.c (x_font_truename):
6737         * objects-x.c (x_font_instance_truename):
6738         * objects-x.c (x_font_instance_properties):
6739         * objects-x.c (x_list_fonts):
6740         * objects-x.c (x_find_charset_font):
6741         Mule-ize entire file.
6742         [7].
6743
6744         * objects-x.h:
6745         Mule-verify.
6746
6747         * print.c:
6748         * print.c (std_handle_out_external):
6749         * print.c (debug_print_no_newline):
6750         * print.c (syms_of_print):
6751         Output to all debugger kinds in debug-print.
6752         Fix console-output code under MSWin to actually work.
6753
6754         * process-nt.c (send_signal):
6755         * process-nt.c (nt_create_process):
6756         Use newer Unicode macros.
6757
6758         * process-unix.c (unix_create_process):
6759         * process-unix.c (unix_canonicalize_host_name):
6760         * process-unix.c (unix_open_network_stream):
6761         [7].
6762
6763         * scrollbar-x.c:
6764         Mule-verify.
6765
6766         * search.c (syms_of_search):
6767         [2].
6768
6769         * select-msw.c (mswindows_destroy_selection):
6770         Use LIST_LOOP_2.
6771
6772         * select-x.c (symbol_to_x_atom):
6773         [7].
6774
6775         * select.c (syms_of_select):
6776         [2].
6777
6778         * sound.c (Fplay_sound_file):
6779         [7].
6780
6781         * specifier.c:
6782         * specifier.c (decode_specifier_type):
6783         * specifier.c (Fvalid_specifier_locale_type_p):
6784         * specifier.c (check_valid_locale_or_locale_type):
6785         * specifier.c (decode_locale):
6786         * specifier.c (decode_locale_type):
6787         * specifier.c (decode_locale_list):
6788         * specifier.c (check_valid_domain):
6789         * specifier.c (decode_specifier_tag_set):
6790         * specifier.c (Fcanonicalize_tag_set):
6791         * specifier.c (Fdefine_specifier_tag):
6792         * specifier.c (Fspecifier_tag_predicate):
6793         * specifier.c (check_valid_inst_list):
6794         * specifier.c (check_valid_spec_list):
6795         * specifier.c (decode_how_to_add_specification):
6796         * specifier.c (check_modifiable_specifier):
6797         * specifier.c (specifier_add_spec):
6798         * specifier.c (boolean_validate):
6799         * specifier.c (display_table_validate):
6800         [9].
6801
6802         * specifier.c (syms_of_specifier):
6803         Move some symbols to general-slots.h.
6804         [2].
6805
6806         * symbols.c:
6807         * symbols.c (Fmapatoms):
6808         * symbols.c (Fapropos_internal):
6809         Add GCPROs.
6810
6811         * symbols.c (set_default_buffer_slot_variable):
6812         * symbols.c (set_default_console_slot_variable):
6813         [1].
6814
6815         * symbols.c (defsymbol_massage_name_1):
6816         * symbols.c (defkeyword_massage_name):
6817         * symbols.c (deferror_1):
6818         * symbols.c (deferror):
6819         * symbols.c (deferror_massage_name_and_message):
6820         * symeval.h:
6821         * symeval.h (DEFSYMBOL):
6822         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6823
6824         * symbols.c (syms_of_symbols):
6825         [2].
6826
6827         * symsinit.h:
6828         * symsinit.h (init_win32): New.
6829         Also new is syms_of_dialog_mswindows.
6830
6831         * syswindows.h:
6832         Add new Unicode macros, missing Cygwin wide-char functions,
6833         convenience conversion macros for Qmswindows_tstr, macros for
6834         encapsulating required MSWin <-> Cygwin filename conversions,
6835         prototype for dynamically-extracted (not in NT 3.51) functions.
6836
6837         * toolbar-x.c:
6838         Mule-verify.
6839
6840         * tooltalk.c (Fadd_tooltalk_message_arg):
6841         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6842         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6843         [7].
6844
6845         * tooltalk.c (syms_of_tooltalk):
6846         [2].
6847
6848         * unexnt.c:
6849         * unexnt.c (unexec):
6850         Fix up headers, declaration of unexec() to be more standard.
6851
6852 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6853
6854         * offix.h: Revert change to guard macros - they're used in offix.c!
6855
6856 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6857
6858         * lisp.h: Defsubred Fdelete.
6859
6860         * console-msw.h:  (msprinter_default_printer): Added.
6861
6862         * console-msw.c (msprinter_canonicalize_console_connection):
6863         (msprinter_canonicalize_device_connection): Added.
6864
6865         * device-msw.c (msprinter_default_printer):
6866         (Fmswingows_get_default_printer):
6867         (signal_enum_priner_error):
6868         (Fmswingows_printer_list): Added.
6869
6870 2000-07-19  Martin Buchholz <martin@xemacs.org>
6871
6872         * XEmacs 21.2.35 is released.
6873
6874 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6875
6876         * select-x.c (x_handle_selection_request):
6877         Text selected in xemacs and pasted into xterm failed to appear.
6878         Spelling fixes and cosmetic changes.
6879
6880 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6881
6882         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6883         XEmacs frame (fix for doubling chars in dialog boxes).
6884
6885 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6886
6887         * select.c (select_convert_in, select_convert_out):
6888         Don't call intern() every time.
6889
6890         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6891         * select.c (vars_of_select): Initialise them.
6892
6893 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6894
6895         * select.c (selection-coercible-types): New.
6896
6897         * select.c (own-selection-internal):
6898         * select.c (get-selection-internal):
6899         MULE bug fix - these should default to COMPOUND_TEXT and not
6900         STRING for MULE. I think.
6901
6902         * select.c (select_convert_out): Use selection-coercible-types
6903         to find types that we can attempt to perform coercions on.
6904
6905 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6906
6907         * mule-wnnfns.c:
6908         * mule-canna.c:
6909         Add coding: cookie to identify encoding.
6910
6911         * mule-canna.c (CANNA_mode_keys): make static.
6912         Use proper prototypes, even for functions of no arguments.
6913         Remove external prototype for Fding().
6914
6915         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6916
6917         * select.c (syms_of_select): Add missing DEFSUBR.
6918
6919 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6920
6921         * select.c (get_selection_internal, own_selection_internal):
6922         Make the type default to STRING, rather than placing a nil type
6923         into Vselection_alist.
6924
6925 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6926
6927         * gpmevent.c (tty_selection_exists_p):
6928         * gpmevent.c (tty_own_selection):
6929         Updated parameter lists.
6930
6931 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6932
6933         * select.h (selection-alist): Removed declaration.
6934
6935         * select.h (get_local_selection):
6936         * select.c (get_local_selection):
6937         Made static.
6938
6939         * select.h (convert_selection): Removed declaration.
6940         * select.c (convert_selection): Removed.
6941         This function belongs in Lisp.
6942
6943         * select.h (select_convert_in): Declare.
6944         * select.h (select_convert_out): Declare.
6945         * select.c (select_convert_in): New.
6946         * select.c (select_convert_out): New.
6947         New conversion functions for other files to call.
6948
6949         * select.h (select_notify_buffer_kill): Declare.
6950         * select.c (select_notify_buffer_kill): New.
6951         New functions that get called from kill-buffer.
6952
6953         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6954         X-specific lisp code.
6955
6956         * select.h: Declare some of the lisp-visible functions for
6957         external use.
6958
6959         * select.c (clean_local_selection_data): Removed. This was
6960         a disgusting function, and previously should have been in
6961         select-x.c in any case. The functionality is now provided
6962         in select-convert-from-integer (select.el).
6963
6964         * select.c (available-selection-types): Fixed stupidity where
6965         INTEGER and ATOM got added twice. Also add STRING when we see an
6966         extent.
6967
6968         * select.c (get-selection-internal): Removed symbol stripping. No
6969         longer causes conversion when data comes from the internal cache.
6970
6971         * select.c (syms_of_select): Added new functions.
6972
6973         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6974         error checking - previously this called abort!
6975
6976         * select-x.c (x_own_selection): Changed comment.
6977
6978         * select-x.c (x_handle_selection_request): Use select_convert_out.
6979         Don't mess with selection-alist; it's an internal variable of select.c.
6980
6981         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6982
6983         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6984         rather than messing with selection-alist.
6985
6986         * select-msw.c (mswindows_get_foreign_selection):
6987         Use TO_INTERNAL_FORMAT rather than hacking.
6988
6989 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6990
6991         * process-unix.c (unix_open_multicast_group):
6992         (unix_open_multicast_group): Remove useless casts.
6993
6994 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6995
6996         * sound.c (Fplay_sound): Fix `unused variable' warning.
6997
6998         * emacs.c (main): Use correct type for _environ on SCO5.
6999
7000 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7001
7002         * console.h (own_selection_method):
7003         * console.h (selection_exists_p_method):
7004         * console.h (available_selection_types_method): New.
7005         * console.h (register_selection_data_type_method): New.
7006         * console.h (selection_data_type_name): New.
7007
7008         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7009         function & alist to track GlobalAlloc()'d handles that need
7010         releasing when the clipboard data gets replaced or emptied.
7011
7012         * event-msw.c (mswindows_wnd_proc): Call it.
7013
7014         * lisp.h, general.c (Qappend): New symbol representing a
7015         `how-to-add' mode.
7016
7017         * select.c (own-selection-internal):
7018         * select.c (selection-exists-p):
7019         * select.c (available-selection-types): New.
7020         * select.c (register-selection-data-type): New.
7021         * select.c (selection-data-type-name): New.  New functions to deal
7022         with device-specific selection data formats.
7023         * select.c (selection-converter-out-alist): Renamed.
7024         * select.c (selection-converter-in-alist): New.
7025         * select.c (selection-appender-alist): New.  Added new alists.
7026         * select.c (syms_of_select, vars_of_select): Added new symbols &
7027         variables.
7028         * select.c (get_local_selection): Split.
7029         * select.c: Removed spurious type checking - selections may now be
7030         of any type, not just strings.
7031         * select.c (own-selection-internal):
7032
7033         * select.h, select.c (convert_selection): New. Created
7034         convert_selection() function based on get_local_selection().
7035         * select.h, select.c (QCF_*): New symbols representing mswindows
7036         clipboard formats.
7037         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7038         symbols representing `how-to-add' modes.
7039
7040         * select-msw.c (x_sym_p): New.
7041         * select-msw.c (symbol_to_ms_cf): New.
7042         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7043         symbols & clipboard formats. Can also handle string names.
7044         * select-msw.c (mswindows_own_selection):
7045         * select-msw.c (mswindows_selection_exists_p):
7046         Added `data-type' parameter. Use it.
7047         * select-msw.c (mswindows_available_selection_types): New.
7048         * select-msw.c (mswindows_register_selection_data_type): New.
7049         * select-msw.c (mswindows_selection_data_type_name): New.
7050         * select-msw.c (mswindows_own_selection):
7051         * select-msw.c (mswindows_get_foreign_selection):
7052         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7053         * select-msw.c (console_create_select_mswindows): Added new methods.
7054         * select-msw.c (mswindows_destroy_selection): New.
7055         * select-msw.c (Vhandle_alist): New list.
7056         * select-msw.c (mswindows_own_selection):
7057
7058         * select-x.c (x_own_selection):
7059         * select-x.c (x_selection_exists_p):
7060         * select-x.c: Added some comments about maybe using new
7061         functionality.
7062         * select-x.c (x_own_selection):
7063
7064         * specifier.c: Remove definition of Qappend (now in general.c)
7065         * specifier.c (syms_of_specifier): Remove Qappend.
7066
7067 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7068
7069         * config.h.in: Add socklen_t.
7070
7071         * s/decosf4-0.h: No special compiler flags needed or desired.
7072         In particular, undefine _BSD for DEC OSF 4.0.
7073
7074 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7075
7076         * redisplay-msw.c (msprinter_frame_output_end): Added.
7077         (console_type_create_redisplay_mswindows): Referred the above.
7078
7079         * frame.c (setup_frame_without_minibuffer): Do not create a
7080         default minibuffer frame on a printer device.
7081
7082         * frame-msw.c (apply_dc_geometry): Added.
7083         (msprinter_start_page):
7084         (msprinter_init_frame_3):
7085         (msprinter_eject_page): Use it.
7086
7087         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7088         and removed residual duplex and orientation properties.
7089
7090 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7091
7092         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7093
7094         * unexalpha.c: Remove system prototypes from C sources!
7095
7096 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7097
7098         * eval.c: Remove references to M-x edit-options in DEFUNs for
7099         `defvar' and `defconst'.
7100
7101 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7102
7103         * config.h.in: Remove SMART_INCLUDE hackery.
7104
7105         PostgreSQL hacking:
7106         * config.h.in: Don't use SMART_INCLUDE.
7107
7108         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7109         * inline.c: Simply #include "postgresql.h"
7110         * postgresql.c:
7111         - Don't use SMART_INCLUDE
7112         - Use simply "const".
7113         - Use standard doc string conventions.
7114         - Use correct type for result of PQstatus.
7115
7116 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7117
7118         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7119
7120         C++ compilation changes.
7121         * config.h.in (EXTERN_C): Define.
7122         * config.h.in (not): This is also a C++ keyword.
7123         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7124         * cm.c: Use EXTERN_C.
7125         * redisplay-tty.c: Use EXTERN_C.
7126         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7127
7128 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7129
7130         * general.c: Remove duplicate definition for Qfunction.
7131
7132 2000-07-08  Ben Wing  <ben@xemacs.org>
7133
7134         * device-msw.c (msprinter_init_device):
7135         * device-msw.c (sync_printer_with_devmode):
7136         * device-msw.c (handle_devmode_changes):
7137         * device-msw.c (print_dialog_worker):
7138         * device-msw.c (Fmsprinter_apply_settings):
7139         * device-msw.c (hash_devmode):
7140         * device-msw.c (Fmsprinter_settings_despecialize):
7141         use Qmswindows_tstr, not Qctext.
7142
7143         * vm-limit.c (check_memory_limits):
7144         avoid infinite loop printing warning messages.
7145
7146 2000-07-05  Craig Lanning  <lanning@scra.org>
7147
7148         * Makefile.in.in: Add support for including the Windows resources
7149         when building with the cygwin and mingw targets.
7150
7151         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7152         not set or not correct.
7153         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7154         (init_initial_directory): Don't try to use $PWD on the
7155         WIN32_NATIVE target.
7156
7157         * s\cygwin32.h:
7158         [[Add -mwindows to eliminate console window.]] not required --ben
7159         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7160         (MAIL_USE_POP): removed; now handled by configure.
7161
7162         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7163         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7164         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7165         (MAIL_USE_POP): removed; now handled by configure.
7166         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7167         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7168         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7169         constant string.
7170         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7171         up from <winsock.h> via systime.h.
7172         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7173         (getpagesize): from Dan Holmsand, added.
7174         Added #endif which was left dangling by Ben's mega patch; added
7175         comment to help prevent this in the future.
7176
7177         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7178
7179 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7180
7181         * console-msw.h (struct mswindows_device): Removed unnecessary
7182         cached device geometry values.
7183         Added update_tick and an accessor macro.
7184         (Lisp_Devmode): Added lrecord declaration.
7185         (struct msprinter_device): Contain devmode as a Lisp object.
7186         Added mswindows_get_selected_frame_hwnd();
7187
7188         * console.h (struct console_methods): Indentation nitpicking.
7189
7190         * device-msw.c (mswindows_init_device): Do not initialize geometry
7191         cache. Initialize update tick.
7192         (mswindows_device_system_metrics): Ask the device for its geometry.
7193         (global_free_2_maybe):
7194         (devmode_to_hglobal):
7195         (handle_printer_changes):
7196         (ensure_not_printing):
7197         (print_dialog_worker):
7198         (Fmsprinter_print_setup_dialog):
7199         (Fmsprinter_print_dialog):
7200         (plist_get_margin):
7201         (plist_set_margin):
7202         (Fmsprinter_page_setup_dialog): Added functions.
7203         (sync_printer_with_devmode):
7204         (handle_devmode_changes):
7205         (Fmsprinter_get_settings):
7206         (Fmsprinter_select_settings):
7207         (Fmsprinter_apply_settings):
7208         (allocate_devmode):
7209         (Fmsprinter_settings_copy):
7210         (Fmsprinter_settings_despecialize):
7211         (print_devmode):
7212         (finalize_devmode):
7213         (equal_devmode):
7214         (hash_devmode): Added functions
7215         (syms_of_device_mswindows): Init devmode lrecord class.
7216
7217         * device.h: Added an exfun for find-device.
7218
7219         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7220         geometry; although, recreate the device compatible DC.
7221
7222         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7223         (msprinter_init_frame_3):
7224         (msprinter_frame_property):
7225         (msprinter_internal_frame_property_p):
7226         (msprinter_frame_properties):
7227         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7228         print job properties (will move to device settings).
7229
7230         * lisp.h: Added symbols.
7231
7232         * general.c (syms_of_general): Declared them.
7233
7234         * hash.c (string_hash): Added.
7235
7236         * lrecord.h (lrecord_type): Added devmode lrecord type.
7237
7238 2000-07-02  Mike Sperber <mike@xemacs.org>
7239
7240         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7241         FreeBSD 4.0.
7242
7243 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7244
7245         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7246         integer.
7247
7248 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7249
7250         * data.c (Fstring_to_number): Don't recognize floating point if
7251         base is not 10.
7252
7253 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7254
7255         * glyphs-widget.c (tab_control_query_geometry):
7256         (widget_query_geometry):
7257         (button_query_geometry):
7258         * glyphs.c (text_query_geometry):
7259         Enforce type correctness.
7260
7261 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7262
7263         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7264         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7265
7266 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7267
7268         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7269         conflicts with gcc's fixincluded version of FOO.h.
7270
7271         * glyphs.h (image_instance_geometry): Remove trailing `,'
7272
7273 2000-06-08  Mike Alexander  <mta@arbortext.com>
7274
7275         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7276         (shove_thread): Don't write the same output twice
7277         (make_ntpipe_output_stream): Increase priority of shove thread
7278         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7279         chance to run
7280         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7281         it.
7282
7283 2000-06-12  Ben Wing  <ben@xemacs.org>
7284
7285         * s\mingw32.h (sigset):
7286         * s\windowsnt.h (sigset):
7287         rename msw_ to mswindows_ for consistency with general convention.
7288
7289 2000-06-12  Ben Wing  <ben@xemacs.org>
7290
7291         * console-msw.c:
7292         * console-msw.c (mswindows_get_console_hwnd):
7293         * console-msw.c (mswindows_ensure_console_allocated):
7294         * console-msw.c (mswindows_hide_console):
7295         * console-msw.c (mswindows_show_console):
7296         * console-msw.c (mswindows_ensure_console_buffered):
7297         * console-msw.c (mswindows_output_console_string):
7298         * console-msw.c (mswindows_windows9x_p):
7299         * console-msw.h:
7300         * device-msw.c (mswindows_get_workspace_coords):
7301         * device-msw.c (mswindows_device_system_metrics):
7302         * dialog-msw.c (mswindows_popup_dialog_box):
7303         * event-msw.c (mswindows_wnd_proc):
7304         * frame-msw.c (mswindows_size_frame_internal):
7305         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7306         * menubar-msw.c (displayable_menu_item):
7307         * menubar-msw.c (mswindows_char_is_accelerator):
7308         * nt.c:
7309         * nt.c (mswindows_sigset):
7310         * nt.c (mswindows_sigrelse):
7311         * nt.c (mswindows_sigpause):
7312         * nt.c (mswindows_raise):
7313         * nt.c (timer_proc):
7314         * ntproc.c:
7315         * ntproc.c (find_child_console):
7316         * ntproc.c (sys_kill):
7317         * print.c:
7318         * print.c (std_handle_out_external):
7319         * process-nt.c (find_child_console):
7320         * process-nt.c (send_signal_the_95_way):
7321         * process-nt.c (ensure_console_window_exists):
7322         * process-nt.c (nt_create_process):
7323         * syssignal.h:
7324         rename msw_ to mswindows_ for consistency with general convention.
7325
7326         * emacs.c:
7327         * dumper.c:
7328         include nt.h, not syswindows.h.
7329
7330         * nt.c (mswindows_fstat):
7331         * nt.c (mswindows_stat):
7332         prefix mswindows_ instead of attempting to directly override the
7333         library functions.  fix declarations.
7334
7335         * nt.h:
7336         include syswindows.h.  move some sysdep.h stuff here.
7337
7338         * ntheap.h:
7339         include syswindows.h, not <windows.h>.
7340
7341         * ntplay.c:
7342         clean up headers.
7343
7344         * sysdep.c:
7345         clean up headers.
7346
7347         * sysdep.c (sys_fstat):
7348         * sysdep.c (sys_stat):
7349         call mswindows versions when appropriate.
7350
7351         * sysdep.h:
7352         move mswin decls to nt.h.
7353
7354         * syswindows.h:
7355         add long comment describing appropriate use of the various windows
7356         headers.
7357
7358 2000-06-11  Ben Wing  <ben@xemacs.org>
7359
7360         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7361
7362 2000-06-10  Ben Wing  <ben@xemacs.org>
7363
7364         * Makefile.in.in (release):
7365         Correction to make sure xemacs.exe always dumped when correct.
7366
7367         * alloca.c:
7368         * balloon_help.c:
7369         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7370
7371         * buffer.c (set_buffer_internal):
7372         [[[[2]]]]: Remove HAVE_FEP code.
7373
7374         * buffer.c (init_initial_directory):
7375         [3].
7376
7377         * bytecode.c:
7378         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7379         individual files.
7380
7381         * callproc.c:
7382         * callproc.c (call_process_cleanup):
7383         * callproc.c (Fold_call_process_internal):
7384         * callproc.c (child_setup):
7385         * callproc.c (getenv_internal):
7386         * callproc.c (init_callproc):
7387         * callproc.c (vars_of_callproc):
7388         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7389         __CYGWIN32__ -> CYGWIN.
7390         DOS_NT -> WIN32_NATIVE.
7391         Remove MSDOS support/references, converting to WIN32_NATIVE
7392           where correct.
7393         __MINGW32__ -> MINGW.
7394         Fix windows.h includes.
7395         Remove bogus HAVE_NTGUI.
7396
7397         * config.h.in:
7398         [2].
7399
7400         * console-msw.c:
7401         mswindows_message_outputted added for use in allowing startup
7402         errors on the console to be seen.
7403
7404         * console-msw.c (msw_ensure_console_allocated):
7405         * console-msw.c (msw_output_console_string):
7406         * console-msw.c (DHEADER):
7407         * console-msw.c (DOPAQUE_DATA):
7408         * console-msw.c (DEVENT):
7409         * console-msw.c (DCONS):
7410         * console-msw.c (DCONSCDR):
7411         * console-msw.c (DSTRING):
7412         * console-msw.c (DVECTOR):
7413         * console-msw.c (DSYMBOL):
7414         * console-msw.c (DSYMNAME):
7415         Fix warnings.
7416
7417         * console-stream.c (stream_init_console):
7418         Fix text/binary problems.
7419
7420         * device-msw.c:
7421         * device-msw.c (mswindows_finish_init_device):
7422         * device-msw.c (mswindows_delete_device):
7423         [1].
7424
7425         * device.c (handle_asynch_device_change):
7426         [3].
7427
7428         * dgif_lib.c:
7429         * dgif_lib.c (DGifOpenFileName):
7430         * dgif_lib.c (DGifOpenFileHandle):
7431         * dgif_lib.c (DGifGetLine):
7432         * dgif_lib.c (DGifGetPixel):
7433         Added config.h/lisp.h, fix up includes.
7434         [1].
7435
7436         * dired-msw.c:
7437         [4].
7438
7439         * dired.c:
7440         * dired.c (file_name_completion):
7441         * dired.c (Ffile_attributes):
7442         * dired.c (syms_of_dired):
7443         [1].
7444
7445         * dumper.c:
7446         * dumper.c (pdump_file_unmap):
7447         * dumper.c (pdump_load):
7448         [1].
7449
7450         * editfns.c:
7451         * editfns.c (Ftemp_directory):
7452         * editfns.c (user_login_name):
7453         * editfns.c (Fuser_real_login_name):
7454         * editfns.c (get_home_directory):
7455         [1].
7456
7457         * elhash.c (finish_marking_weak_hash_tables):
7458         [[[[5]]]]: Fix GCC warnings.
7459
7460         * emacs.c:
7461         * emacs.c (mswindows_handle_hardware_exceptions):
7462         * emacs.c (make_arg_list_1):
7463         * emacs.c (main_1):
7464         * emacs.c (Fkill_emacs):
7465         * emacs.c (Fdump_emacs):
7466         [1].
7467         Fix problems with nested crashes, add long comment.
7468
7469         * event-Xt.c (init_event_Xt_late):
7470         [1].
7471
7472         * event-msw.c:
7473         * event-msw.c (mswindows_dde_callback):
7474         * event-msw.c (mswindows_handle_sticky_modifiers):
7475         * event-msw.c (mswindows_wnd_proc):
7476         [1].
7477         [5].
7478
7479         * events.c (character_to_event):
7480         [1].
7481
7482         * fileio.c:
7483         * fileio.c (Ffile_name_directory):
7484         * fileio.c (Ffile_name_nondirectory):
7485         * fileio.c (directory_file_name):
7486         * fileio.c (Fexpand_file_name):
7487         * fileio.c (Fsubstitute_in_file_name):
7488         * fileio.c (Ffile_name_absolute_p):
7489         * fileio.c (check_executable):
7490         * fileio.c (Ffile_readable_p):
7491         * fileio.c (Ffile_accessible_directory_p):
7492         * fileio.c (Ffile_modes):
7493         * fileio.c (Funix_sync):
7494         * fileio.c (vars_of_fileio):
7495         [1]. [4].
7496
7497         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7498
7499         Expand getdefdir defn.
7500         Fix bogus rename() comment.
7501
7502         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7503         to use standard XEmacs include files, e.g. sysfile.h, rather
7504         than system-specific includes.
7505
7506         * fns.c:
7507         * fns.c (Fsubseq):
7508         [5]. [6].
7509
7510         * frame.c (vars_of_frame):
7511         [1].
7512
7513         * getloadavg.c:
7514         * getloadavg.c (getloadavg):
7515         [1]. [6].
7516         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7517         (We don't use it elsewhere in the code; just add a comment.)
7518
7519         * gif_io.c:
7520         [6].
7521         Add config.h.
7522
7523         * glyphs-msw.c:
7524         * glyphs-msw.c (mswindows_resource_instantiate):
7525         [1].
7526
7527         * glyphs-x.c (x_native_layout_instantiate):
7528         [5].
7529
7530         * gui-msw.c (Fmswindows_shell_execute):
7531         [1].
7532
7533         * insdel.c:
7534         [4].
7535
7536         * lisp.h:
7537         [4]. [5].
7538
7539         * lread.c (locate_file_in_directory_mapper):
7540         [1].
7541
7542         * lstream.c:
7543         [4].
7544
7545         * mem-limits.h:
7546         * mem-limits.h (get_lim_data):
7547         [1].
7548
7549         * menubar-msw.c:
7550         [4].
7551
7552         * ndir.h:
7553         [1].
7554
7555         * nt.c:
7556         * nt.c (getwd):
7557         * nt.c (closedir):
7558         * nt.c (rva_to_section):
7559         * nt.c (mswindows_executable_type):
7560         [1]. [6].
7561         Fix closedir() defn.
7562
7563         * nt.h:
7564         [[[[8]]]]: *_OK defs moved to sysfile.h.
7565
7566         * ntproc.c:
7567         [6]. [7].
7568
7569         * objects-x.c:
7570         [4].
7571
7572         * print.c:
7573         * print.c (std_handle_out_external):
7574         [1]. [4].
7575
7576         * process-nt.c:
7577         * process-nt.c (nt_create_process):
7578         [6].
7579         try to fix process quoting somewhat.
7580
7581         * process-unix.c (unix_create_process):
7582         [1].
7583
7584         * process.c:
7585         * process.c (vars_of_process):
7586         Add Vnull_device.
7587
7588         * process.h:
7589         [1].
7590
7591         * realpath.c:
7592         * realpath.c (xrealpath):
7593         [1].
7594
7595         * redisplay-tty.c (init_tty_for_redisplay):
7596         [3].
7597
7598         * redisplay.c:
7599         [4]. [6].
7600
7601         * scrollbar-msw.c:
7602         [4].
7603
7604         * sheap.c:
7605         * sheap.c (more_static_core):
7606         * sheap.c (report_sheap_usage):
7607         [5]. [6].
7608
7609         * signal.c:
7610         * signal.c (alarm_signal):
7611         [1]. [6].
7612
7613         * sound.c:
7614         [6].
7615
7616         * strftime.c:
7617         * strftime.c (zone_name):
7618         [1]. [5].
7619
7620         * symsinit.h (init_sunpro):
7621         [1].
7622
7623         * syscommctrl.h:
7624         commctrl.h not in Cygwin b20.1.
7625
7626         * sysdep.c:
7627         * sysdep.c (endif):
7628         * sysdep.c (sys_subshell):
7629         * sysdep.c (init_baud_rate):
7630         * sysdep.c (emacs_get_tty):
7631         * sysdep.c (emacs_set_tty):
7632         * sysdep.c (tty_init_sys_modes_on_device):
7633         * sysdep.c (init_system_name):
7634         * sysdep.c (sys_open):
7635         * sysdep.c (interruptible_open):
7636         * sysdep.c (sys_fopen):
7637         * sysdep.c (sys_mkdir):
7638         * sysdep.c (sys_rename):
7639         * sysdep.c (get_process_times_1):
7640         [1]. [6].
7641
7642         * sysdep.h:
7643         [1].
7644
7645         * sysdir.h:
7646         * sysdir.h (DIRENTRY_NONEMPTY):
7647         [1]. [6].
7648
7649         * sysdll.c (dll_init):
7650         * sysdll.h:
7651         [1].
7652
7653         * sysfile.h:
7654         [1]. [6]. [8].
7655         added text/binary defs.
7656
7657         * sysfloat.h:
7658         [1].
7659
7660         * sysproc.h:
7661         * sysproc.h (EDESTADDRREQ):
7662         * sysproc.h (poll_fds_for_input):
7663         [1]. [6].
7664
7665         * syspwd.h:
7666         [6].
7667
7668         * syssignal.h:
7669         [1].
7670
7671         * systime.h:
7672         [1]. [6].
7673
7674         * systty.h:
7675         [1].
7676
7677         * syswindows.h:
7678         [1].
7679         Always define WIN32_LEAN_AND_MEAN.
7680
7681         * unexcw.c (unexec):
7682         [5].
7683
7684         * unexec.c:
7685         * unexec.c (copy_text_and_data):
7686         * unexec.c (adjust_lnnoptrs):
7687         [1].
7688
7689         * unexnt.c:
7690         * unexnt.c (_start):
7691         [1].
7692
7693 2000-06-07  Ben Wing  <ben@xemacs.org>
7694
7695         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7696         was used only as a model.  We've long since extracted any useful
7697         logic or code out of this. (I just did an exhaustive search.)
7698
7699         * s\msdos.h: Removed.
7700
7701         * s\windows95.h: Removed.
7702
7703 2000-06-10  Ben Wing  <ben@xemacs.org>
7704
7705         * s\cygwin32.h:
7706         [1]. [5].
7707         Don't use extern with fun defs.
7708
7709         * s\mingw32.h:
7710         [1]. [7].
7711         Remove nt\inc include.
7712         Remove getdisk, getdefdir. (The former is unused, the latter
7713         expanded in fileio.h.)
7714
7715         * s\windowsnt.h:
7716         * s\windowsnt.h (WIN32_NATIVE):
7717         * s\windowsnt.h (HAVE_STRCASECMP):
7718         [1]. [7].
7719         Add long comment about preprocessor changes.
7720         Remove getdisk, getdefdir. (The former is unused, the latter
7721         expanded in fileio.h.)
7722
7723 2000-06-10  Ben Wing  <ben@xemacs.org>
7724
7725         * m\arm.h:
7726         * m\delta.h:
7727         * m\intel386.h:
7728         * m\sequent.h:
7729         * m\template.h:
7730         * m\windowsnt.h:
7731         [1].
7732         Remove bogus/unused NO_SOCK_SIGIO.
7733
7734 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7735
7736         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7737         not an Emchar.
7738
7739 2000-06-04  Mike Sperber <mike@xemacs.org>
7740
7741         * casetab.c (set_case_table): For `set-standard-case-table',
7742         actually deposit the new case tables where the rest of XEmacs can
7743         see them.
7744
7745 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7746
7747         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7748
7749 2000-06-05  Ben Wing  <ben@xemacs.org>
7750
7751         * callproc.c (child_setup): Don't do close_load_descs() under
7752         MS Windows.  Put in a comment explaining why.
7753
7754 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7755
7756         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7757         Toolkit shell" which breaks `kill-compilation' on Windows NT
7758         native, retaining STDERR handling improvements.
7759
7760 2000-06-01  Andreas Jaeger  <aj@suse.de>
7761
7762         * s/s390.h: Support for S390, based on a patch by Martin
7763         Schwidefsky <schwidefsky@de.ibm.com>.
7764
7765 2000-05-30  Andy Piper  <andy@xemacs.org>
7766
7767         * window.c (allocate_window):
7768         (make_dummy_parent):
7769         (Fset_window_configuration): use new hashtable type.
7770
7771         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7772         (struct image_instantiator_methods):
7773         (struct Lisp_Image_Instance): make instance geometry signed.
7774
7775         * glyphs.c (instantiate_image_instantiator):
7776         (image_instance_query_geometry):
7777         (image_instance_layout):
7778         (image_instance_layout):
7779         (query_string_geometry):
7780         (text_query_geometry):
7781         (image_instantiate):
7782         (image_instantiate):
7783         (cache_subwindow_instance_in_frame_maybe):
7784         (subwindow_query_geometry): make instance geometry signed.
7785
7786         * glyphs-widget.c (widget_query_geometry):
7787         (widget_layout):
7788         (button_query_geometry):
7789         (tree_view_query_geometry):
7790         (tab_control_query_geometry):
7791         (layout_query_geometry):
7792         (layout_layout):
7793         (native_layout_layout): make instance geometry signed.
7794
7795 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7796
7797         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7798         constant.
7799
7800         * general.c (syms_of_general): Add Qfull_assoc symbol.
7801
7802         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7803         correctly.
7804         (decode_weak_list_type): Decode full-assoc type.
7805         (encode_weak_list_type): Encode full-assoc type.
7806         (Fmake_weak_list): Update doc string.
7807
7808 2000-05-30  Andy Piper  <andy@xemacs.org>
7809
7810         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7811
7812         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7813         (decode_hash_table_weakness): ditto.
7814         (Fhash_table_weakness): ditto.
7815         (Fhash_table_type): ditto.
7816         (finish_marking_weak_hash_tables): ditto.
7817         (hash_table_weakness_validate): ditto.
7818         (syms_of_elhash): ditto.
7819
7820 2000-05-28  Martin Buchholz <martin@xemacs.org>
7821
7822         * XEmacs 21.2.34 is released.
7823
7824 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7825
7826         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7827         start cache.
7828         (updating_line_start_cache): Gone.
7829         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7830         generic code to force a minimum of 1 line laid out in the
7831         CMOTION_DISP case.
7832
7833 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7834
7835         * glyphs.c (instantiate_image_instantiator): Check for initialized
7836         height & width no longer special cases IMAGE_NOTHING.
7837         (nothing_instantiate): Set height and width of instance.
7838
7839 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7840
7841         * unexelf.c (unexec): Search for ".data" section.
7842         Initialize new_data2_offset from old_data_index.
7843         Remove redundant check for ElfW.
7844
7845 2000-05-23  Andy Piper  <andy@xemacs.org>
7846
7847         * glyphs.c (get_image_instantiator_governing_domain): allow more
7848         specific domains as the governing domain rather than expecting an
7849         exact match. This fixes problems with layouts.
7850
7851 2000-05-22  Andy Piper  <andy@xemacs.org>
7852
7853         * redisplay-output.c (compare_runes): check for non-images
7854
7855         * glyphs.c (set_glyph_dirty_p): ditto.
7856         (update_glyph_cachel_data): ditto.
7857
7858         * glyphs-widget.c (layout_post_instantiate): ditto.
7859         (layout_post_instantiate): ditto.
7860
7861         * event-msw.c (mswindows_wnd_proc): warning removal.
7862
7863 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7864
7865         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7866
7867         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7868
7869         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7870
7871         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7872         (mswindows_executable_type): mingw32 now has enough headers for
7873         this to work.
7874
7875 2000-05-20  Andy Piper  <andy@xemacs.org>
7876
7877         * console-msw.c (mswindows_output_last_error): ; -> ,
7878
7879 2000-05-12  Andy Piper  <andy@xemacs.org>
7880
7881         * console-msw.c (FROB): compare ints with ints.
7882
7883 2000-05-11  Andy Piper  <andy@xemacs.org>
7884
7885         * glyphs-x.c (x_finalize_image_instance): make minimal build
7886         happy.
7887
7888 2000-05-20  Ben Wing  <ben@xemacs.org>
7889
7890         * event-Xt.c:
7891         * event-Xt.c (vars_of_event_Xt):
7892         move modifier-keys-are-sticky to event-stream.c.
7893
7894         * event-msw.c:
7895         * event-msw.c (mswindows_enqueue_mouse_button_event):
7896         * event-msw.c (key_needs_default_processing_p):
7897         * event-msw.c (XEMSW_LCONTROL):
7898         * event-msw.c (mswindows_handle_sticky_modifiers):
7899         * event-msw.c (FROB):
7900         * event-msw.c (clear_sticky_modifiers):
7901         * event-msw.c (output_modifier_keyboard_state):
7902         * event-msw.c (output_alt_keyboard_state):
7903         * event-msw.c (mswindows_wnd_proc):
7904         * event-msw.c (mswindows_modifier_state):
7905         * event-msw.c (emacs_mswindows_handle_magic_event):
7906         implement sticky modifiers.
7907
7908         * event-stream.c:
7909         * event-stream.c (vars_of_event_stream):
7910         move modifier-keys-are-sticky here.
7911
7912         * lisp.h:
7913         add CHECK_FUNCTION.
7914
7915         * rangetab.c:
7916         implement map-range-table.
7917
7918
7919 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7920
7921         * redisplay-tty.c (reset_tty_modes):
7922         (tty_redisplay_shutdown): Adjust argument type to
7923         tty_frame_output_end.
7924
7925 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7926
7927         * eval.c (Fbacktrace): Don't output a line with only right
7928         parenthesis.
7929
7930 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7931
7932         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7933         (Fpq_reset_poll): Ditto.
7934
7935 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7936
7937         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7938
7939 2000-05-16  Ben Wing  <ben@xemacs.org>
7940
7941         * buffer.c:
7942         * buffer.c (dfc_convert_to/from_internal_format):
7943         * buffer.c (reinit_vars_of_buffer):
7944         Fix conversion functions to allow reentrancy.
7945
7946         * console-msw.c:
7947         * console-msw.c (mswindows_output_last_error):
7948         New fun, generally useful -- output a human-readable
7949         version of GetLastError() on the console.
7950
7951         * console-msw.h:
7952         * console-msw.h (struct mswindows_frame):
7953         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7954
7955         * console-stream.c (stream_output_begin):
7956         * console-stream.c (stream_output_end):
7957         * console-stream.c (stream_output_vertical_divider):
7958         * console-stream.c (stream_clear_region):
7959         * console-stream.c (stream_flash):
7960         * console-stream.c (console_type_create_stream):
7961         Delete blank stream methods, not needed.
7962
7963         * console.h (struct console_methods):
7964         Split begin/end methods into window and frame.
7965
7966         * event-msw.c:
7967         * event-msw.c (mswindows_handle_paint):
7968         * event-msw.c (output_alt_keyboard_state):
7969         * event-msw.c (mswindows_wnd_proc):
7970         * event-msw.c (vars_of_event_mswindows):
7971         Comment about problems with ignored-expose.
7972         Define mswindows-debug-events; not really implemented.
7973
7974         * frame-msw.c (mswindows_init_frame_1):
7975         random cleanups.
7976
7977         * glyphs-msw.c:
7978         * glyphs-msw.c (begin_defer_window_pos):
7979         * glyphs-msw.c (mswindows_unmap_subwindow):
7980         * glyphs-msw.c (mswindows_map_subwindow):
7981         * glyphs-msw.c (mswindows_resize_subwindow):
7982         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7983
7984         * glyphs.c (make_image_instance_1):
7985         Fix crash.
7986
7987         * gutter.c (Fredisplay_gutter_area):
7988         Use new begin/end methods.
7989
7990         * lisp.h (Dynarr_new2):
7991         New creation fun.
7992
7993         * redisplay-msw.c:
7994         * redisplay-msw.c (mswindows_frame_output_begin):
7995         * redisplay-msw.c (mswindows_frame_output_end):
7996         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7997         New begin/end methods -- handle DeferWindowPos.
7998
7999         * redisplay-output.c (redisplay_move_cursor):
8000         * redisplay-output.c (redraw_cursor_in_window):
8001         * redisplay-output.c (redisplay_update_line):
8002         * redisplay-output.c (redisplay_output_window):
8003         New begin/end methods.
8004
8005         * redisplay-tty.c:
8006         * redisplay-tty.c (tty_frame_output_begin):
8007         * redisplay-tty.c (tty_frame_output_end):
8008         * redisplay-tty.c (console_type_create_redisplay_tty):
8009         New begin/end methods.
8010
8011         * redisplay-x.c:
8012         * redisplay-x.c (x_window_output_begin):
8013         * redisplay-x.c (x_window_output_end):
8014         * redisplay-x.c (console_type_create_redisplay_x):
8015         New begin/end methods.
8016
8017         * redisplay.c (redisplay_frame):
8018         * redisplay.c (Fredisplay_echo_area):
8019         New begin/end methods.
8020         use MAYBE_DEVMETH for clear_frame; it may not exist.
8021
8022         * window.h (WINDOW_XFRAME):
8023         WINDOW_XFOO macros -- get locale and decode struct pointer.
8024
8025
8026 2000-05-12  Ben Wing  <ben@xemacs.org>
8027
8028         * emacs.c:
8029         * emacs.c (ensure_no_quitting_from_now_on):
8030         * emacs.c (fatal_error_signal):
8031         * emacs.c (mswindows_handle_hardware_exceptions):
8032         * emacs.c (main):
8033         * emacs.c (Fkill_emacs):
8034         * emacs.c (shut_down_emacs):
8035         * emacs.c (assert_failed):
8036         various improvements in fatal error handling.
8037
8038         * eval.c:
8039         move preparing_for_armageddon to emacs.c.
8040
8041         * lisp.h:
8042         declare fatal_error_in_progress.
8043
8044         * print.c:
8045         * print.c (std_handle_out_external):
8046         * print.c (std_handle_out_va):
8047         * print.c (stderr_out):
8048         * print.c (stdout_out):
8049         use console under mswin when no standard output.
8050         don't do code conversion during fatal error.
8051
8052         * scrollbar.c (Fscrollbar_page_up):
8053         * scrollbar.c (Fscrollbar_page_down):
8054         fix missing else.  reindent.
8055
8056 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8057
8058         Emergency fix.
8059
8060         * glyphs.h (GLYPH_CACHEL_DESCENT):
8061         (GLYPH_CACHEL_DESCENT):
8062         (GLYPH_CACHEL_DESCENT):
8063         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8064         used in case these are inline functions.
8065         Use more absurd values to error check.
8066
8067         include window.h for error check functions.
8068
8069 2000-05-11  Ben Wing  <ben@xemacs.org>
8070
8071         * cmdloop.c (Freally_early_error_handler):
8072         Display message box under windows; otherwise, message will disappear
8073         before it can be viewed.
8074
8075         * console-msw.c:
8076         * console-msw.c (Fmswindows_message_box):
8077         * console-msw.c (FROB):
8078         * console-msw.c (syms_of_console_mswindows):
8079         Define new fun `mswindows-message-box'.
8080         #### I will merge this into `popup-dialog-box'; just give me
8081         a bit of time.
8082
8083         * general.c:
8084         * general.c (syms_of_general):
8085         Some new symbols used in `mswindows-message-box'.
8086
8087         * glyphs.c:
8088         * glyphs.c (Fset_image_instance_property):
8089         put warning in this fun.
8090
8091         * glyphs.h:
8092         * glyphs.h (GLYPH_CACHEL_WIDTH):
8093         * glyphs.h (GLYPH_CACHEL_ASCENT):
8094         * glyphs.h (GLYPH_CACHEL):
8095         * glyphs.h (GLYPH_CACHEL_GLYPH):
8096         define error-checking versions to try to catch a bug i've seen --
8097         redisplay gets in an infinite loop because the glyph width of the
8098         continuation glyph is 65535.
8099
8100         * lisp.h:
8101         Extern message-box stuff.
8102
8103         * window.c (allocate_window):
8104         * window.c (make_dummy_parent):
8105         * window.c (Fset_window_configuration):
8106         Use EQUAL not EQ for subwindow caches to make them work a bit
8107         better. (Something is still very broken.)
8108
8109
8110 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8111
8112         * glyphs.c (image_instantiate): Suppress gcc warnings.
8113         (Fmake_image_instance): Fix doc string.
8114         * specifier.c (Fmake_specifier): Ditto.
8115
8116 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8117
8118         * paths.h.in (PATH_LOCK): Removed.
8119         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8120         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8121
8122 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8123
8124         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8125         Document (featurep '(and xemacs 21.02)).
8126
8127 2000-05-09  Ben Wing  <ben@xemacs.org>
8128
8129         * buffer.c (complex_vars_of_buffer):
8130         update modeline-format doc.
8131
8132         * device.h:
8133         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8134
8135         * emacs.c:
8136         timeline of all released versions of Emacs, for use in creating
8137         authorship comments and in synching up.
8138
8139         * glyphs-widget.c (image_instantiator_buttons):
8140         * glyphs-widget.c (image_instantiator_edit_fields):
8141         * glyphs-widget.c (image_instantiator_combo_box):
8142         * glyphs-widget.c (image_instantiator_scrollbar):
8143         * glyphs-widget.c (image_instantiator_progress_guage):
8144         * glyphs-widget.c (image_instantiator_tree_view):
8145         * glyphs-widget.c (image_instantiator_tab_control):
8146         * glyphs-widget.c (image_instantiator_labels):
8147         * glyphs-widget.c (image_instantiator_layout):
8148         * glyphs-widget.c (image_instantiator_native_layout):
8149         rename decode_domain method to governing_domain.
8150
8151         * glyphs.c:
8152         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8153         * glyphs.c (add_entry_to_device_ii_format_list):
8154         make sure we don't put an entry more than once into the list.
8155         * glyphs.c (check_instance_cache_mapper):
8156         *************************************************************
8157         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8158         HAVE BEEN GETTING.
8159         *************************************************************
8160         * glyphs.c (get_image_instantiator_governing_domain):
8161         clean up, expand on new concept of governing domain.
8162         * glyphs.c (instantiate_image_instantiator):
8163         * glyphs.c (allocate_image_instance):
8164         use governing_domain instead of cache_domain in naming.
8165         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8166         * glyphs.c (make_image_instance_1):
8167         * glyphs.c (Fmake_image_instance):
8168         allow for any domain (not just device), and process the
8169         governing domain correctly.  very big doc fix.
8170         * glyphs.c (Fimage_instance_domain):
8171         new primitive, to retrieve the governing domain of an image instance.
8172         * glyphs.c (image_instantiate):
8173         use new governing_domain stuff.  this fixes a crash you could get
8174         by instantiating certain widget glyphs in frame locales. (should
8175         signal an error instead of crashing.)
8176         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8177         * glyphs.c (Fglyphp): clean up doc.
8178         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8179         * glyphs.c (syms_of_glyphs):
8180         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8181         * glyphs.c (image_instantiator_format_create): add some comments about
8182         bogus code.
8183         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8184         for current-display-table. (Apparently Hrjove implemented in 1998 a
8185         design I wrote up in 1996, but didn't update the doc string.)
8186
8187         * glyphs.h: clean up a doc string.
8188         * glyphs.h (governing_domain):
8189         * glyphs.h (struct image_instantiator_methods):
8190         changes for governing_domain stuff.
8191
8192         * gutter.c:
8193         * gutter.c (Fgutter_specifier_p):
8194         * gutter.c (Fgutter_size_specifier_p):
8195         * gutter.c (Fgutter_visible_specifier_p):
8196         * objects.c:
8197         * objects.c (Fcolor_specifier_p):
8198         * objects.c (Ffont_specifier_p):
8199         * objects.c (Fface_boolean_specifier_p):
8200         doc strings moved to make-*-specifier.
8201
8202         * redisplay.c (add_disp_table_entry_runes_1):
8203         * redisplay.c (generate_fstring_runes):
8204         * redisplay.c (screen):
8205         add random comments and doc strings.
8206
8207         * specifier.c:
8208         * specifier.c (Fmake_specifier):
8209         major overhaul of this doc string.
8210
8211         * specifier.c (Fvalid_specifier_domain_p):
8212         comment about the bogosity of image instances being domains.
8213         * specifier.c (decode_domain):
8214         now non-static, used in glyphs.c.
8215         * specifier.c (specifier_instance):
8216         comment about the bogosity of image instances being domains.
8217         * specifier.c (Fgeneric_specifier_p):
8218         move doc string to make-generic-specifier.
8219         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8220         rebackslashify.
8221
8222         * specifier.h:
8223         * specifier.h (DOMAIN_FRAME):
8224         * specifier.h (DOMAIN_LIVE_P):
8225         * specifier.h (DOMAIN_XDEVICE):
8226         rebackslashify.
8227         add comments about problems with these macros.
8228         prototype for decode_domain.
8229
8230         * toolbar.c:
8231         * toolbar.c (Ftoolbar_specifier_p):
8232         move doc string to `make-toolbar-specifier'.
8233
8234         * window.c (window_unmap_subwindows_cache_mapper):
8235         *************************************************************
8236         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8237         HAVE BEEN GETTING.
8238         *************************************************************
8239
8240 2000-05-09  Andy Piper  <andy@xemacs.org>
8241
8242         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8243
8244         * window.c (Fset_window_configuration): reset the frame subwindow
8245         cache and re-initialize the window subwindow caches.
8246
8247         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8248
8249 2000-05-09  Ben Wing  <ben@xemacs.org>
8250
8251         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8252         DWORD.
8253
8254 2000-04-26  Mike Woolley  <mike@bulsara.com>
8255
8256         * ntheap.c: Changed recreate_heap to limit the amount reserved
8257         for the heap to that which is actually available. Also now
8258         displays a message box (with some dignostics) in the event that
8259         it still can't start.
8260
8261 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8262
8263         * callproc.c (Fold_call_process_internal): GCPRO path
8264
8265 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8266
8267         Patch by Bill Perry.
8268
8269         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8270         back data instead of #ifdef.
8271         (Fscrollbar_page_down): ditto.
8272
8273 2000-05-07  Ben Wing  <ben@xemacs.org>
8274
8275         * buffer.h:
8276         Kludge for defining Qmswindows_tstr.
8277
8278         * nt.c:
8279         * nt.c (open_input_file):
8280         * nt.c (open_output_file):
8281         * nt.c (rva_to_section):
8282         * nt.c (mswindows_executable_type):
8283         Move all memory-mapped-file routines here (some were in unexnt.c,
8284         which is bad because they are used by process-nt.c, and unexnt
8285         won't be around when portable dumping).  Synched the above routines
8286         with FSF 20.6.
8287
8288         * nt.h:
8289         Removed ifdef'd out bogus code.
8290         Fixed some prototypes.
8291
8292         * nt.h (file_data):
8293         * nt.h (OFFSET_TO_RVA):
8294         * nt.h (RVA_TO_OFFSET):
8295         * nt.h (RVA_TO_PTR):
8296         Moved the memory-mapped-file structures, macros and prototypes
8297         here, to parallel nt.c.  ntheap.h should really be removed
8298         entirely, and it's a non-portable-dumper specific file.
8299
8300         * ntheap.h (round_to_next):
8301         Moved the memory-mapped-file structures, macros and prototypes
8302         to nt.h.
8303
8304         * ntproc.c (compare_env):
8305         Moved rva_to_section and mswindows_executable_type to nt.c.
8306         Moved compare_env to process-nt.c.
8307         ntproc.c will die, one day.
8308
8309         * ntproc.c (sys_spawnve):
8310         Account for win32_ -> mswindows_.
8311
8312         * process-nt.c:
8313         * process-nt.c (struct nt_process_data):
8314         * process-nt.c (ensure_console_window_exists):
8315         * process-nt.c (compare_env):
8316         * process-nt.c (nt_create_process):
8317         * process-nt.c (nt_kill_process_by_pid):
8318         * process-nt.c (syms_of_process_nt):
8319         * process-nt.c (vars_of_process_nt):
8320         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8321         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8322         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8323         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8324         Move compare_env here from ntproc.c.
8325
8326         * process.c (Fprocess_send_region):
8327         Takes an optional fourth argument, BUFFER, which should fix some
8328         problems with call-process.
8329
8330         * syscommctrl.h:
8331         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8332
8333         * syswindows.h:
8334         Move ICC_BAR_CLASSES to syscommctrl.h.
8335         Add preliminary macros for MSWindows/Mule.  More to come.
8336
8337         * unexnt.c:
8338         * unexnt.c (unexec):
8339         open_output_file moved to nt.c.
8340
8341
8342 2000-05-05  Andy Piper  <andy@xemacs.org>
8343
8344         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8345         instance from the frame cache also since GC may catch up too late
8346         to make frame deletion sane.
8347
8348 2000-05-04  Andy Piper  <andy@xemacs.org>
8349
8350         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8351         (x_finalize_image_instance): ungcpro on deletion.
8352
8353         * glyphs.c (image_instantiator_format_create): give pointers a
8354         query geometry method so that the geometry is at least set.
8355
8356         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8357         initialize layouts if using widgets.
8358
8359 2000-05-03  Andy Piper  <andy@xemacs.org>
8360
8361         * nt.c: remove bogus reference to sysmmsystem.h
8362
8363         * gui-x.c (popup_selection_callback): fix no selection abort.
8364
8365 2000-05-02  Andy Piper  <andy@xemacs.org>
8366
8367         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8368         (mswindows_widget_instantiate): ditto.
8369
8370         * glyphs-widget.c (initialize_widget_image_instance): initialize
8371         children correctly.
8372         (widget_instantiate): cope with children and items in the same
8373         instance.
8374
8375         * glyphs.c (mark_image_instance): cope with children as a first
8376         class member.
8377         (image_instance_equal): ditto.
8378         (image_instance_hash): ditto.
8379         (image_instance_changed): ditto.
8380
8381 2000-04-30  Andy Piper  <andy@xemacs.org>
8382
8383         * glyphs.c (subwindow_query_geometry): new function. Return some
8384         defaults.
8385         (subwindow_instantiate): don't assign dimensions if none have been
8386         given.
8387         (image_instantiator_format_create): add subwindow_query_geometry.
8388         (print_image_instance): cope with layouts as widgets.
8389
8390 2000-04-29  Andy Piper  <andy@xemacs.org>
8391
8392         * frame.c (delete_frame_internal): call
8393         free_frame_subwindow_instance_cache so that all subwindows are
8394         finalized before their parent.
8395         (mark_frame): remove subwindow_cachels.
8396         (Fmake_frame): remove subwindow_cachel manipulation.
8397         (allocate_frame_core): subwindow_instance_cache is a weak list.
8398         (delete_frame_internal): set subwindow_instance_cache to nil.
8399
8400         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8401         finalization safe.
8402         (mswindows_finalize_image_instance): use the device
8403         not the domain as the domain may have died already.
8404
8405         * glyphs-x.c (x_finalize_image_instance): ditto.
8406         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8407         HEIGHT.
8408
8409         * redisplay-output.c (redisplay_unmap_subwindows): update for
8410         subwindow instance cache as a weak list.
8411         (redisplay_unmap_subwindows_maybe): ditto.
8412         (redisplay_unmap_subwindows_except_us): ditto.
8413
8414         * glyphs.c (unmap_subwindow): error checking will check the domain
8415         so don't deal with it here. Don't use cachels anymore.
8416         (map_subwindow): ditto.
8417         (update_subwindow_cachel_data): remove old accessor names.
8418         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8419         (Fresize_subwindow): don't update cachel.
8420         (mark_subwindow_cachels):
8421         (update_subwindow_cachel_data):
8422         (add_subwindow_cachel):
8423         (get_subwindow_cachel_index):
8424         (update_subwindow_cachel):
8425         (reset_subwindow_cachels):
8426         (mark_subwindow_cachels_as_not_updated): deleted.
8427         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8428         subwindow instance to the frame cache.
8429         (find_matching_subwindow): update for subwindow instance cache as
8430         a weak list.
8431         (update_widget_instances): ditto.
8432         (image_instance_type_to_mask):inlined.
8433         (free_frame_subwindow_instance_cache): new function. finalize all
8434         subwindows that are instantiated.
8435
8436         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8437         of cachel information.
8438         (IMAGE_INSTANCE_DISPLAY_X):
8439         (IMAGE_INSTANCE_DISPLAY_Y):
8440         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8441         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8442         (XIMAGE_INSTANCE_DISPLAY_X):
8443         (XIMAGE_INSTANCE_DISPLAY_Y):
8444         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8445         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8446         remove subwindow_cachel structure and function references.
8447         (image_instance_type_to_mask): inline from glyphs.c
8448
8449         * redisplay.c (redisplay_frame): remove subwindow_cachel
8450         references.
8451
8452         * frame.h (struct frame): remove subwindow_cachels.
8453         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8454
8455         * frameslots.h: add subwindow_instance_cache.
8456
8457         * window.c (replace_window): check subwindow cache of replacement.
8458         (window_unmap_subwindows_cache_mapper):
8459         (window_unmap_subwindows): new functions. Unmap all subwindows
8460         cached on this window.
8461         (mark_window_as_deleted): unmap all subwindows.
8462
8463 2000-04-27  Andy Piper  <andy@xemacs.org>
8464
8465         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8466
8467         * glyphs-widget.c (widget_layout): return something.
8468         (layout_layout): return something. Fail if not initialized.
8469         (layout_query_geometry): ditto.
8470         (image_instantiator_native_layout): new function. Initialized the
8471         native layout type.
8472         (widget_instantiate): don't do layout stuff here.
8473
8474         * glyphs.c (instantiate_image_instantiator): reorded calling or
8475         instantiate and post_instantiate with layout in between.
8476         (image_instance_layout): be more selective about deciding whether
8477         the layout has been done or not.
8478
8479         * glyphs.h (struct image_instantiator_methods): return a value
8480         from layout_method.
8481
8482 2000-04-26  Andy Piper  <andy@xemacs.org>
8483
8484         * glyphs.c (allocate_image_instance): make initial width and
8485         height unspecified. Set initialized to 0.
8486
8487         * syscommctrl.h new file. Encapsulates commctrl.h.
8488
8489         * syswindows.h new file. Encapsulates windows.h.
8490
8491         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8492         * nt.c: ditto.
8493         * console-msw.h: ditto.
8494
8495         * redisplay-tty.c (tty_output_display_block): remove layout references.
8496
8497         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8498         window handle rather than just the frame.
8499
8500         * glyphs.c (mark_image_instance): remove layout references.
8501         (print_image_instance): ditto.
8502         (image_instance_equal): ditto.
8503         (image_instance_hash): ditto.
8504         (decode_image_instance_type): ditto.
8505         (encode_image_instance_type): ditto.
8506         (image_instantiate): ditto.
8507         (allocate_glyph): ditto.
8508         (Fimage_instance_height): ditto.
8509         (Fimage_instance_width): ditto.
8510         (update_subwindow): ditto.
8511
8512         * redisplay-x.c (x_output_display_block): recode for layouts as
8513         widgets.
8514
8515         * redisplay-output.c (redisplay_output_layout): recode for layouts
8516         as widgets.
8517         (compare_runes): remove layout references.
8518
8519         * redisplay-msw.c (mswindows_output_display_block): recode for
8520         layouts as widgets.
8521
8522         * glyphs-widget.c (image_instantiator_layout): remove
8523         layout_possible_dest_types.
8524         (layout_possible_dest_types): deleted.
8525
8526         * glyphs.h (image_instance_type): remove layout references.
8527         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8528         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8529         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8530
8531 2000-04-25  Andy Piper  <andy@xemacs.org>
8532
8533         * glyphs-widget.c (image_instantiator_buttons):
8534         (image_instantiator_edit_fields):
8535         (image_instantiator_combo_box):
8536         (image_instantiator_scrollbar):
8537         (image_instantiator_progress_guage):
8538         (image_instantiator_tree_view):
8539         (image_instantiator_tab_control):
8540         (image_instantiator_labels):
8541         (image_instantiator_layout): call default post_instantiate method.
8542         (widget_post_instantiate): new function. Simply lays out the
8543         widgets.
8544
8545         * glyphs.h (struct image_instantiator_methods): add
8546         post_instantiate method.
8547
8548         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8549         method calls.
8550
8551 2000-04-23  Andy Piper  <andy@xemacs.org>
8552
8553         * glyphs.h (struct image_instantiator_methods): add
8554         decode_domain_method.
8555         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8556         derived from the domain.
8557         (IMAGE_INSTANCE_FRAME): new accessor.
8558         (XIMAGE_INSTANCE_FRAME): ditto.
8559
8560         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8561         instead of _SUBWINDOW_FRAME.
8562         (finalize_image_instance): ditto.
8563         (Fimage_instance_foreground): ditto.
8564         (Fimage_instance_background): ditto.
8565         (image_instantiate): ditto.
8566         (update_subwindow_cachel): ditto.
8567         (update_subwindow): ditto.
8568         (unmap_subwindow): ditto.
8569         (map_subwindow): ditto
8570         (subwindow_instantiate): ditto.
8571         * glyphs-msw.c (mswindows_update_widget): ditto.
8572         (mswindows_progress_gauge_instantiate): ditto.
8573         (mswindows_tab_control_update): ditto.
8574         * glyphs-x.c (x_update_widget): ditto.
8575         (x_widget_instantiate): ditto.
8576         (x_tab_control_instantiate): ditto.
8577         (x_tab_control_update): ditto.
8578         * event-msw.c (mswindows_wnd_proc): ditto
8579
8580         * glyphs-widget.c (image_instantiator_layout): use
8581         subwindow_decode_domain.
8582         (image_instantiator_buttons): ditto.
8583         (image_instantiator_edit_fields): ditto.
8584         (image_instantiator_combo_box): ditto.
8585         (image_instantiator_scrollbar): ditto.
8586         (image_instantiator_progress_guage): ditto.
8587         (image_instantiator_tree_view): ditto.
8588         (image_instantiator_tab_control): ditto.
8589         (image_instantiator_labels): ditto.
8590         (image_instantiator_layout): ditto.
8591
8592         * glyphs.c: add instance error checking to many functions.
8593         (instantiate_image_instantiator): decode device from cache_domain.
8594         (image_instantiate): partially rewrite by using
8595         decode_image_instantiator_domain to determine what domain the
8596         instance needs to be cached in.
8597         (decode_image_instantiator_domain): new function. Determine what
8598         domain the image needs to be cached in.
8599         (check_window_subwindow_cache): new error checking function.
8600         (check_instance_cache_mapper): ditto.
8601         (check_image_instance_structure): ditto.
8602         (subwindow_decode_domain): new function. Encodes a window as a
8603         subwindow's cache domain.
8604         (image_instantiator_format_create): use it for text and
8605         subwindows.
8606
8607 2000-04-21  Andy Piper  <andy@xemacs.org>
8608
8609         * glyphs.c (image_instance_device): new function.
8610         (image_instance_frame): new function.
8611         (image_instance_window): new function.
8612         (image_instance_live_p): new function.
8613
8614         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8615         cache to nil.
8616
8617         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8618         (IMAGE_INSTANCE_DOMAIN): new accessor.
8619         (XIMAGE_INSTANCE_DOMAIN): ditto.
8620
8621         * glyphs-x.c (x_finalize_image_instance): device->domain.
8622
8623         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8624         (mswindows_finalize_image_instance): ditto.
8625
8626         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8627         (gif_instantiate): ditto.
8628         (png_instantiate): ditto.
8629         (tiff_instantiate): ditto.
8630
8631         * glyphs.c (instantiate_image_instantiator): use domain rather
8632         than device.
8633         (mark_image_instance): device -> domain.
8634         (print_image_instance): ditto.
8635         (finalize_image_instance): ditto.
8636         (image_instance_equal): ditto.
8637         (allocate_image_instance): ditto.
8638         (Fcolorize_image_instance): ditto.
8639         (query_string_geometry): ditto.
8640         (image_instantiate): ditto
8641         (query_string_font): ditto.
8642         (image_instantiate): ditto.
8643         (update_subwindow): ditto.
8644         (unmap_subwindow): ditto.
8645         (map_subwindow): ditto.
8646         (subwindow_instantiate): ditto.
8647
8648         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8649         (DOMAIN_FRAME): ditto.
8650         (DOMAIN_WINDOW): ditto.
8651         (DOMAIN_LIVE_P): ditto.
8652         (XDOMAIN_DEVICE): ditto.
8653         (XDOMAIN_FRAME): ditto.
8654         (XDOMAIN_WINDOW): ditto.
8655
8656         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8657         a valid specifier domain.
8658
8659 2000-04-19  Andy Piper  <andy@xemacs.org>
8660
8661         * glyphs-widget.c (syms_of_glyphs_widget): remove
8662         widget-callback-current-channel.
8663         (vars_of_glyphs_widget): ditto.
8664         * glyphs.h: ditto
8665
8666         * gui.c (get_gui_callback): revert to previous behaviour.
8667
8668 2000-04-18  Andy Piper  <andy@xemacs.org>
8669
8670         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8671         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8672         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8673
8674         * glyphs.c (image_instance_equal): add margin_width.
8675         (image_instance_hash): ditto.
8676
8677         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8678         (layout_query_geometry): ditto.
8679         (layout_layout): ditto.
8680         (syms_of_glyphs_widget): add margin-width.
8681         (image_instantiator_layout): allow margin-width.
8682
8683         * glyphs.c (update_widget_instances): make a normal function.
8684         (syms_of_glyphs): remove Qupdate_widget_instances.
8685         * glyphs.h: ditto.
8686
8687         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8688         so that we don't corrupt ideas about the last event or
8689         command. Remove widget-callback-current-channel fiddling.
8690         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8691
8692 2000-05-01  Martin Buchholz <martin@xemacs.org>
8693
8694         * XEmacs 21.2.33 is released.
8695
8696 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8697
8698         * make-src-depend: Allow dots in header file name.
8699
8700 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8701
8702         * mule-charset.h (struct charset_lookup): Add
8703         next_allocated_1_byte_leading_byte and
8704         next_allocated_2_byte_leading_byte.
8705         * mule-charset.c: Move above two variables so that those values
8706         will be dumped.
8707
8708 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8709
8710         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8711         when string length is zero.
8712         (find_charsets_in_emchar_string): Ditto.
8713
8714 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8715
8716         * lisp.h: extern Qdialog and Qmenubar.
8717
8718         * gui-x.c: added events.h.
8719                 also fixed typo which made the file uncompilable.
8720
8721         * general.c: Added Qmenubar and Qdialog
8722
8723 2000-04-28  Ben Wing  <ben@xemacs.org>
8724
8725         * frame-msw.c (mswindows_init_frame_1):
8726         * frame-msw.c (mswindows_mark_frame):
8727         * event-msw.c (mswindows_enqueue_dispatch_event):
8728         * console-msw.h:
8729         * console-msw.h (struct mswindows_frame):
8730         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8731         there are now three hash tables for callbacks.
8732         mswindows_enqueue_dispatch_event is no longer static.
8733
8734         * dialog-x.c (maybe_run_dbox_text_callback):
8735         * dialog-x.c (dbox_descriptor_to_widget_value):
8736         switch to new cons3 form for callbacks.
8737
8738         * glyphs-msw.c (mswindows_register_gui_item):
8739         * glyphs-msw.c (mswindows_widget_instantiate):
8740         * glyphs-msw.c (add_tree_item):
8741         * glyphs-msw.c (add_tab_item):
8742         new image instance parameter, so it can be passed to callback-ex.
8743         respect :callback-ex as well as :callback.
8744
8745         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8746         add :callback-ex.
8747
8748         * glyphs.c (print_image_instance):
8749         prettify, e.g. now prints widget type.
8750
8751         * gui-x.h:
8752         certain funs have new image instance parameter.
8753
8754         * gui.c:
8755         * gui.c (get_gui_callback):
8756         * gui.c (gui_item_add_keyval_pair):
8757         * gui.c (gui_item_init):
8758         * gui.c (gui_add_item_keywords_to_plist):
8759         * gui.c (mark_gui_item):
8760         * gui.c (gui_item_hash):
8761         * gui.c (gui_item_equal):
8762         * gui.c (copy_gui_item):
8763         * gui.c (syms_of_gui):
8764         recognize callback-ex in a number of places.
8765         also, fix the annoying "can't get out of yes-no dialog" bug.
8766
8767         * gui.h:
8768         * gui.h (struct Lisp_Gui_Item):
8769         recognize callback-ex in a number of places.
8770
8771         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8772         new parameter in button_item_to_widget_value.
8773
8774         * glyphs-x.c (x_update_widget):
8775         * glyphs-x.c (x_button_instantiate):
8776         * glyphs-x.c (x_button_update):
8777         * glyphs-x.c (x_progress_gauge_instantiate):
8778         * glyphs-x.c (x_edit_field_instantiate):
8779         * glyphs-x.c (x_combo_box_instantiate):
8780         * glyphs-x.c (x_tab_control_instantiate):
8781         * glyphs-x.c (x_label_instantiate):
8782         new image instance parameter in various places.
8783
8784         * event-Xt.c:
8785         * event-Xt.c (enqueue_Xt_dispatch_event):
8786         this fun gets exported.
8787
8788         * gui-msw.c:
8789         * gui-msw.c (mswindows_handle_gui_wm_command):
8790         handle both :callback and :callback-ex, and generate our own
8791         event because it's one of the callback-ex arguments.
8792
8793         * gui-x.c:
8794         * gui-x.c (popup_selection_callback):
8795         handle both :callback and :callback-ex, and generate our own
8796         event because it's one of the callback-ex arguments.
8797         * gui-x.c (button_item_to_widget_value):
8798         * gui-x.c (gui_items_to_widget_values_1):
8799         * gui-x.c (gui_item_children_to_widget_values):
8800         * gui-x.c (gui_items_to_widget_values):
8801         new image instance parameter in various places.
8802
8803         * fns.c (Freplace_list):
8804         fix small typo in doc string.
8805
8806         * lisp.h:
8807         declare enqueue_Xt_dispatch_event.
8808
8809 2000-04-28  Ben Wing  <ben@xemacs.org>
8810
8811         * buffer.c:
8812         * buffer.c (Frecord_buffer):
8813         * buffer.c (syms_of_buffer):
8814         delete record-buffer-hook.
8815
8816         * fns.c:
8817         * fns.c (Freplace_list):
8818         * fns.c (syms_of_fns):
8819         new primitive replace-list.
8820
8821         * frameslots.h:
8822         slot for old buffer-alist.
8823
8824         * lisp.h:
8825         exfun replace-list.
8826
8827         * redisplay.c:
8828         * redisplay.c (redisplay_frame):
8829         * redisplay.c (syms_of_redisplay):
8830         * redisplay.c (vars_of_redisplay):
8831         new hook buffer-list-changed-hook.
8832         call it.
8833
8834 2000-04-27  Ben Wing  <ben@xemacs.org>
8835
8836         * extents.h: extern in_modeline_generation.
8837
8838         * redisplay.c (generate_formatted_string_db): set
8839         in_modeline_generation.
8840
8841         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8842         flags if in modeline generation.  otherwise frame-modified-tick
8843         is ticked far too often.
8844         Declare in_modeline_generation.
8845
8846 2000-04-26  Ben Wing  <ben@xemacs.org>
8847
8848         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8849         option.
8850         (vars_of_emacs): add quick-build as an error-checking option.
8851         A bit kludgy, but there doesn't seem much point in creating
8852         a real var for this.
8853
8854         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8855
8856 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8857
8858         * redisplay.h (struct display_line): Add a new variable,
8859         line_continuation.
8860
8861         * redisplay.c (create_text_block): Set dl->line_continuation if
8862         the line continues.
8863         (create_string_text_block): Ditto.
8864         (regenerate_window_incrementally): Use line_continuation instead
8865         of searching continuation glyph.
8866         (add_margin_runes): Call add_glyph_rune.
8867         (add_glyph_rune): Handle margin glyph.
8868
8869 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8870
8871         * filelock.c (fill_in_lock_file_name):
8872         ANSIfy.
8873         Check for IS_ANY_SEP instead of '/'.
8874         (lock_file_1):
8875         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8876         Never check errno without first seeing that system call failed.
8877         (unlock_file): Add GCPRO.
8878         (Flock_buffer): Fix docstring.
8879         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8880
8881 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8882
8883         * sysdep.c (get_pty_max_bytes):
8884         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8885         strings longer than 252 bytes.
8886
8887         * md5.c: Unconditionally include ANSI header <limits.h>
8888
8889         * glyphs-x.c (convert_EImage_to_XImage):
8890         * lisp-union.h (union Lisp_Object):
8891         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8892
8893 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8894
8895         * filelock.c (current_lock_owner): Remove unused variable o, p.
8896
8897 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8898
8899         * callint.c: Remove multiply defined symbol Qlet
8900         (syms_of_callint): ditto.
8901
8902 2000-04-14  Andy Piper  <andy@xemacs.org>
8903
8904         * general.c (syms_of_general): add last-command, this-command, let
8905         and funcall.
8906
8907         * lisp.h: declare various symbols.
8908
8909         * glyphs.h: declare Qwidget_callback_current_channel;
8910
8911         * glyphs-widget.c (syms_of_glyphs_widget): add
8912         Qgui_callback_current_channel.
8913         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8914
8915         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8916         widget-callback-current-channel when invoking the interactive
8917         arg. Also bind last-command and next-command when invoking the
8918         widget updates.
8919         * gui-x.c (popup_selection_callback): ditto.
8920
8921         * gui.c (get_gui_callback): massage args so that we are always
8922         calling eval. This allows us to add our own variable bindings
8923         outside.
8924
8925         * glyphs-x.c (x_button_instantiate): use
8926         gui_items_to_widget_values since this is GC safe.
8927         (x_progress_gauge_instantiate): ditto.
8928         (x_edit_field_instantiate): ditto.
8929         (x_label_instantiate): ditto.
8930
8931         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8932         (emacs_Xt_event_widget_focus_out): new function
8933         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8934         focus.
8935         (emacs_Xt_event_add_widget_actions): new function. add focus
8936         functions as actions.
8937         (init_event_Xt_late): use it.
8938
8939 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8940
8941         * event-stream.c (Fdispatch_event): Doc fix.
8942
8943 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8944
8945         * postgresql.c: Remove all references to PQsetenv*.
8946
8947         * postgresql.h: Remove references to PGsetenvHandler object.
8948         * lrecord.h (lrecord_type): Ditto.
8949
8950 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8951
8952         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8953         real_heigh and real_width members, and accessor macros for these.
8954
8955         * glyphs-msw.c (init_image_instance_geometry): New function.
8956         (init_image_instance_from_dibitmap): Use it.
8957         (mswindows_resource_instantiate): Use it.
8958         (init_image_instance_from_xbm_inline): Use it.
8959         (mswindows_initialize_image_instance_mask): Use real bitmap
8960         geometry.
8961         (mswindows_create_resized_bitmap): Ditto.
8962         (mswindows_create_resized_mask): Ditto.
8963
8964         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8965         and bitmap to their surface size.
8966
8967 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8968
8969         * process-unix.c (unix_send_process): Guard against process MIA
8970         after Faccept_process_output.
8971
8972 2000-04-11  Ben Wing  <ben@xemacs.org>
8973
8974         * eval.c (unbind_to_hairy): fix brokenness introduced by
8975         nanosecond speed improvements.
8976
8977 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8978
8979         * sunplay.c (init_device): To play sounds correctly, the device
8980         apparently needs to be initialized at least once by XEmacs.  Make
8981         it so.
8982
8983 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8984
8985         * redisplay.c (add_margin_runes): Add text image glyph
8986           handling.
8987
8988 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8989
8990         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8991         gcc is newer than 2.5.
8992
8993 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8994
8995         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8996
8997         * fns.c (size_bit_vector):
8998         * alloc.c (size_vector):
8999         (make_vector_internal):
9000         (make_bit_vector_internal):
9001         (sweep_bit_vectors_1):
9002         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9003
9004 2000-04-06  Andy Piper  <andy@xemacs.org>
9005
9006         * gmalloc.c (malloc): undo previous change.
9007         (malloc): ditto.
9008         (free): ditto.
9009         (realloc): ditto.
9010
9011 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9012
9013         * line-number.c (buffer_line_number): Revert to former version.
9014
9015 2000-04-06  Andy Piper  <andy@xemacs.org>
9016
9017         * gmalloc.c (malloc): add error checking.
9018         (malloc): ditto.
9019         (free): ditto.
9020         (realloc): ditto.
9021
9022         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9023         button_item_to_widget_value arg.
9024
9025         * glyphs-x.c (x_button_instantiate): add extra
9026         button_item_to_widget_value arg.
9027         (x_progress_gauge_instantiate): ditto.
9028         (x_edit_field_instantiate): ditto.
9029         (x_label_instantiate): ditto.
9030
9031         * gui-x.c (gui_items_to_widget_values_1): add extra
9032         button_item_to_widget_value arg.
9033         (button_item_to_widget_value): add extra menu_item_p arg.
9034
9035         * gui-x.h: change signature of button_item_to_widget_value.
9036
9037         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9038         button_item_to_widget_value arg.
9039
9040 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9041
9042         * buffer.h (struct buffer): auto_save_modified should be long.
9043
9044 2000-04-05  Andy Piper  <andy@xemacs.org>
9045
9046         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9047         type.
9048         (button_query_geometry): give a little more room so that athena
9049         buttons fit.
9050
9051 2000-04-05  Andy Piper  <andy@xemacs.org>
9052
9053         * faces.c (complex_vars_of_faces): The widget face should inherit
9054         the font of the gui-element face.
9055
9056 2000-04-04  Andy Piper  <andy@xemacs.org>
9057
9058         * glyphs-x.c (x_button_update): new function. unconditionally
9059         update a button's state when the instance is dirty.
9060         (image_instantiator_format_create_glyphs_x): add x_button_update.
9061         (x_widget_instantiate): remove old resize cruft.
9062
9063 2000-04-02  Andy Piper  <andy@xemacs.org>
9064
9065         * frame.c (change_frame_size_1): The introduction of gutters means
9066         that we need to allow 0 as a potential frame dimension.
9067
9068 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9069
9070         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9071         image glyph if allow_cursor.
9072         (add_hscroll_rune): Don't allow cursor to border glyph.
9073         (create_text_block): Ditto.
9074
9075         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9076         text not in buffer.
9077         (redisplay_output_layout): Call ensure_face_cachel_complete for
9078         text image glyph.
9079
9080
9081 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9082
9083         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9084
9085         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9086         not in buffer
9087
9088         * redisplay-tty.c (tty_output_display_block): Delete the routine
9089         for text image glyph
9090         * redisplay-x.c (x_output_display_block): ditto
9091         * redisplay-msw.c (mswindows_output_display_block): ditto
9092
9093 2000-02-02  Mike Alexander  <mta@arbortext.com>
9094
9095         Note: Some of these were committed by accident as part of other
9096         patches.
9097
9098         * regex.c (regex_compile): Avoid compiler warnings.
9099
9100         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9101
9102         * nt.h: Declare term_ntproc correctly.
9103
9104         * nt.c: Remove incorrect declaration of get_home_directory which
9105         is declared correctly in lisp.h.
9106
9107         * keymap.c (get_keyelt): Avoid compiler warnings.
9108         (raw_lookup_key_mapper): Avoid compiler warnings.
9109
9110         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9111
9112         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9113
9114         * filemode.c (mode_string): Avoid compiler warnings.
9115
9116         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9117         avoid warning.
9118
9119         * events-mod.h: Undef some things that winuser.h defines differently.
9120
9121         * data.c (Faset): Avoid compiler warnings.
9122
9123         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9124
9125 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9126
9127         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9128         Fall through to simple beep on error.
9129         Replace "extern" by real header file.
9130
9131         * linuxplay.c: Use nativesound.h
9132         (play_sound_data): Return error code. Be less verbose on error.
9133
9134         * sunplay.c: Use nativesound.h
9135         (play_sound_data): Return error code. Be less verbose on error.
9136
9137         * ntplay.c: Use nativesound.h
9138         (play_sound_data): Return fake error code
9139
9140         * sgiplay.c: Use nativesound.h
9141         (play_sound_data): Return error code
9142
9143         * hpplay.c: Use nativesound.h, partially implement
9144         new error code. Break compilation until finished.
9145         (play_sound_data): error code.
9146
9147         * nativesound.h (play_sound_file):
9148           (play_sound_data): Prototype in new header.
9149
9150 2000-03-31  Andy Piper  <andy@xemacs.org>
9151
9152         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9153         for toggle and radio buttons.
9154         (image_instantiator_buttons): use it.
9155
9156 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9157
9158         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9159         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9160         found. Scrollbar event probably belonged to some old config.
9161
9162 2000-03-31  Andy Piper  <andy@xemacs.org>
9163
9164         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9165         than 1.
9166         (initialize_widget_image_instance): default layout to
9167         LAYOUT_HORIZONTAL rather than 0.
9168         (widget_instantiate): reverse the item list at the end rather than
9169         every iteration.
9170         (layout_layout): re-code for the border text at the front of the
9171         item list rather than at the end.
9172         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9173         provided by the user.
9174         (widget_query_geometry): comment.
9175
9176 2000-03-30  Andy Piper  <andy@xemacs.org>
9177
9178         * glyphs-widget.c (image_instantiator_layout): allow standard
9179         widget keywords in layouts.
9180
9181         * gutter.c (output_gutter): cope with nil gutter contents.
9182
9183         * frame.c (Fset_frame_properties): add gutter docs.
9184
9185 2000-03-29  Andy Piper  <andy@xemacs.org>
9186
9187         * toolbar-msw.c (TBSTYLE_FLAT): add.
9188         (mswindows_output_toolbar): minor fiddling.
9189
9190 2000-03-29  Andy Piper  <andy@xemacs.org>
9191
9192         * gutter.c (output_gutter): force gutter size recalculation if
9193         what we are trying to display won't fit.
9194         (update_gutter_geometry): new function. A per-gutter version of
9195         update_frame_gutter_geometry.
9196         (update_frame_gutter_geometry): use it.
9197         (redraw_exposed_gutter): add extra debugging output.
9198
9199 2000-03-28  Mike Alexander  <mta@arbortext.com>
9200
9201         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9202         (pdump_file_unmap): Implement it on Windows
9203         (pdump_file_get): Save alocated handles for pdump_file_unmap
9204
9205 2000-03-28  Andy Piper  <andy@xemacs.org>
9206
9207         * gui.c (get_gui_callback): treat Quit specially.
9208
9209 2000-03-27  Andy Piper  <andy@xemacs.org>
9210
9211         * glyphs.c (image_instantiate): be careful to check in the same
9212         way we assigned.
9213
9214 2000-03-27  Didier Verna  <didier@xemacs.org>
9215
9216         * config.h.in: define the proper SMART_INCLUDE macro.
9217         handle renaming of `foo_h_path' to `foo_h_file'.
9218
9219         * database.c: ditto.
9220
9221         * emacs.c: ditto.
9222
9223         * linuxplay.c: ditto.
9224
9225         * terminfo.c: ditto.
9226
9227         * tooltalk.h: ditto.
9228
9229 2000-03-27  Andy Piper  <andy@xemacs.org>
9230
9231         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9232         gets updated whenever the face might have changed.
9233
9234 2000-03-26  Mike Alexander  <mta@arbortext.com>
9235
9236         * dumper.c (pdump_resource_free): Fix the comment.
9237
9238 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9239
9240         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9241
9242 2000-03-22  Mike Alexander  <mta@arbortext.com>
9243
9244         * dumper.c: Include Windows headers on Windows
9245         (pdump_resource_free): Add a body to the function
9246         (pdump_load): exe_name -> exe_path and add some comments.
9247
9248 2000-03-25  Mike Alexander  <mta@arbortext.com>
9249
9250         * gui.c (copy_gui_item_tree): Return a value in all cases
9251
9252 2000-03-21  Didier Verna  <didier@xemacs.org>
9253
9254         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9255         lwlib/config.h.in.
9256         (SMART_INCLUDE): new macro.
9257         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9258         the proper location.
9259
9260         * postgresql.c: use it.
9261
9262         * inline.c: ditto.
9263
9264 2000-03-24  Andy Piper  <andy@xemacs.org>
9265
9266         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9267         do this.
9268
9269 2000-03-24  Andy Piper  <andy@xemacs.org>
9270
9271         * redisplay-output.c (compare_runes): use image_instance_changed
9272         to detect changes. Do not depend on glyphs_changed, only depend on
9273         dirtiness.
9274          (redisplay_output_layout): add debug messages.
9275         (compare_runes): ditto.
9276
9277         * glyphs.h: declare new functions.
9278         (struct Lisp_Image_Instance): remove percent and associated
9279         accessors.
9280
9281         * gui.h: declare new copying functions.
9282
9283         * gui.c (copy_gui_item_tree): new function.
9284         (copy_gui_item): new function.
9285         (gui_item_id_hash): revert to standard hash.
9286         (gui_item_hash): ditto.
9287         (gui_item_hash_internal): deleted.
9288         (mark_gui_item): mark value.
9289         (gui_item_add_keyval_pair): add value.
9290         (gui_item_init): ditto.
9291         (gui_add_item_keywords_to_plist): ditto.
9292         (gui_item_equal): ditto.
9293         (syms_of_gui): add Q_value.
9294
9295         * glyphs-x.c (x_progress_gauge_update): use pending items and
9296         value for setting the state.
9297         (x_update_widget): don't set items from pending here.
9298
9299         * glyphs-widget.c (update_widget): update items here.
9300         (progress_gauge_set_property): use items for storing value. Put
9301         new value in pending items.
9302
9303         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9304         items for new value. Convert percent -> value.
9305         (mswindows_tab_control_update): don't update items here.
9306
9307         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9308         (update_subwindow): ditto.
9309         (image_instance_changed): new function. Compare hash values and
9310         past and present widget items.
9311         (image_instantiate): We more careful about where we instantiate
9312         things.
9313         (image_instantiate): add error checking.
9314
9315         * gutter.c (syms_of_gutter): use -hook.
9316
9317 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9318
9319         * console-tty.c (Fset_console_tty_input_coding_system): Use
9320         Qkeyboard.
9321         (Fset_console_tty_output_coding_system): Use Qterminal.
9322         (tty_init_console): Use Qkeyboard and Qterminal.
9323
9324 2000-03-21  Ben Wing  <ben@xemacs.org>
9325
9326         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9327         From Mike Alexander <mta@arbortext.com>.
9328
9329 2000-03-21  Ben Wing  <ben@xemacs.org>
9330
9331         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9332         process brokenness.  Proper implementation to come.
9333         * callproc.c:
9334         Rename call-process-internal to old-call-process-internal.
9335         New impl. in process.el.
9336
9337 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9338
9339         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9340
9341 2000-03-20  Andy Piper  <andy@xemacs.org>
9342
9343         * glyphs.c (full_list_hash): make hashes of the same elements in
9344         different orders return different values.
9345
9346 2000-03-20  Martin Buchholz <martin@xemacs.org>
9347
9348         * XEmacs 21.2.32 is released.
9349
9350 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9351
9352         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9353         (DFC_MALLOC_USE_CONVERTED_DATA):
9354         Add aliasing-safe casts to allow use with char* or unsigned char*
9355         lvalues.
9356
9357         * eldap.c (Fldap_open):
9358         (Fldap_search_basic):
9359         (Fldap_add):
9360         (Fldap_modify):
9361         Make C++-compilable.
9362         Make sure GCPRO'ed variables are initialized.
9363         Use temp variables to avoid repeated calls to Flength.
9364
9365 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9366
9367         * sysfile.h:
9368         Make sure PATH_MAX is always defined.
9369         Include limits.h for PATH_MAX.
9370         Deprecate use of MAXPATHLEN.
9371
9372 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9373
9374         * emacs.c: Add reinit_vars_of_fileio.
9375         * symsinit.h: Add reinit_vars_of_fileio.
9376         * fileio.c (reinit_vars_of_fileio): New.
9377         * fileio.c (Fmake_temp_name):
9378         Initialize temp_name random number from microseconds to make
9379         collisions even less likely.  Initialize always at process startup
9380         time.  (make-temp-name) used to return the same file name twice in
9381         a row when PDUMP.
9382         Random stylistic fiddling.
9383         Comment fixes.
9384
9385 2000-03-20  Andy Piper  <andy@xemacs.org>
9386
9387         * glyphs.c (image_instantiate): allow text glyphs to be
9388         instantiated in the minibuffer window.
9389
9390 2000-03-19  Andy Piper  <andy@xemacs.org>
9391
9392         * glyphs.c (image_instance_hash): be careful about which items we
9393         hash on.
9394
9395         * glyphs-widget.c (tab_control_set_property): record into pending
9396         items rather than the actual items.
9397
9398         * glyphs-x.c (x_update_widget): use pending items to update with.
9399
9400         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9401         to update with.
9402
9403         * glyphs.c (mark_image_instance): mark pending items.
9404
9405         * window.c (Fset_window_configuration): record the buffer.
9406         (Fselect_window): totally revert previous change which breaks many
9407         things.
9408
9409 2000-03-18  Andy Piper  <andy@xemacs.org>
9410
9411         * glyphs-msw.c (mswindows_tab_control_update): force selected
9412         item.
9413
9414         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9415         window domain cache, otherwise we get inconsistencies at
9416         startup. There is something fishy at startup which can lead to the
9417         minibuffer being the selected window when the gutter content is
9418         instantiated.
9419
9420         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9421         gcpros.
9422         (parse_gui_item_tree_children): ditto.
9423         (parse_gui_item_tree_item): ditto.
9424
9425         * glyphs.c (Fupdate_widget_instances): return something.
9426
9427 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9428
9429         * window.c (Fselect_window): Undo 2000-03-17 change.
9430
9431 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9432
9433         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9434         against v7.0 libraries.  Insta-coredump city until the postgres
9435         folks fix it.
9436
9437 2000-03-17  Andy Piper  <andy@xemacs.org>
9438
9439         * faces.c (complex_vars_of_faces): don't give the widget face an
9440         inherited background pixmap.
9441
9442         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9443         selected item.
9444
9445         * event-stream.c (Fdispatch_non_command_events): return something.
9446
9447         * gutter.c (output_gutter): use widget face.
9448         (clear_gutter): ditto.
9449
9450         * NEWS: adjust again.
9451
9452         * window.c (Fselect_window): make sure this runs to completion to
9453         avoid oddities with Fset_window_configuration.
9454         (Fcurrent_window_configuration): in general do not save the
9455         minibuffer as the selected window.
9456
9457         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9458
9459 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9460
9461         * emacs.c (Frunning_temacs_p): Revert previous patch.
9462         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9463
9464 2000-03-16  Andy Piper  <andy@xemacs.org>
9465
9466         * glyphs-x.c (x_tab_control_update): if no widget values then
9467         return.
9468
9469         * NEWS: update for new features.
9470
9471         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9472         synthetic event to the native system.
9473         (reinit_vars_of_event_Xt): set force_event_pending to
9474         emacs_Xt_force_event_pending.
9475
9476         * events.h (struct event_stream): add force_event_pending.
9477
9478         * specifier.c (recompute_one_cached_specifier_in_window): add
9479         comment.
9480
9481         * redisplay.c (redisplay_frame): don't call
9482         update_frame_subwindows. Reset subwindow cachels when
9483         subwindows_changed, removing this was an optimization too far.
9484
9485         * redisplay-output.c (compare_runes): reorganize so that we catch
9486         glyph changes when we want them. Set optimize_output when this
9487         would help layouts.
9488         (redisplay_output_layout): remove frame_really_changed, use
9489         optimize_output instead.
9490
9491         * redisplay-msw.c (mswindows_output_display_block): reset
9492         optimize_output after outputting a glyph.
9493         * redisplay-x.c (x_output_display_block): ditto.
9494         * redisplay-tty.c (tty_output_display_block): ditto.
9495
9496         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9497         functions.
9498         (gutter_specs_changed): do specific gutter positions.
9499         (top_gutter_specs_changed): new function. Only update the
9500         specified gutter specs.
9501         (bottom_gutter_specs_changed): ditto.
9502         (left_gutter_specs_changed): ditto.
9503         (right_gutter_specs_changed): ditto.
9504
9505         * gui.c (gui_item_hash_internal): new function, does a real hash.
9506         (gui_item_id_hash): use it.
9507         (gui_item_hash): hash the eval'ed gui_item.
9508
9509         * gui-x.c (popup_selection_callback): send an eval event to call
9510         Fupdate_widget_instances.
9511
9512         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9513         to call Fupdate_widget_instances.
9514
9515         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9516         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9517
9518         * glyphs.c: (update_frame_subwindows): deleted.
9519         (Fupdate_widget_instances): new function for updating the dirty
9520         state of widgets that might have changed.
9521         (syms_of_glyphs): add Qupdate_widget_instances.
9522         (full_list_hash): hash a list completely.
9523         (image_instance_hash): use it for items and properties.
9524
9525         * frame-msw.c (mswindows_size_frame_internal): remove unused
9526         variable.
9527
9528         * faces.h (struct face_cachel): fix comment.
9529
9530         * event-stream.c (Fdispatch_non_command_events): new
9531         function. Process non-command events, forcing an event cycle
9532         beforehand.
9533         (syms_of_event_stream): declare.
9534         (event_stream_force_event_pending): new function. Force an event
9535         on the native event queue so that an event cycle will occur next
9536         time we check.
9537
9538         * event-msw.c:
9539         (struct ntpipe_shove_stream):
9540         (mswindows_enqueue_dispatch_event):
9541         (mswindows_dequeue_dispatch_event):
9542         (mswindows_cancel_dispatch_event):
9543         (mswindows_pump_outstanding_events):
9544         (mswindows_drain_windows_queue):
9545         (mswindows_handle_paint):
9546         (mswindows_wnd_proc):
9547         (mswindows_key_to_emacs_keysym):
9548         (get_process_input_waitable):
9549         (emacs_mswindows_delete_stream_pair): re-indent file.
9550         (mswindows_need_event): do not process further fds if the windows
9551         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9552         fixes the 100% cpu problem.
9553         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9554
9555 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9556
9557         * alloc.h: New.
9558         * dumper.h: New.
9559         * dumper.c: New.
9560
9561         * emacs.c: Moved dump file searching to dumper.c.
9562         (Frunning_temacs_p): Fixed.
9563
9564         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9565         last_lrecord_type_index_assigned.
9566
9567 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9568
9569         * symsinit.h: Added reinit parameter to init_console_stream
9570         declaration.
9571
9572         * lisp.h: Added file parameter to pdump_load declaration.
9573
9574         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9575         support.  Added dump file searching.
9576
9577         * config.h.in: Added EMACS_PROGNAME.
9578
9579         * console-stream.c (init_console_stream): Fix reinitialisation
9580         when running from temacs.
9581
9582         * alloc.c (pdump): Add id support.
9583         (pdump_load): Add file parameter and signature/id support.
9584
9585         * Makefile.in.in: Add full pdump support.
9586
9587 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9588
9589         * postgresql.c: Update documentation to reflect latest code
9590         status.
9591         (print_result): Show tuple counts in printed representation when
9592         appropriate.
9593         (Fpq_put_nbytes): MULE-ize.
9594         (Fpq_get_line_async): Ditto.
9595
9596 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9597
9598         * postgresql.c (Fpq_lo_import): Fix return value.
9599         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9600
9601 2000-03-13  Ben Wing  <ben@xemacs.org>
9602
9603         * alloc.c (pdump_load):
9604         Fix compile warning under mswin.
9605
9606 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9607
9608         * postgresql.c: Mule-ization, bug fixes.
9609         Use PG_CODING to encapsulate coding system name changes.
9610         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9611         (pg-coding-system): Create.
9612
9613         (Fpq_conn_defaults): Mule-ize.
9614         (Fpq_connectdb): Mule-ize & bug fix.
9615         (Fpq_connect_start): Mule-ize.
9616         (Fpq_set_client_encoding): Mule-ize.
9617         (Fpq_finish): Document `DEAD' connection status.
9618         (Fpq_clear): Ditto.
9619         (Fpq_pgconn): Mule-ize.
9620         (Fpq_exec): Mule-ize & bug fix.
9621         (Fpq_send_query): Ditto.
9622         (Fpq_get_result): Ditto.
9623         (Fpq_res_status): Mule-ize.
9624         (Fpq_result_error_message): Mule-ize.
9625         (Fpq_ntuples): fix comments.
9626         (Fpq_fname): Mule-ize.
9627         (Fpq_fnumber): Mule-ize.
9628         (Fpq_ftype): fix comments.
9629         (Fpq_get_value): Mule-ize.
9630         (Fpq_cmd_status): Ditto.
9631         (Fpq_cmd_tuples): Ditto.
9632         (Fpq_oid_value): Ditto.
9633         (Fpq_notifies): Ditto.
9634         (Fpq_lo_import): Ditto.
9635         (Fpq_lo_export): Ditto.
9636         (Fpq_get_line): Ditto.
9637         (Fpq_put_line): Mule-ize and bug fix.
9638         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9639
9640 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9641
9642         * postgresql.c (vars_of_postgresql): Mule-ize.
9643         (Fpq_conn_defaults): Ditto.
9644
9645 2000-03-12  Ben Wing  <ben@xemacs.org>
9646
9647         * alloc.c (Fmake_byte_code):
9648         * alloc.c (debug_string_purity_print):
9649         * alloc.c (pdump_backtrace):
9650         * alloc.c (pdump_get_indirect_count):
9651         * alloc.c (pdump_register_sub):
9652         * alloc.c (pdump_register_object):
9653         * alloc.c (pdump_register_struct):
9654         * alloc.c (pdump_dump_data):
9655         * alloc.c (pdump_reloc_one):
9656         Minor cleanups.
9657
9658         * console-msw.c:
9659         * console-msw.c (GetConsoleHwnd):
9660         * console-msw.c (msw_hide_console):
9661         * console-msw.c (msw_show_console):
9662         * console-msw.c (msw_ensure_console_buffered):
9663         * console-msw.c (msw_output_console_string):
9664         * console-msw.c (console_type_create_mswindows):
9665
9666         a) Added functions to manipulate the console window for use with
9667         shell support.
9668
9669         b) Added support for writing text to the console, which is now
9670         used under Windows when xemacs is not being run non-interactively,
9671         to write text that would otherwise be destined for stdout because
9672         under these circumstances, text written to stdout tends to
9673         disappear and not be seen.
9674
9675         * console-msw.h:
9676         * event-Xt.c:
9677         * event-Xt.c (x_event_to_emacs_event):
9678         * event-Xt.c (describe_event_window):
9679         * events-mod.h (XEMACS_MOD_CONTROL):
9680         * events.c:
9681         * events.c (Fmake_event):
9682         * events.c (character_to_event):
9683         * events.c (event_to_character):
9684         * events.c (format_event_object):
9685         * events.c (Fevent_modifiers):
9686         * events.h:
9687         * events.h (struct key_data):
9688         * events.h (struct button_data):
9689         * events.h (struct misc_user_data):
9690         * frame-x.c (Fcde_start_drag_internal):
9691         * frame-x.c (Foffix_start_drag_internal):
9692         * gpmevent.c (Freceive_gpm_event):
9693         * keymap.c:
9694         * keymap.c (bucky_sym_to_bucky_bit):
9695         * keymap.c (control_meta_superify):
9696         * keymap.c (make_key_description):
9697         * keymap.c (keymap_lookup_directly):
9698         * keymap.c (create_bucky_submap):
9699         * keymap.c (keymap_store):
9700         * keymap.c (define_key_check_and_coerce_keysym):
9701         * keymap.c (define_key_parser):
9702         * keymap.c (define_key_alternate_name):
9703         * keymap.c (Fdefine_key):
9704         * keymap.c (raw_lookup_key_mapper):
9705         * keymap.c (struct map_keymap_unsorted_closure):
9706         * keymap.c (map_keymap_unsorted_mapper):
9707         * keymap.c (map_keymap_sort_predicate):
9708         * keymap.c (map_keymap_sorted):
9709         * keymap.c (accessible_keymaps_mapper_1):
9710         * keymap.c (where_is_recursive_mapper):
9711         * keymap.c (describe_map_mapper):
9712         * keymap.c (describe_map_sort_predicate):
9713         * keymap.c (describe_map):
9714         * keymap.c (complex_vars_of_keymap):
9715         And a number of other files, the key modifier preprocessor
9716         constants that xemacs uses have names that conflict with constants
9717         defined under MS Windows for other purposes, so they were renamed
9718         to begin with the prefix XEMACS_. The variables that hold such
9719         modifiers were changed to consistently be of type int to fix
9720         various compile warnings.
9721
9722         * console.c (complex_vars_of_console):
9723         * device.c:
9724         * device-msw.c:
9725         * device-msw.c (mswindows_finish_init_device):
9726         * device-msw.c (msw_get_workspace_coords):
9727         * device-msw.c (mswindows_device_system_metrics):
9728         and various other files, added support for a new
9729         device property called offset-workspace which returns the position
9730         of the upper left corner of the workspace area and goes along with
9731         the existing size-workspace property.
9732
9733         * dialog-msw.c:
9734         * dialog-msw.c (push_bufbyte_string_as_unicode):
9735         * dialog-msw.c (mswindows_popup_dialog_box):
9736         Added support for XEmacs-style accelerator specifications in
9737         button text.  Note: I didn't add support for this under X Windows,
9738         and somebody needs to do this.
9739
9740         * dialog.c:
9741         * dialog.c (Fpopup_dialog_box):
9742         Documented the support for accelerators that was just mentioned.
9743
9744         editfns.c (get_home_directory): Changed behavior under Windows
9745         when HOME not defined; former behavior was irretrievably broken.
9746
9747         * emacs.c:
9748         * emacs.c (main_1):
9749         * emacs.c (main):
9750         * minibuf.c (clear_echo_area_internal):
9751         * minibuf.c (echo_area_append):
9752         * print.c:
9753         * print.c (std_handle_out_external):
9754         * print.c (std_handle_out_va):
9755         * print.c (fatal):
9756         * print.c (write_string_to_stdio_stream):
9757         * print.c (output_string):
9758         * print.c (debug_print):
9759         * print.c (debug_backtrace):
9760         * print.c (debug_short_backtrace):
9761         Cleaned up the code that prints text to stdout so that this can be
9762         changed to output into a console window instead under MS Windows,
9763         as described above.
9764
9765         * eval.c:
9766         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9767         * eval.c (internal_catch):
9768         * eval.c (unwind_to_catch):
9769         * eval.c (throw_or_bomb_out):
9770         * eval.c (condition_case_1):
9771         * eval.c (signal_1):
9772         * eval.c (check_error_state_sanity):
9773         * eval.c (call_with_suspended_errors_1):
9774         * eval.c (call_with_suspended_errors):
9775         * eval.c (reinit_vars_of_eval):
9776         Added code to catch throw loops and check for a pesky bug that may
9777         be gone now.
9778
9779         * event-msw.c:
9780         * event-msw.c (key_needs_default_processing_p):
9781         * event-msw.c (mswindows_wnd_proc):
9782         * event-msw.c (mswindows_modifier_state):
9783         * event-msw.c (emacs_mswindows_quit_p):
9784         * event-msw.c (vars_of_event_mswindows):
9785         a) Added support for using the alt key to select menu items as is
9786         standard under MS Windows.  This is controlled using the variable
9787         menu-accelerator-enabled, just like under X Windows.  There is an
9788         option on the options menu to turn this support on.  I really
9789         think that it should be on by default under Windows, but I'm not
9790         going to make this change yet.
9791
9792         b)  Added support for dynamic display size changes under Windows.
9793
9794         * event-stream.c:
9795         * event-stream.c (maybe_echo_keys):
9796         * event-stream.c (Fnext_event):
9797         * event-stream.c (command_builder_find_leaf):
9798         * event-stream.c (lookup_command_event):
9799         * event-stream.c (execute_command_event):
9800         * event-stream.c (pre_command_hook):
9801         * event-stream.c (post_command_hook):
9802         * event-stream.c (syms_of_event_stream):
9803         * event-stream.c (vars_of_event_stream):
9804         * event-stream.c (complex_vars_of_event_stream):
9805         * events.h (struct command_builder):
9806
9807         a) Tried to clean up a little bit the horribly written x-specific
9808         accelerator code that crept into this file.  I moved this code
9809         into menubar-x.c where it belongs. I also needed to move the
9810         command builder structure into the file events.h because it is
9811         accessed directly by this accelerator code.  What I didn't do, but
9812         which should be done at some point, is to properly abstract this
9813         code using device methods instead of the kludgy way that it
9814         currently hooks into the event code.
9815
9816         b) Added the lisp variables this-command-properties and
9817         last-command- properties, which should be used to synchronize two
9818         adjacent commands in preference to playing games with the variable
9819         this-command, which is typically what happens.
9820
9821         c) Added some slightly nasty code to hook into the lisp support
9822         for shifted- motion-key selection.  This is actually necessary for
9823         somewhat complicated reasons, which are described in
9824         simple.el. (NB: I think the proper thing would be to have the code
9825         that calls the pre and post command hooks also call out to generic
9826         lisp functions in simple.el, where all built-in stuff could be
9827         added.  I will think about this more.)
9828
9829         * event-unixoid.c (poll_fds_for_input):
9830         * lread.c (readchar):
9831         * redisplay-tty.c (tty_clear_frame):
9832         * redisplay-x.c (x_get_gc):
9833         * signal.c (interrupt_signal):
9834         And a whole bunch of other files: fixed up places that printed
9835         directly to stderr to instead call the function stderr_out so that
9836         the changes I made under Windows work correctly.
9837
9838         * filemode.c (mode_string):
9839         Warning fixes.
9840
9841         * frame-msw.c:
9842         * frame-msw.c (mswindows_size_frame_internal):
9843         Fixed the computation of frame size and position to keep the frame
9844         within the workspace area, rather than within the physical
9845         dimensions of the screen, so that the frame doesn't overlap window
9846         manager decorations, such as the start menu and toolbar, typically
9847         at the bottom of the screen.
9848
9849         * frame.c (vars_of_frame):
9850         Changed the default frame title format under MS Windows to consist
9851         of buffername-XEmacs, which is standard under MS Windows.  I think
9852         it might be a good idea to change this everywhere because I think
9853         it is superior to the current frame title format, but this is the
9854         kind of change that is likely to cause some people to get annoyed,
9855         so I'm not making it.
9856
9857         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9858
9859         * gui-msw.c (mswindows_handle_gui_wm_command):
9860         Fixed compile warnings.
9861
9862         * gui-x.c:
9863         * gui-x.c (strdup_and_add_accel):
9864         * gui-x.c (button_item_to_widget_value):
9865         * gui-x.h:
9866         Added code to automatically put an accelerator onto the beginning
9867         of menu items that don't have one as is now the standard, and is
9868         described more later.  Also fixed things so that the menu item
9869         name can be an evaluated expression, again a new standard.
9870
9871         * gui.c:
9872         * gui.c (gui_item_add_keyval_pair):
9873         * gui.c (make_gui_item_from_keywords_internal):
9874         * gui.c (gui_add_item_keywords_to_plist):
9875         * gui.c (gui_item_accelerator):
9876         * gui.c (gui_name_accelerator):
9877         * gui.c (gui_item_included_p):
9878         * gui.c (gui_item_display_flush_left):
9879         * gui.c (gui_item_display_flush_right):
9880         * gui.c (parse_gui_item_tree_item):
9881         * gui.c (parse_gui_item_tree_children):
9882         * gui.c (parse_gui_item_tree_list):
9883         Mule-ized.  Cleanup.  GCPRO addition.
9884
9885         * line-number.c (buffer_line_number):
9886         * lisp.h:
9887         * lisp.h (EMACS_INT_MAX):
9888         Added the manifest constant EMACS_INT_MIN corresponding to the
9889         existing constant EMACS_INT_MAX.  This is partially to fix compile
9890         warnings under Windows, and partly for cleanliness.
9891
9892         * menubar-msw.c:
9893         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9894         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9895         * menubar-msw.c (displayable_menu_item):
9896         * menubar-msw.c (populate_menu_add_item):
9897         * menubar-msw.c (populate_or_checksum_helper):
9898         * menubar-msw.c (populate_menu):
9899         * menubar-msw.c (update_frame_menubar_maybe):
9900         * menubar-msw.c (prune_menubar):
9901         * menubar-msw.c (msw_char_is_accelerator):
9902         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9903         * menubar-msw.c (mswindows_handle_wm_command):
9904         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9905         * menubar-msw.c (mswindows_handle_wm_initmenu):
9906         * menubar-msw.c (mswindows_update_frame_menubars):
9907         * menubar-msw.c (mswindows_free_frame_menubars):
9908         * menubar-msw.c (mswindows_popup_menu):
9909         Fixed a bug in handling accelerators where an extra character
9910         would be displayed in the menu item.  Also generalized the
9911         function displayable_menu_item because it is now used by the
9912         dialog box code as well.  And finally, added code in the functions
9913         that create the menubar to extract a list of accelerators for the
9914         top level menubar, which is used in the event code to determine
9915         whether a particular alt-key combination should be used to invoke
9916         a menu item, or should be passed through to access the standard
9917         XEmacs keymap binding for this key combination.
9918
9919         Much needed GCPROing.
9920
9921         * menubar-x.c:
9922         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9923         * menubar-x.c (menu_item_descriptor_to_widget_value):
9924         * menubar-x.c (restore_in_menu_callback):
9925         * menubar-x.c (x_popup_menu):
9926         * menubar-x.c (menu_move_up):
9927         * menubar-x.c (menu_move_down):
9928         * menubar-x.c (menu_move_left):
9929         * menubar-x.c (menu_move_right):
9930         * menubar-x.c (menu_select_item):
9931         * menubar-x.c (command_builder_operate_menu_accelerator):
9932         * menubar-x.c (menu_accelerator_junk_on_error):
9933         * menubar-x.c (command_builder_find_menu_accelerator):
9934         * menubar-x.c (Faccelerate_menu):
9935         * menubar.h:
9936         Moved a whole bunch of code here that was previously in
9937         event-stream.c as described above.  There is also code connected
9938         to the new standard of adding an accelerator to the beginning of
9939         menu items that don't have one as described above and below.
9940
9941         * menubar.c:
9942         * menubar.c (menu_parse_submenu_keywords):
9943         * menubar.c (Fmenu_find_real_submenu):
9944         * menubar.c (Fnormalize_menu_item_name):
9945         * menubar.c (syms_of_menubar):
9946         * menubar.c (vars_of_menubar):
9947         * menubar.c (complex_vars_of_menubar):
9948
9949         a) Cleaned up a bunch of documentation and improved it.
9950
9951         b) XEmacs now automatically adds an accelerator onto the beginning
9952         of any menu items that don't have one.  I did this because there
9953         will inevitably be some menu items on the main menubar that don't
9954         have accelerators on them because the package that adds that
9955         particular menu item hasn't yet been fixed up to have accelerators
9956         in them and it looked rather strange to have some items with and
9957         some items without accelerators, especially since even in items
9958         without accelerators, you can, at least under windows, still
9959         access the item through an accelerator corresponding to the first
9960         character in the item's name.  If people don't like this behavior,
9961         I can add a variable to turn it off optionally, but I'm not sure
9962         this is a good idea because we really do need to have accelerators
9963         on all of the menu items, and if a package doesn't like the
9964         accelerators being put on the first character, then it should put
9965         the accelerators where they belong.
9966
9967         c) I made a behavior change, which is that the descriptor that
9968         specifies the text of the menu item, which formerly was just a
9969         string, can now also be an evaluated expression.  This makes this
9970         descriptor parallel with all of the others, which could also be
9971         evaluated expressions.  This also obviates the need for the
9972         keyword :label, which was previously listed in the documentation
9973         as unimplemented, and which was for the same purpose.
9974
9975         d) GCPROing.
9976
9977         * ntproc.c:
9978         * ntproc.c (new_child):
9979         * ntproc.c (sys_spawnve):
9980         * ntproc.c (find_child_console):
9981         * ntproc.c (sys_kill):
9982         Fixed compile warnings.  By the way, this file should really go
9983         away entirely, and this will happen as soon as Kirill makes his
9984         final round of process cleanups, which affect the function
9985         call-process.
9986
9987         * process-nt.c:
9988         * process-nt.c (struct nt_process_data):
9989         * process-nt.c (find_process_from_pid):
9990         * process-nt.c (send_signal_the_nt_way):
9991         * process-nt.c (enable_child_signals):
9992         * process-nt.c (find_child_console):
9993         * process-nt.c (send_signal_the_95_way):
9994         * process-nt.c (nt_finalize_process_data):
9995         * process-nt.c (ensure_console_window_exists):
9996         * process-nt.c (nt_create_process):
9997         * process-nt.c (nt_kill_child_process):
9998         * process-nt.c (nt_kill_process_by_pid):
9999         * process-nt.c (nt_open_network_stream):
10000         * process-nt.c (vars_of_process_nt):
10001         Copied over code from Emacs 20.5 to correctly send signals to sub-
10002         processes under Windows 95.  Also added code to automatically
10003         create and hide console window when a sub-process is created under
10004         Windows 95, which obviates the need for the separate runemacs.exe
10005         executable, and finally implemented some variables that were
10006         implemented in Emacs 20.5, but previously not in XEmacs.  These
10007         include mswindows- start-process-share-console and
10008         mswindows-start-process-inherit-error-mode. (Both of these only
10009         apply to Windows 95.)
10010
10011         * regex.c (regex_compile): Fixed a compile warning.
10012
10013         * select-msw.c:
10014         * select-msw.c (mswindows_own_selection):
10015         * select-msw.c (mswindows_get_foreign_selection):
10016         * select-msw.c (mswindows_disown_selection):
10017         * select-msw.c (console_type_create_select_mswindows):
10018         * select-msw.c (syms_of_select_mswindows):
10019         Cleaned up the file and implemented the device method
10020         selection_exists_p, which had accidentally been left out.  Also
10021         removed four lisp functions that were remnants from before the
10022         time when the selection code was properly device abstracted.
10023         These functions are no longer needed because there are generic
10024         equivalents, and because they were added recently and don't exist
10025         in FSF Emacs, I don't think there's any problem with just deleting
10026         them.
10027
10028         * sysdep.c:
10029         * sysdep.c (sys_subshell):
10030         Fixed a compile warning, although in this case there's probably
10031         something wrong with this code, and it ought to be looked into
10032         more thoroughly by somebody who understands it.
10033
10034         * window.c:
10035         * window.c (Fwindow_text_area_height):
10036         * window.c (Fwindow_width):
10037         * window.c (Fwindow_full_width):
10038         * window.c (Fwindow_pixel_width):
10039         * window.c (debug_print_window):
10040         * window.c (syms_of_window):
10041         Added functions window-text-area-height and window-full-width,
10042         which are functions for returning various width and height
10043         characteristics of a window. (One of these functions is necessary
10044         for making the file dialog box work correctly, and the other one
10045         was added for completeness.)  Also added a table to the
10046         documentation for window-height which describes the entire scheme
10047         for accessing width and height characteristics of a window.
10048
10049 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10050
10051         * nt.c (fstat): Added a comment for another problem with
10052         non-encapsulated [f]stat(), reported by Adrian Aichner
10053         <aichner@ecf.teradyne.com>.
10054
10055 2000-03-11  Andy Piper  <andy@xemacs.org>
10056
10057         * window.c (make_dummy_parent): initialize subwindow instance
10058         cache.
10059         (Fset_window_configuration): zero extent_modiff.
10060
10061 2000-03-10  Andy Piper  <andy@xemacs.org>
10062
10063         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10064         more changes can be triggered.
10065         (Fredisplay_frame): ditto.
10066         (Fredraw_device): ditto.
10067         (Fredisplay_device): ditto.
10068         (redisplay_frame): make non-static.
10069         (redisplay_frame): call update_frame_gutter_geometry outside of
10070         display proper.
10071
10072         * gutter.h: declare update_frame_gutter_geometry.
10073
10074         * redisplay.h: declare redisplay_frame.
10075
10076         * gutter.c (update_frame_gutter_geometry): move geometry changes
10077         in update_frame_gutters here. Geometry changes can only occur
10078         outside of redisplay.
10079         (update_frame_gutters): remove geometry change code.
10080         (Fredisplay_gutter_area): make sure that we are in display when we
10081         update and that we have flushed any size changes.
10082
10083 2000-03-11  Andy Piper  <andy@xemacs.org>
10084
10085         * alloc.c (pdump_dump_data): remove i & count shadows.
10086
10087 2000-02-27  Mike Alexander  <mta@arbortext.com>
10088
10089         * sysdep.h: Declare pdump_read_file
10090
10091         * sysdep.c (pdump_read_file): New function
10092
10093         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10094         dump data
10095
10096 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10097
10098         * lrecord.h: add `lrecord_type_pgsetenv'.
10099
10100 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10101
10102         * symsinit.h: declare (vars|syms)_of* functions.
10103         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10104
10105 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10106
10107         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10108
10109         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10110         GCCs.
10111
10112         * emacs.c (main_1): Call postgres initialization code.
10113
10114         * postgresql.h: New file.  PostgreSQL RDBMS support.
10115         * postgresql.c: New file.
10116
10117 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10118
10119         * redisplay-output.c (redisplay_output_display_block): Disable
10120         redundant code.
10121
10122 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10123
10124         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10125         (Fcanna_henkan_next): Ditto.
10126         (Fcanna_bunsetu_henkou): Ditto.
10127         (Fcanna_henkan_kakutei): Ditto.
10128         (Fcanna_henkan_end): Ditto.
10129         (Fcanna_henkan_quit): Ditto.
10130         (Fcanna_henkan_next): Set retun value correctly.
10131         (c2mu): Use unsigned char instead of signed char.
10132
10133 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10134
10135         * emacs.c (main_1): Always call syms_of_gui.
10136         * inline.c: include gui.h
10137
10138 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10139
10140         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10141         converted to Lisp_Object.
10142         (Qtop_bottom): New variable.
10143         (syms_of_redisplay): Initialize it.
10144         * redisplay.h (Vvisible_bell): Ditto.
10145         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10146         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10147         only flash top and bottom.
10148
10149 2000-03-08  Andy Piper  <andy@xemacs.org>
10150
10151         * buffer.c (Frename_buffer): record new buffer name the right way.
10152
10153 2000-03-08  Andy Piper  <andy@xemacs.org>
10154
10155         * glyphs.c (update_subwindow): increase hash depth so that widget
10156         items get picked up properly.
10157
10158         * redisplay-output.c (compare_runes): increase hash depth so that
10159         widget items get picked up properly.
10160
10161 2000-03-08  Andy Piper  <andy@xemacs.org>
10162
10163         * gutter.c (output_gutter): add some debug.
10164
10165         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10166         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10167         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10168
10169         * redisplay-output.c (compare_runes): use display_hash to
10170         determine if glyphs really are not the same.
10171
10172         * glyphs.c (update_subwindow): check display_hash to see if
10173         anything really needs to be updated. If not then do
10174         nothing. Record the display_hash after updating.
10175         (image_instance_equal): compare the image_instance face also.
10176
10177 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10178
10179         * redisplay.h: Fix comment style.
10180
10181 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10182
10183         * consle-msw.h (struct mswindows_frame):
10184         Added new member paint_pending to indicate whether a WM_PAINT
10185         magic event has been queued for this frame.
10186
10187         * event-msw.c (mswindows_drain_windows_queue):
10188         Don't queue a WM_PAINT magic event if one is already queued.
10189         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10190
10191         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10192
10193 2000-03-07  Didier Verna  <didier@xemacs.org>
10194
10195         * dired.c: #include `regex.h' after `sysfile.h'.
10196
10197 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10198
10199         * sound.c (init_nas_sound): Fix compiler warning.
10200
10201         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10202         (FREE_STRUCT_P):
10203         (MARK_STRUCT_AS_FREE):
10204         (MARK_STRUCT_AS_NOT_FREE):
10205         Make `gcc -fstrict-aliasing' work properly.
10206
10207 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10208
10209         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10210         (mswindows_delete_device): Call CoUnnitialize().
10211
10212         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10213
10214 2000-02-25    <CraigL@DyCon.com>
10215
10216         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10217         <errno.h>.
10218
10219         * sysdep.c: This extern declaration for environ prevents MinGW
10220         from finding the variable in CRTDLL.DLL.
10221
10222         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10223         windows headers.
10224         (SHGFI_EXETYPE): ..
10225         (WM_MOUSEWHEEL): ..
10226         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10227         definitions.
10228         (MMRESULT): Removed, now defined in cygwin's windows headers.
10229         (TIMECAPS): ..
10230         (uid_t,gid_t,pid_t,ssize_t): ..
10231         (_timeb): Removed, MinGW defines both _timeb and timeb.
10232         (HAVE_H_ERRNO): Added.
10233         (HAVE_TZNAME): Added, configure is not detecting this.
10234
10235 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10236
10237         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10238         * syntax.c (syntax_match): Use it.
10239
10240         * cmds.c: Import auto-fill-chars from FSF Emacs.
10241         (Vauto_fill_chars): New variables.
10242         (internal_self_insert): Check Vauto_fill_chars.
10243         (vars_of_cmds):
10244         Declare auto-fill-chars as a Lisp variable and initialize it.
10245
10246 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10247
10248         * fileio.c (Fmake_symbolic_link):
10249         (Ffile_symlink_p):
10250         Run handlers even if local machine doesn't have symlinks.
10251
10252 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10253
10254         * event-msw.c (mswindows_drain_windows_queue):
10255         Don't generate paint magic events for non-XEmacs frames.
10256
10257 2000-03-05  Andy Piper  <andy@xemacs.org>
10258
10259         * redisplay.c (redisplay_frame): generate_displayable_area and
10260         friends assumes that we are not in GC, we therefore have to make
10261         sure that this doesn't happen.
10262
10263         * gutter.c (calculate_gutter_size): generate_displayable_area
10264         assumes that we are not in GC, we therefore have to make sure that
10265         this doesn't happen.
10266
10267 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10268
10269         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10270
10271 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10272
10273         * redisplay.c (regenerate_window): Make sure we set a sane value
10274         for end_pos even if we jump out of the loop.
10275         (regenerate_window): Answer Ben's question :-).
10276         (start_end_of_last_line): Add may_error argument.
10277         (start_of_last_line):
10278         (end_of_last_line): Pass may_error = 0.
10279         (end_of_last_line_may_error): New function.
10280         (pixel_to_glyph_translation): Use it, so we don't crash in
10281         event_to_glyph.
10282
10283 2000-03-04  Andy Piper  <andy@xemacs.org>
10284
10285         * window.h (struct window): add gutter_extent_modiff.
10286
10287         * window.c (allocate_window): zero out gutter_extent_modiff.
10288
10289         * redisplay.h: declare sync_display_line_structs.
10290
10291         * redisplay.c (add_glyph_rune): add a better comment.
10292
10293         * redisplay-output.c (sync_display_line_structs): made non-static.
10294         (compare_runes): remove unneccesary glyph cachel access.
10295
10296         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10297
10298         * gutter.c (output_gutter): don't output the gutter if extent
10299         changes only involve extents in buffers. use 4 sets of display
10300         lines.
10301         (gutter_extent_signal_changed_region_maybe): new function. Mark
10302         extents in gutters as changed.
10303         (update_frame_gutters): use 4 sets of display lines.
10304         (reset_gutter_display_lines): ditto.
10305         (free_frame_gutters): ditto.
10306         (redraw_exposed_gutter): force output of gutters.
10307
10308         * frame.h (struct frame): add 4 sets of gutter display lines.
10309
10310         * extents.c: (extent_changed_for_redisplay): signal changes to
10311         extents in strings in the gutter as well as extents in buffers.
10312
10313 2000-03-02  Andy Piper  <andy@xemacs.org>
10314
10315         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10316
10317         * frame.c (Fmake_frame): make sure the gutters get initialized
10318         after the frame is visible.
10319         (set_frame_selected_window): re-arrange compilation macros a
10320         little.
10321         (change_frame_size_1): mark gutters changed.
10322
10323         * device.c (Fset_device_class): mark gutters changed.
10324
10325 2000-03-01  Andy Piper  <andy@xemacs.org>
10326
10327         * window.c (window_top_frame_gutter_height): deleted.
10328         (window_bottom_frame_gutter_height): ditto.
10329         (window_left_frame_gutter_height): ditto.
10330         (window_right_frame_gutter_height): ditto.
10331         (window_top_gutter_height): don't use them.
10332         (window_bottom_gutter_height): ditto.
10333         (window_left_gutter_width): ditto.
10334         (window_right_gutter_width): ditto.
10335         (Fsplit_window): ditto.
10336         (Fwindow_pixel_edges): don't use border dimensions here.
10337
10338         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10339         (update_scrollbar_instance): ditto.
10340
10341         * redisplay.c (generate_modeline): don't take gutters into account.
10342         (generate_modeline): ditto.
10343         (redisplay_frame): small gutter display optimization.
10344
10345         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10346
10347         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10348         gutters into account.
10349
10350         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10351         for window position and type.
10352
10353         * gutter.c (get_gutter_coords): fix for frame gutters.
10354         (update_frame_gutters): update frame geometry if the gutters have
10355         changed.
10356         (init_frame_gutters): record current gutter geometries.
10357
10358         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10359         var.
10360         (mswindows_widget_instantiate): ditto.
10361
10362         * frame.h (struct frame): add current_gutter_bounds.
10363
10364         * frame.c (change_frame_size_1): position window and minibuffer
10365         appropriately taking into account the frame gutters.
10366
10367         * frame-x.c: (x_initialize_frame_size): take into account the
10368         frame gutters.
10369
10370 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10371
10372         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10373
10374 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10375
10376         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10377
10378 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10379
10380         * file-coding.c (reset_decoding_stream): Clear previous
10381         detection state when autodetect.
10382
10383 2000-02-29  Didier Verna  <didier@xemacs.org>
10384
10385         * extents.c (set_extent_glyph_1): don't require extents to be
10386         attached.
10387
10388 2000-02-27  Andy Piper  <andy@xemacs.org>
10389
10390         * gutter.c (Fset_default_gutter_position): don't default left and
10391         right gutter visibility to t.
10392         (Fset_default_gutter_position): run
10393         default-gutter-position-changed-hook.
10394         (syms_of_gutter): add default-gutter-position-changed-hook.
10395
10396 2000-02-26  Andy Piper  <andy@xemacs.org>
10397
10398         * specifier.c (Fmake_specifier): add gutter references.
10399
10400         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10401
10402         * lisp.h: declare Fvalid_plist_p.
10403
10404         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10405         as changed.
10406         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10407         well as its visibility so that it gets reconstructed.
10408         (construct_window_gutter_spec): new function. Construct a string
10409         to be displayed in the gutter from a plist of strings. Take care
10410         to only use elements that are declared as visible.
10411         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10412         WINDOW_GUTTER.
10413         (gutter_validate): allow plists of strings in the specifier.
10414         (gutter_specs_changed): construct the real_gutter from the gutter
10415         specs using construct_window_gutter_spec.
10416         (gutter_visible_validate): gutter-visible is a new specifier type.
10417         (Fgutter_visible_specifier_p): new function for the new specifier.
10418         (syms_of_gutter): declare gutter-visible and
10419         Fgutter_visible_specifier_p.
10420         (specifier_type_create_gutter): intitalize new gutter-visible
10421         specifier.
10422         (reinit_specifier_type_create_gutter): ditto.
10423         (specifier_vars_of_gutter): use new specifier type for gutter
10424         visibility.
10425         (init_frame_gutters): construct real_gutter correctly.
10426         (Fgutter_specifier_p): beef up documentation.
10427         (Fgutter_size_specifier_p): ditto.
10428
10429         * winslots.h: add real_gutter slots.
10430
10431 2000-02-25  Andy Piper  <andy@xemacs.org>
10432
10433         * device-msw.c: Be kind to older cygwin versions. From Raymond
10434         Toy <toy@rtp.ericsson.se>.
10435
10436         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10437         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10438
10439 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10440
10441         * elhash.c (MARK_OBJ): Practice macro hygiene.
10442
10443 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10444
10445         * miscplay.c: s/__inline__/inline/g;
10446         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10447         (get_device_compdc): INLINE ==> static inline
10448         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10449         find -name '*.h' | \
10450         xargs global-replace \
10451         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10452
10453 2000-02-25  Andy Piper  <andy@xemacs.org>
10454
10455         * window.c (window_top_frame_gutter_height): new function.
10456         (window_top_window_gutter_height): ditto.
10457         (window_top_gutter_height): use them.
10458         (window_bottom_frame_gutter_height): new function.
10459         (window_bottom_window_gutter_height): ditto.
10460         (window_bottom_gutter_height): use them.
10461         (window_left_window_gutter_width): new function.
10462         (window_left_frame_gutter_width): ditto.
10463         (window_left_gutter_width): use them.
10464         (window_right_window_gutter_width): new function.
10465         (window_right_frame_gutter_width): ditto.
10466         (window_right_gutter_width): use them.
10467         (window_pixel_height): new function. calulate window pixel height
10468         with frame gutter involvement.
10469         (Fsplit_window): calculate new sizes taking frame gutters into
10470         account.
10471         (window_char_height_to_pixel_height): don't include frame gutters.
10472         (window_char_height): use window_pixel_height.
10473         (window_pixheight): rename from window_pixel_height.
10474         (change_window_height): use it.
10475         (window_pixel_height_to_char_height): don't include frame gutters.
10476         (window_char_width_to_pixel_width): ditto.
10477
10478 2000-02-25  Andy Piper  <andy@xemacs.org>
10479
10480         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10481         if it is.
10482
10483 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10484
10485         * alloc.c (staticpro):
10486         (staticpro_nodump):
10487         (dumpstruct):
10488         (dumpopaque):
10489         (pdump_wire):
10490         (pdump_wire_list):
10491         (compact_string_chars):
10492         (pdump_dump_wired):
10493         Convert:  if (foo) abort();  ==>  assert (! foo);
10494
10495         * eldap.c (Fldap_search_basic):
10496         (Fldap_add):
10497         (Fldap_modify):
10498         (Fldap_delete):
10499         Fix compiler warnings, and possible crashes if (random) return
10500         value were to be used.
10501
10502 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10503
10504         * device-msw.c: Workaround ResetDC failure.
10505
10506         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10507         applying a devmode.
10508
10509         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10510         (mswindows_text_width): Do not start printer page.
10511
10512         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10513
10514         * glyphs-msw.c: Added image methods to msprinter console and
10515         msprinter-specific image instantiation.
10516
10517 2000-02-20  Mike Alexander  <mta@arbortext.com>
10518
10519         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10520         to avoid crashes when selection-sets-clipboard is on
10521         (mswindows_own_selection): ditto
10522
10523 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10524
10525         * glyphs-msw.c:
10526         * redisplay-msw.c (get_frame_dc):
10527         (get_frame_compdc):
10528         * console-msw.h:
10529         * device-msw.c (mswindows_init_device):
10530         (mswindows_delete_device):
10531         (msprinter_init_device):
10532         (msprinter_delete_device):
10533         * frame-msw.c (mswindows_init_frame_1):
10534         (mswindows_delete_frame):
10535         (msprinter_init_frame_3):
10536         (msprinter_delete_frame): Move compatible DC to device object from
10537         frame object, for both mswindows and msprinter. Only one at a time
10538         is needed, it is a real waste to have one per frame!
10539
10540 2000-02-23  Andy Piper  <andy@xemacs.org>
10541
10542         * glyphs.c: add dynamic width and height elements.
10543         (image_instance_equal): ditto.
10544
10545         * glyphs-widget.c (widget_query_geometry): calculate width and
10546         height dynamically if required.
10547         (initialize_widget_image_instance): initialize dynamic dimensions.
10548         (widget_instantiate): pick-up dynamic dimensions.
10549
10550         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10551         dynamic determination. Add appropriate macros.
10552
10553         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10554         dimensions safe.
10555         (WINDOW_GUTTER_SIZE): ditto.
10556         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10557
10558         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10559         inline.
10560         (get_frame_dc): ditto.
10561
10562         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10563         here.
10564
10565 2000-02-23  Martin Buchholz <martin@xemacs.org>
10566
10567         * XEmacs 21.2.31 is released.
10568
10569 2000-02-22  Ben Wing <ben@xemacs.org>
10570
10571         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10572
10573 2000-02-22  Andy Piper  <andy@xemacs.org>
10574
10575         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10576
10577 2000-02-21  Mike Sperber <mike@xemacs.org>
10578
10579         * .dbxrc:
10580         * .gdbinit:
10581         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10582         variables.
10583
10584 2000-02-21  Mike Sperber <mike@xemacs.org>
10585
10586         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10587
10588 2000-02-21  Martin Buchholz <martin@xemacs.org>
10589
10590         * XEmacs 21.2.30 is released.
10591
10592 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10593
10594         Performance hacking.
10595         * *.c (syms_of_*):
10596         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10597         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10598         * emacs.c (main_1):
10599         * lisp.h (DEFUN):
10600         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10601         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10602         * symeval.h (DEFVAR_SYMVAL_FWD):
10603         * symbols.c (guts_of_unbound_marker):
10604         Make all c_readonly objects also lisp_readonly and marked for life.
10605         * lrecord.h (struct lrecord_implementation):
10606         Document flags better.
10607         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10608         * lrecord.h (DECLARE_LRECORD):
10609         * lrecord.h (XSETRECORD):
10610         * lrecord.h (RECORDP):
10611         * lrecord.h (RECORD_TYPEP):
10612         * lrecord.h (RECORD_MARKER): New.
10613         * lrecord.h (error_check_*):
10614         * lrecord.h (CONCHECK_NONRECORD):
10615         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10616         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10617         * lrecord.h (set_lheader_implementation):
10618         * lrecord.h (enum lrecord_type): New.
10619         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10620         * alloc.c (disksave_object_finalization_1):
10621         * alloc.c (mark_object):
10622         * alloc.c (lrecord_type_index):
10623         * alloc.c (tick_lcrecord_stats):
10624         * alloc.c (Fgarbage_collect):
10625         * alloc.c (init_alloc_once_early):
10626         * alloc.c (pdump_load):
10627         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10628         * alloc.c (lrecord_type_index): Delete.
10629         Make lisp object type indexes be constant.
10630           Makes (byte-compile) 5% faster.
10631         Put all marker functions into their own array.
10632           Makes (garbage-collect) 5% faster.
10633         Optimize SYMBOL_VALUE_MAGIC_P.
10634           Makes (byte-compile) 2-3% faster.
10635         * config.h.in (gc_checking_assert): New.
10636         * alloc.c: Use gc_checking_assert().
10637         * .dbxrc: Make compatible with new object type implementation.
10638         * .gdbinit: Make compatible with new object type implementation.
10639         * alloc.c: Delete all symbols defined only for debugging, such as
10640         Lisp_Type_Vector and lrecord_charset.
10641
10642 2000-02-21  Andy Piper  <andy@xemacs.org>
10643
10644         * gui-msw.c (Fmswindows_shell_execute): fix file location
10645         problems.
10646
10647         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10648         unshowing so that set_window_buffer doesn't undo
10649         kill_buffer_hook's hard work.
10650
10651         * glyphs-widget.c (tab_control_query_geometry): don't count the
10652         first item when calculating geometry.
10653
10654         * glyphs.c (map_subwindow): remove redundant code.
10655         (update_frame_subwindows): be more circumspect about when to
10656         update subwindows.
10657
10658         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10659         when items haven't changed. Update faces if faces have changed as
10660         well as just the widget face.
10661         (x_tab_control_update): Update faces if faces have changed as well
10662         as just the widget face.
10663
10664 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10665
10666         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10667         registration.
10668         (build_syscolor_string): Use mswindows_color_to_string to try to
10669         get a named color.
10670         (mswindows_device_system_metrics): Reverse the foreground and
10671         background colors so that they match the documentation.
10672
10673         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10674         they match the default Windows palette.
10675         (mswindows_color_to_string): New function.
10676
10677 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10678
10679         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10680
10681 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10682
10683         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10684         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10685
10686         * symbols.c (init_symbols_once_early): Removed obsolete
10687         DATA_SEG_BITS related kludge.
10688         (defvar_magic): Ditto.
10689
10690         * malloc.c: Removed obsolete DATA_SEG_BITS
10691         * ralloc.c: Ditto.
10692         * mem-limits.h: Ditto.
10693
10694         * Makefile.in.in: Removed obsolete HAVE_SHM
10695         * emacs.c: Ditto.
10696
10697 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10698
10699         *  device-msw.c (mswindows_delete_device): Free DDE string
10700         handles.
10701
10702 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10703
10704         * keymap.c (get_keyelt):
10705         * unexnt.c (unexec):
10706         * vm-limit.c (memory_warnings):
10707         * ntheap.c (recreate_heap):
10708         * ntheap.h (UNINIT_PTR):
10709         * select-msw.c (Fmswindows_get_clipboard):
10710         (Fmswindows_set_clipboard):
10711         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10712         * objects-msw.c:
10713         * menubar-msw.c (displayable_menu_item):
10714         * glyphs-msw.c:
10715         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10716         * sysdep.c (sys_subshell):
10717         * process-nt.c (nt_create_process):
10718         * nt.c (normalize_filename):
10719         (dostounix_filename):
10720         (unixtodos_filename):
10721         * ntproc.c (win32_executable_type):
10722         * ntplay.c (play_sound_data_1):
10723         (play_sound_file):
10724         * editfns.c (get_home_directory):
10725         * event-msw.c (struct winsock_stream):
10726         (mswindows_dde_callback):
10727         * device-msw.c (msprinter_init_device):
10728         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10729
10730         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10731         mswindows_clear_toolbar were swapped!
10732
10733         * objects-msw.c:(colormap_t):
10734         (fontmap_t):
10735         * emacs.c (struct standard_args): Fixed const jumble.
10736
10737         * glyphs-widget.c (update_widget): Fixed comparison notation.
10738
10739         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10740
10741         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10742         __declspec(noreturn) syntax.
10743
10744 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10745
10746         * eldap.c (Fldap_open):
10747         (Fldap_search_basic):
10748         (Fldap_add):
10749         (Fldap_modify):
10750         Use new coding system conversion macros.
10751
10752 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10753
10754         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10755
10756 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10757
10758         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10759         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10760
10761         * eldap.c (Qadd, Qreplace): New constant symbols
10762         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10763         interruptions by XEmacs signals
10764         Remove unnecessary calls to slow_down_interrupts and
10765         speed_up_interrupts
10766         (Fldap_search_basic): Renamed from Fldap_search_internal
10767         Added new optional parameter VERBOSE that triggers the
10768         display of progress messages
10769         Remove unnecessary calls to slow_down_interrupts and
10770         speed_up_interrupts
10771         LDAP result code analysis rewritten
10772         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10773         (syms_of_eldap): Define the new symbols and functions
10774
10775
10776 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10777
10778         * realpath.c: Determine PATH_MAX maximally portably.
10779
10780         * insdel.c (bytecount_to_charcount): Optimize.
10781         The function used to be optimized for entirely ASCII sequences.
10782         Now it is optimized for successive characters from the same
10783         charset.  This also wins big for _mostly_ ASCII sequences.
10784
10785         * fileio.c (Ffile_truename): convert return from realpath() using
10786         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10787         - Rewrite GCPROing slightly.
10788
10789         * sysdep.c (sys_open): Do filename conversion, like all other
10790         sys_* functions.  Fixes bug:
10791         (let ((file-name-coding-system 'iso-8859-2))
10792            (write-region x y latin2-name))
10793         ==> writes filename using internal encoding.
10794
10795 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10796
10797         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10798         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10799         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10800         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10801         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10802         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10803         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10804         (CONST_IF_NOT_DEBUG): Delete.
10805         * alloc.c (this_one_is_unmarkable): Delete.
10806         (mark_object): Don't check for this_one_is_unmarkable. Use the
10807         c_readonly flag instead.
10808         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10809
10810 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10811
10812         * event-msw.c (mswindows_drain_windows_queue):
10813         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10814         away redundant repaint events.
10815
10816 2000-02-17  Andy Piper  <andy@xemacs.org>
10817
10818         * redisplay.h: declare mark_redisplay_structs.
10819
10820         * redisplay.c (redisplay_window):
10821         (redisplay_frame): don't check subwindows_state_changed.
10822         (mark_redisplay): mark gutters here.
10823
10824         * glyphs.c: (instantiate_image_instantiator): always layout if we
10825         haven't done so already.
10826         (allocate_image_instance): don't mark as dirty.
10827         (update_subwindow): bind inhibit_quit.
10828
10829         * gutter.c (mark_gutters): new function.
10830
10831         * glyphs-x.c (x_update_widget): Always resize to get round a
10832         widget bug.
10833
10834         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10835         breaking absolutely everything.
10836
10837         * gutter.h: declare mark_gutters.
10838
10839 2000-02-16  Martin Buchholz <martin@xemacs.org>
10840
10841         * XEmacs 21.2.29 is released.
10842
10843 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10844
10845         * fns.c (size_bit_vector): Fix computation of the size.
10846
10847 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10848
10849         * *.[ch]: Change CONST to const globally.
10850         find -name '*.[ch]' | \
10851         xargs global-replace \
10852         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10853         - Remove vestigial references to CONST_IS_LOSING
10854
10855 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10856
10857         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10858         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10859         events instead of dispatching them directly.
10860         (mswindows_handle_paint): New function to do repainting.
10861         (mswindows_wnd_proc):
10862         (emacs_mswindows_handle_magic_event): Call above function.
10863
10864 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10865
10866         * objects-msw.c (mswindows_create_font_variant): Return the new
10867         font handle.
10868         (initialize_font_instance): Get font metrics from the underlined
10869         variant of the font to cope with the case where the underlined
10870         font has a bigger descent.
10871
10872 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10873
10874         * gui.c (gui_item_accelerator): Return the first underlined
10875         character in item name.
10876
10877 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10878
10879         * lisp.h: Added Qprinter.
10880
10881         * general.c (syms_of_general): Initialized it.
10882
10883         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10884         (get_frame_dc):
10885         (get_frame_compdc): Made inline.
10886
10887         * console.h (struct console_methods): Added eject_page method.
10888
10889         * frame.h: Added FRAME_DISPLAY_P and friends.
10890         Aligned backslahes in many macros in more readable fashion.
10891         Added page_number to struct frame, and an accessor macro
10892         for it.
10893
10894         * defice.h: Added DEVICE_DISPLAY_P and friends.
10895
10896         * device.c (Fdevice_printer_p): Used these.
10897
10898         * frame.c (allocate_frame_core): Initialize page number.
10899         (Fprint_job_page_number):
10900         (Fprint_job_eject_page): Implemented.
10901
10902         * frame-msw.c (msprinter_eject_page): Added method.
10903         (msprinter_start_page): Added.
10904
10905         * window.c (Fwindow_truncated_p): Fixed docstring.
10906         (Fwindow_last_line_visible_height): Implemented.
10907
10908 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10909
10910         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10911
10912 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10913
10914         * syntax.c (scan_words): Always advance at least one character.
10915
10916 2000-02-13  Andy Piper  <andy@xemacs.org>
10917
10918         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10919         to make sure the glyph is in the cachels.
10920
10921         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10922         global image instance flag.
10923         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10924         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10925
10926         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10927         (Fset_image_instance_property): mark layout as changed.
10928         (invalidate_glyph_geometry_maybe): mark layout as changed.
10929         (glyph_width): use new NEEDS_LAYOUT macro.
10930         (glyph_ascent): ditto.
10931         (glyph_descent): ditto.
10932         (glyph_height): ditto.
10933         (image_instance_layout): mark layout as clean after laying out.
10934         (update_subwindow): don't mark layout as clean here.
10935
10936         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10937         should no longer be needed.
10938
10939         * glyphs-x.c (x_update_widget): sanitize asserts.
10940         (x_finalize_image_instance): sanitize assignment to widgets.
10941
10942         * glyphs-widget.c (widget_instantiate): don't need to clear the
10943         layout flag here.
10944
10945 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10946
10947         * sysdep.c (getcwd): Use standard prototype.
10948         * sysdep.h (getcwd): Use standard prototype.
10949
10950         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10951         (sequence, start, end).
10952         Remove redundant type checking.
10953         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10954         view of `caller-protects') to avoid a crash where the real fix was
10955         found elsewhere.
10956
10957 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10958
10959         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10960
10961         * s/sol2.h: Remove feature macro initialization.
10962
10963         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10964         (vector_hash): New.  Code from internal_hash.
10965         * lrecord.h:
10966         Fix up allocation subsystem comments.
10967
10968         * config.h.in: Add __EXTENSIONS__ for Solaris.
10969
10970         * systime.h (EMACS_GETTIMEOFDAY): New.
10971         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10972         Remove Solaris-specific code.
10973         Use void* for the (ignored) second arg for gettimeofday().
10974
10975         * elhash.c (hash_table_hash): Implement it, finally.
10976         * elhash.c:  Use hashcode_t.
10977
10978         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10979         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10980
10981         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10982         * fns.c (size_bit_vector):
10983         * alloc.c (size_vector):
10984         (make_vector_internal):
10985         (make_bit_vector_internal):
10986         (sweep_bit_vectors_1):
10987         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10988
10989 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10990
10991         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10992         Include strings.h to avoid warnings for bzero and strcasecmp.
10993
10994 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10995
10996         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10997         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10998
10999         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11000         sequence.
11001
11002 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11003
11004         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11005         use a value field instead.
11006         (symbol_value_forward_forward): Use value field.
11007         (DEFVAR_SYMVAL_FWD): Use value field.
11008         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11009         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11010         (DEFVAR_CONST_INT): Ditto.
11011         (DEFVAR_BOOL): Ditto.
11012         (DEFVAR_CONST_BOOL): Ditto.
11013         (DEFVAR_INT_MAGIC): Ditto.
11014         (DEFVAR_BOOL_MAGIC): Ditto.
11015
11016         * symbols.c (guts_of_unbound_marker): Use value field.
11017         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11018         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11019
11020         * lisp.h: Declare dumpopaque and noninteractive1.
11021
11022         * alloc.c (dumpopaque): Added.
11023         (pdump_dump_opaquevec): Added.
11024         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11025         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11026         noninteractive.
11027
11028 2000-02-10  Andy Piper  <andy@xemacs.org>
11029
11030         * glyphs.c (image_instance_layout): if the size changes, mark it
11031         as such.
11032
11033         * redisplay-output.c (redisplay_output_layout): Update the
11034         subwindow here.
11035         (redisplay_output_subwindow): ditto.
11036
11037         * glyphs.c (update_subwindow): make sure we reset flags for
11038         layouts as well as everything else.
11039
11040         * glyphs-widget.c (layout_layout): don't need to set the instances
11041         dimensions here.
11042
11043 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11044
11045         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11046         not HAVE_DLOPEN, which is a lower-level thing.
11047
11048         * .cvsignore: Ignore gmon.out
11049
11050 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11051
11052         * .cvsignore: Ignore portable dumper xemacs.dmp file
11053
11054 2000-02-09  Andy Piper  <andy@xemacs.org>
11055
11056         * redisplay-output.c (redisplay_output_layout): be more clever
11057         about when we output based on the changed flags.
11058
11059         * glyphs.h (struct image_instantiator_methods): add update_method.
11060         (struct Lisp_Image_Instance): add changed flags. Declare new
11061         macros for manipulating them.
11062
11063         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11064         (image_instance_parent_glyph): find an image_instance's parent
11065         glyph or image_instance.
11066         (image_instance_layout): mark the size as changed.
11067         (set_image_instance_dirty_p): new function. mark an image
11068         instance, plus all of its parents, as dirty.
11069         (Fset_image_instance_property): use it.
11070         (Fglyph_animated_timeout_handler): use it.
11071         (update_subwindow): call update_widget and device methods for
11072         update_subwindow. Mark all changed flags as clean.
11073         (Fresize_subwindow): mark size as changed.
11074
11075         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11076         failures.
11077         (x_update_subwindow): only resize subwindows here.
11078         (x_update_widget): new function. Update all changed properties of
11079         a widget.
11080         (x_resize_subwindow): deleted.
11081         (x_widget_set_property): deleted.
11082         (x_progress_gauge_set_property): deleted.
11083         (x_progress_gauge_update): new function. Implement recorded
11084         changes.
11085         (x_tab_control_update): ditto.
11086         (x_tab_control_set_property): deleted.
11087         (console_type_create_glyphs_x): declare new functions.
11088         (image_instantiator_format_create_glyphs_x): ditto.
11089
11090         * glyphs-widget.c (widget_set_property): mark text changed.
11091         (update_widget): new function. Update properties of a widget.
11092         (widget_instantiate): for layouts make sure we set their
11093         children's parent correctly.
11094         (tab_control_set_property): new function. Record changes that will
11095         take place under redisplay's control.
11096         (progress_gauge_set_property): ditto.
11097         (image_instantiator_progress_guage): declare new functions.
11098         (image_instantiator_tab_control): ditto.
11099
11100         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11101         now.
11102         (mswindows_update_widget): new function. Update all properties on
11103         a widget that have changed.
11104         (mswindows_button_update): new function. Update a button's set
11105         state.
11106         (mswindows_tab_control_update): new function. Update the items in
11107         a tab.
11108         (mswindows_tab_control_set_property): deleted.
11109         (mswindows_progress_gauge_update): new function. Update the
11110         progress gauge's progress.
11111         (mswindows_widget_set_property): deleted. This is all done
11112         asynchronously now.
11113         (mswindows_progress_gauge_set_property): ditto.
11114         (console_type_create_glyphs_mswindows): declare new methods.
11115         (image_instantiator_format_create_glyphs_mswindows): ditto.
11116
11117         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11118         (msprinter_set_frame_properties): ditto.
11119
11120         * console.h (struct console_methods): Add update_widget_method.
11121
11122 2000-02-09  Andy Piper  <andy@xemacs.org>
11123
11124         * gui-msw.c (Fmswindows_shell_execute): Make
11125         mswindows-shell-execute industrial strength.
11126
11127 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11128
11129         * lrecord.h: Make macro argument `props' match member function `plist'.
11130         * fns.c (Fget):
11131         * fns.c (Fput):
11132         * fns.c (Fremprop):
11133         * fns.c (Fobject_plist):
11134         * alloc.c:
11135         * symbols.c:
11136         Object property list frobbing cleanup.
11137         - Allow any lisp object (compared with `eq'), not just symbols, as
11138           keys in object plists.
11139         - Move symbol plist frobbing into symbols.c, where it belongs.
11140         - Move string plist frobbing into alloc.c, where it belongs.
11141         - Everything's an lrecord now, so no need to test for symbolp, etc.
11142         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11143
11144         * extents.c: Reorder code to remove declarations.
11145
11146         * frame.h (store_in_alist): Remove useless declaration.
11147
11148 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11149
11150         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11151         * config.h.in: Add HAVE_XCONVERTCASE.
11152
11153 2000-02-07  Andy Piper  <andy@xemacs.org>
11154
11155         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11156         it breaks many things.
11157
11158 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11159
11160         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11161         actually can start a common comment type.
11162         * src/syntax.h (SYNTAX_END_P): ditto for end.
11163
11164 2000-02-07  Martin Buchholz <martin@xemacs.org>
11165
11166         * XEmacs 21.2.28 is released.
11167
11168 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11169
11170         * event-Xt.c (x_keysym_to_character): New.
11171         (maybe_define_x_key_as_self_inserting_character): New.
11172         (x_has_keysym): New.
11173         Auto-define all keys on the keyboard as self-insert-key.
11174
11175 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11176
11177         * menubar.c (vars_of_menubar): A small code simplification.
11178
11179         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11180
11181         * ExternalShell.c:
11182         * ExternalClient.c:
11183         * EmacsShell-sub.c:
11184         * EmacsManager.c:
11185         * EmacsFrame.c:
11186         Use consistent style for specifying X resources.
11187
11188         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11189         This makes (dontusethis-set-symbol-value-handler) actually usable.
11190
11191         * lrecord.h (lrecord_decription_type):
11192         * alloc.c (pdump_register_sub):
11193         (pdump_dump_data):
11194         (pdump_reloc_one):
11195         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11196         Comply with XEmacs coding style.
11197         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11198         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11199
11200         * keymap.c (Faccessible_keymaps):
11201         Make (accessible-keymaps map "\C-h") do the Right Thing.
11202         Make (accessible-keymaps map []) do the Right Thing.
11203         Make (accessible-keymaps map "") do the Right Thing.
11204         (check_keymap_definition_loop): New function.
11205         (keymap_store_internal): Keep luser from shooting self in foot,
11206           via (define-key ctl-x-4-map "p" global-map).
11207         Remove fullness slot from struct Lisp_Keymap, since hash tables
11208         are now reliable.
11209         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11210
11211 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11212
11213         * redisplay.c (init_redisplay): Fix small memory leak.
11214         * elhash.h:
11215         * elhash.c (pdump_reorganize_hash_table):
11216         Rename from reorganize_hash_table. Change prototype.
11217         Reuse the original memory for hentries.  Save 100k.
11218         * alloc.c (PDUMP_READ): new macro.
11219         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11220         * alloc.c: No need to #ifndef before #undef.
11221
11222         * print.c: Allow debug_print() to print readably by modifying
11223         debug_print_readably.  Use consistent variable names.
11224
11225         * .dbxrc: Try to get things to work even if stopped in a function
11226         without source available by explicitly specifying source files.
11227 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11228
11229         * unexnt.c (_start): Removed bogus code which caused loading heap
11230         from differrent executable file.
11231         Removed bogus assignment to _fmode, which caused inconsistencies.
11232
11233 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11234
11235         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11236         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11237         Do not preliminary `#define signal sigset'.
11238
11239         * systime.h: Do not prototype environ on windows nt and cygwin,
11240         this conflicts with system header.
11241
11242         * syssignal.h: Use correct define for WINDOWSNT
11243
11244         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11245         with system header.
11246
11247         * sysdep.c (near start of file): Fixed commentary and rearranged
11248         ifdefs in readable order.
11249         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11250         (start_of_text):
11251         (end_of_text):
11252         (end_of_data): Do not compile in if using PDUMP.
11253
11254         * symsinit.h: Prototyped vars_of_nt().
11255
11256         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11257         (find_child_console): Use it.
11258         (sys_kill): Use it.
11259
11260         * ntheap.h: Do not extern os_subtype.
11261
11262         * ntheap.c (cache_system_info): Do not cache unneeded:
11263         nt_major_version, nt_minor_version and os_subtype.
11264         (recreate_heap): Do not compile in when PDUMPing.
11265
11266         * nt.c (geteuid and friends): Use the new varibale
11267         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11268         (init_user_info): Removed the above mentioned hackery.
11269         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11270         stat has been fixed in the C runtime.
11271         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11272
11273         * file-coding.c (struct file_coding_dump): Do not define
11274         ucs_to_mule_table in the struct if not MULE.
11275         (struct struct lrecord_description fcd_description_1): Do not dump
11276         the above.
11277
11278         * emacs.c (main_1): Call vars_of_nt().
11279         (right before Fdump_emacs_data): Don't need lastfile if using both
11280         portabe dumper and system malloc.
11281
11282         * alloc.c (Fmemory_limit): Conditionalized out.
11283         (pdump): Use OPEN_BINARY for the portable dump file.
11284         (pdump_load): Ditto.
11285
11286 2000-02-02  Mike Alexander  <mta@arbortext.com>
11287
11288         * nt.c (convert_time): Set tm_isdst before calling mktime and
11289         avoid calling it at all if the compiler supports 64 bit integers.
11290         Also initialize utc_base_ft before using it.
11291
11292 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11293
11294         * frame.c (change_frame_size_1): Take f->internal_border_width
11295         into consideration when calculating the width of the frame.
11296
11297 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11298
11299         * window.c (frame_min_height):
11300         (frame_size_valid_p):
11301         (frame_pixsize_valid_p): Added.
11302         (check_frame_size): Generalized.
11303
11304         * window.h: Prototyped the above.
11305
11306         * lisp.h:
11307         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11308         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11309         Deleted Vwin32_* and Vbinary_process_* unused variables.
11310
11311         * device-msw.c (msprinter_init_device): Do not get printer font
11312         list; Added DEVMODE functions.
11313
11314         * frame-msw.c: Added lots of printer code.
11315
11316         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11317         general.c.
11318
11319         * console-msw.h: Added more msprinter device private slots.
11320
11321 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11322
11323         * event-msw.c (key_needs_default_processing_p): Added.
11324         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11325
11326 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11327
11328         * glyphs.c (image_instance_layout): Mark image instance as clean
11329         after layout.
11330         (glyph_dirty_p): Removed redundant function.
11331         (invalidate_glyph_geometry_maybe): Added.
11332         (update_glyph_cachel_data): Call it.
11333
11334         * glyphs.h: Prototyped it.
11335
11336         * redisplay.c (add_glyph_rune): Call it.
11337         (redisplay_window): Reset glyphs cachels when frame faces have
11338         changed, thus forcing recomputation of built-in border glyphs.
11339
11340 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11341
11342         * Makefile.in.in: Make portable dumper and purify play well together.
11343         Add imperfect, but better than nothing, support for pdump.
11344         Remove xemacs.dmp when temacs is re-generated.
11345         Don't ignore errors when dumping xemacs.
11346
11347         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11348
11349 2000-01-28  Andy Piper  <andy@xemacs.org>
11350
11351         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11352         (setup_normal_frame): ditto.
11353         (setup_frame_without_minibuffer): ditto.
11354         (setup_minibuffer_frame): ditto.
11355         (delete_frame_internal): ditto.
11356         (Fmake_frame_invisible): ditto.
11357         (Ficonify_frame): ditto.
11358
11359         * window.h: change Fset_window_buffer signature.
11360
11361         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11362         (Fset_window_buffer): allow recording of buffer if the window is
11363         the selected window.
11364         (window_loop): Use new Fset_window signature.
11365
11366 2000-01-23  Daniel Pittman  <daniel@danann.net>
11367
11368         * config.h.in: Added template for `HAVE_ATHENA_3D'
11369
11370 2000-01-29  Andy Piper  <andy@xemacs.org>
11371
11372         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11373
11374         * gutter.c (output_gutter): Don't output if the window isn't live.
11375
11376 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11377
11378         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11379         of 01/12/00: Moved SetFocus back here where it belongs.
11380
11381 2000-01-23  Andy Piper  <andy@xemacs.org>
11382
11383         * s/cygwin32.h: declare printer things.
11384
11385 2000-01-26  Andy Piper  <andy@xemacs.org>
11386
11387         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11388         Alexander.
11389
11390 2000-01-24  Andy Piper  <andy@xemacs.org>
11391
11392         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11393         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11394
11395         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11396
11397         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11398
11399         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11400
11401         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11402         (mswindows_output_display_block): Avoid local shadows.
11403
11404         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11405         (mswindows_enqueue_mouse_button_event): ditto.
11406         (mswindows_handle_gui_wm_command): remove declaration.
11407
11408         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11409         warnings.
11410
11411         * console-msw.h: Avoid shadows.
11412         (mswindows_get_toolbar_button_text):
11413         (emacs_mswindows_create_stream_pair):
11414         (emacs_mswindows_delete_stream_pair):
11415         (mswindows_handle_toolbar_wm_command): declare.
11416
11417         * device-msw.c (build_syscolor_string): Avoid shadows.
11418
11419 2000-01-23  Andy Piper  <andy@xemacs.org>
11420
11421         * glyphs-widget.c (widget_instantiate): reverse the items for
11422         layouts so that children are in the expected order.
11423
11424 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11425
11426         * ralloc.c: safe_bcopy ==> memmove
11427         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11428         * s/msdos.h: Remove BCOPY macros.
11429         * insdel.c (gap_right): Remove BCOPY conditional code.
11430         * insdel.c (gap_left): Remove BCOPY conditional code.
11431         XEmacs demands a working ANSI C compiler - hence memmove.
11432
11433         * regex.c (regex_compile): Remove accidental use of trigraphs.
11434
11435 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11436
11437         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11438         event timestamp.
11439
11440 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11441
11442         * event-msw.c (mswindows_drain_windows_queue): Added the
11443         parameter.
11444         (mswindows_need_event): Commented the call to
11445         mswindows_drain_windows_queue().
11446         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11447         only.
11448
11449         * console-msw.h: Moved a few function prototypes here from
11450         event-msw.c.
11451
11452         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11453         parameter from unsigned short to unsigned long.
11454         (Fmswindows_shell_execute): Added return value.
11455
11456 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11457
11458         * sysdep.c (init_system_name):
11459           process-unix.c (unix_canonicalized_host_name):
11460         Don't call freeaddrinfo() if getaddrinfo() fails.
11461
11462         * process-unix.c (unix_open_unix_network_stream):
11463         Moved the code to get a port # into address loop.
11464
11465 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11466
11467         * buffer.c (reinit_vars_of_buffer):
11468         The right place to initialize conversion_in_dynarr and
11469         conversion_out_dynarr.
11470
11471         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11472
11473         * process-unix.c (unix_canonicalize_host_name): Muleize.
11474         (unix_open_network_stream): Muleize.
11475
11476         * buffer.h: Fix up prototypes for ralloc.c functions.
11477
11478 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11479         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11480         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11481                 instead of gethostbyname()
11482         * process-unix.c: In unix_canonicalize_host_name() and
11483                 unix_open_network_stream(), add code to use getaddrinfo()
11484                 instead of gethostbyname().
11485
11486 2000-01-27  Daniel Pittman <daniel@danann.net>
11487
11488         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11489         libs when built with flat Athena.
11490
11491 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11492
11493         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11494         Use coding standards for function prototypes.
11495
11496 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11497
11498         * dialog-msw.c (push_lisp_string_as_unicode):
11499         * doc.c (unparesseuxify_doc_string):
11500         * dired.c (Fuser_name_completion_1):
11501         * dired.c (Fuser_name_all_completions):
11502         * dired.c (free_user_cache):
11503         * dired.c (user_name_completion):
11504         * console-x.c (get_display_arg_connection):
11505         * minibuf.c (clear_echo_area_internal):
11506         * minibuf.c (echo_area_append):
11507         * eldap.c (Fldap_open):
11508         * eldap.c (Fldap_search_internal):
11509         * frame-x.c (x_set_frame_text_value):
11510         * frame-x.c (x_set_frame_properties):
11511         * frame-x.c (x_create_widgets):
11512         * redisplay-tty.c (term_get_fkeys_1):
11513         * objects-x.c (x_parse_nearest_color):
11514         * objects-x.c (x_valid_color_name_p):
11515         * objects-x.c (x_initialize_font_instance):
11516         * objects-x.c (x_list_fonts):
11517         * objects-x.c (x_find_charset_font):
11518         * tooltalk.c (Fadd_tooltalk_message_arg):
11519         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11520         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11521         * process-unix.c (unix_create_process):
11522         * ntproc.c (sys_spawnve):
11523         * sound.c (Fplay_sound_file):
11524         * sound.c (Fplay_sound):
11525         * buffer.c (init_initial_directory):
11526         * buffer.c (init_buffer):
11527         * editfns.c (init_editfns):
11528         * editfns.c (Ftemp_directory):
11529         * editfns.c (Fuser_full_name):
11530         * editfns.c (uncache_home_directory):
11531         * editfns.c (get_home_directory):
11532         * editfns.c (Fuser_home_directory):
11533         * editfns.c (Fformat_time_string):
11534         * editfns.c (Fcurrent_time_string):
11535         * gui-x.c (button_item_to_widget_value):
11536         * database.c (Fopen_database):
11537         * event-Xt.c (x_to_emacs_keysym):
11538         * event-Xt.c (x_event_to_emacs_event):
11539         * event-Xt.c (describe_event_window):
11540         * event-msw.c (mswindows_wnd_proc):
11541         * glyphs-eimage.c (jpeg_instantiate):
11542         * glyphs-eimage.c (gif_instantiate):
11543         * glyphs-eimage.c (png_instantiate):
11544         * glyphs-eimage.c (tiff_instantiate):
11545         * glyphs-x.c (xbm_instantiate_1):
11546         * glyphs-x.c (x_xbm_instantiate):
11547         * glyphs-x.c (x_xface_instantiate):
11548         * glyphs-x.c (autodetect_instantiate):
11549         * glyphs-x.c (cursor_font_instantiate):
11550         * glyphs-x.c (x_widget_instantiate):
11551         * glyphs-x.c (x_widget_set_property):
11552         * glyphs-x.c (x_widget_property):
11553         * glyphs-x.c (BUILD_GLYPH_INST):
11554         * print.c (write_string_to_stdio_stream):
11555         * print.c (output_string):
11556         * print.c (Falternate_debugging_output):
11557         * print.c (Fexternal_debugging_output):
11558         * glyphs-msw.c (extract_xpm_color_names):
11559         * glyphs-msw.c (mswindows_xpm_instantiate):
11560         * glyphs-msw.c (bmp_instantiate):
11561         * glyphs-msw.c (resource_name_to_resource):
11562         * glyphs-msw.c (mswindows_resource_instantiate):
11563         * glyphs-msw.c (xbm_instantiate_1):
11564         * glyphs-msw.c (mswindows_xbm_instantiate):
11565         * glyphs-msw.c (mswindows_xface_instantiate):
11566         * glyphs-msw.c (mswindows_widget_instantiate):
11567         * glyphs-msw.c (add_tree_item):
11568         * glyphs-msw.c (add_tab_item):
11569         * glyphs-msw.c (mswindows_combo_box_instantiate):
11570         * glyphs-msw.c (mswindows_widget_property):
11571         * glyphs-msw.c (mswindows_combo_box_property):
11572         * glyphs-msw.c (mswindows_widget_set_property):
11573         * console.c (stuff_buffered_input):
11574         * objects-msw.c (mswindows_initialize_color_instance):
11575         * objects-msw.c (mswindows_valid_color_name_p):
11576         * objects-msw.c (mswindows_list_fonts):
11577         * objects-msw.c (mswindows_font_instance_truename):
11578         * bytecode.c (optimize_compiled_function):
11579         * select-x.c (symbol_to_x_atom):
11580         * select-x.c (x_atom_to_symbol):
11581         * select-x.c (hack_motif_clipboard_selection):
11582         * select-x.c (selection_data_to_lisp_data):
11583         * select-x.c (lisp_data_to_selection_data):
11584         * select-x.c (Fx_get_cutbuffer_internal):
11585         * select-x.c (Fx_store_cutbuffer_internal):
11586         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11587         * buffer.h (TO_INTERNAL_FORMAT): New function.
11588         * emacs.c (make_arg_list_1):
11589         * emacs.c (make_argc_argv):
11590         * emacs.c (main_1):
11591         * emacs.c (Fdump_emacs):
11592         * emacs.c (split_string_by_emchar_1):
11593         * file-coding.h:
11594         * lisp.h:
11595         * lstream.h:
11596         * symsinit.h:
11597         * device-x.c (x_init_device):
11598         * device-x.c (Fx_valid_keysym_name_p):
11599         * device-x.c (Fx_get_font_path):
11600         * device-x.c (Fx_set_font_path):
11601         * glyphs.c (bitmap_to_lisp_data):
11602         * glyphs.c (pixmap_to_lisp_data):
11603         * alloc.c (make_ext_string): Use coding system arguments.  Update
11604         all callers.
11605         * alloc.c (build_string):
11606         * callproc.c (child_setup):
11607         * callproc.c (init_callproc):
11608         * fileio.c (lisp_strerror):
11609         * fileio.c (directory_file_name):
11610         * fileio.c (Fexpand_file_name):
11611         * fileio.c (Ffile_truename):
11612         * fileio.c (Fsysnetunam):
11613         * fileio.c (Fdo_auto_save):
11614         * sysdep.c (sys_readdir):
11615         * tests.c: New file.  Allow adding C tests.
11616         Replace GET_* macros with a more comprehensible and flexible
11617         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11618         Modify all calls.
11619         Any coding system can be used to do format conversion.
11620         Eliminate enum external_data_format.
11621         Eliminate convert_to_external_format.
11622         Eliminate convert_to_internal_format.
11623         Make sure file-name, keyboard, terminal, and ctext are always
11624         defined as coding systems or aliases.  Make
11625         file-name-coding-system, terminal-coding-system, and
11626         keyboard-coding-system magical variables that are equivalent to
11627         defining the corresponding coding system aliases.
11628
11629         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11630         * file-coding.c (Fcoding_system_alias_p): New function.
11631         * file-coding.c (Fcoding_system_aliasee): New function.
11632         * file-coding.c (append_suffix_to_symbol): New function.
11633         * file-coding.c (dangling_coding_system_alias_p): New function.
11634         * file-coding.c (Ffind_coding_system):
11635         * file-coding.c (Fcopy_coding_system):
11636         * file-coding.c (encode_coding_no_conversion):
11637         * file-coding.c (syms_of_file_coding):
11638         * file-coding.c (vars_of_file_coding):
11639         Rewrite coding system alias code.
11640         Allow nested aliases, like symbolic links.
11641         Allow redefinition of coding system aliases.
11642         Prevent existence of dangling coding system aliases.
11643
11644         * dired.c (Fuser_name_completion_1):
11645         * dired.c (Fuser_name_all_completions):
11646         A crash would happen if user did QUIT in the middle of building
11647         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11648
11649         * lisp.h:
11650         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11651
11652         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11653         an unsigned char *.  Update all callers.
11654
11655 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11656
11657         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11658
11659 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11660
11661         * elhash.c (hentry_description): Use more portable definition.
11662         (resize_hash_table): Initialize new hentries using
11663         xnew_array_and_zero, thereby simplifying the code.
11664
11665         * mule-charset.c (make_charset): Make sure entire object is
11666         initialized, to avoid Purify warnings.
11667
11668         * alloc.c (resize_string): Fix unlikely crash with big strings.
11669
11670 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11671
11672         * realpath.c (xrealpath):
11673         Don't call getwd().
11674
11675 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11676
11677         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11678
11679 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11680
11681         * unexelfsgi.c (unexec): Change the way we decide which segment
11682         should be extended.
11683
11684         Assumption that .bss section should be outside the PT_LOADable
11685         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11686         it's present) is inside the 'data' segment. This would fail the
11687         test which was used to find a segment to grow and cover new
11688         heap. Instead of this assumption, I created another one - on IRIX
11689         the segment to grow should start below .bss and it's address
11690         should extent above the end of .bss. Once this segment is
11691         identified, it's grown to accommodate the new heap and new
11692         zero-length .bss section is added at the end of .data2.
11693
11694 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11695
11696         * eval.c (Feval): Wrong number of arguments should use original
11697         function, not the indirect_function version of it.
11698
11699 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11700
11701         * glyphs-x.c (x_button_instantiate): Don't add image if
11702         it is not a pixmap.
11703         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11704         is relative.
11705
11706 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11707
11708         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11709         declaration.
11710         (DEFVAR_INT_MAGIC): Ditto.
11711         (DEFVAR_BOOL_MAGIC): Ditto.
11712         * glyphs.h: Reindent backslash.
11713
11714 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11715
11716         * glyphs-widget.c (layout_query_geometry):
11717         (layout_layout): Use correct types for gheight, gwidth.
11718
11719 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11720
11721         * EmacsManager.c (QueryGeometry): Purified.
11722
11723 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11724
11725         * alloc.c (make_float): Make sure entire object is initialized, to
11726         avoid Purify warnings.
11727         (pdump_register_sub): Remove useless assignment.
11728         (pdump): Use xmalloc, not malloc.
11729         (pdump_load): Use xmalloc, not malloc.
11730
11731 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11732
11733         * callproc.c:
11734         * dired-msw.c:
11735         * fileio.c:
11736         * process-nt.c:
11737         * redisplay-msw.c:
11738         * sysdep.c: Removed redundant #include <windows.h>
11739
11740 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11741
11742         * frame.c (delete_frame_internal): Do not delete device when its
11743         implementation so declares.
11744         (delete_frame_internal): Set device selected frame to nil when
11745         last frame goes away.
11746
11747         * device-msw.c (msprinter_device_system_metrics): Implemented.
11748         (mswindows_device_system_metrics): Added 'device-dpi property.
11749
11750         * device.c: (Fdevice_printer_p): Added.
11751         Added 'offset-workspace device metric.
11752
11753         * console.h (device_metrics): Declared DM_offset_workspace.
11754
11755 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11756
11757         * fileio.c (Ffile_truename): Remove pointless and confusing
11758         initialization of elen.
11759
11760         * glyphs-widget.c: Compiler warning fixes.
11761
11762 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11763
11764         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11765         instead of a Lisp_Object as argument to make it consistent with
11766         the other LIVE_P macros.
11767         (CHECK_LIVE_PROCESS): New macro.
11768
11769         * process.c: Declare Qprocess_live_p.
11770         (Fprocess_live_p): New function.
11771         (create_process): Use PROCESS_LIVE_P.
11772         (read_process_output): Ditto.
11773         (set_process_filter): Ditto.
11774         (Fdelete_process): Ditto.
11775         (kill_buffer_processes): Ditto
11776         (process_send_signal): Use CHECK_LIVE_PROCESS.
11777         (Fprocess_input_coding_system): Check whether process is still
11778         alive (fix PR#1061).
11779         (Fprocess_output_coding_system): Ditto.
11780         (Fprocess_coding_system): Ditto.
11781         (Fset_process_input_coding_system): Ditto.
11782         (Fset_process_output_coding_system): Ditto.
11783
11784 2000-01-23  Andy Piper  <andy@xemacs.org>
11785
11786         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11787         layout and widget.
11788
11789         * glyphs.c (mark_image_instance): take into account changed
11790         image_instance format.
11791         (image_instance_equal): ditto.
11792         (image_instance_hash): ditto.
11793
11794         * glyphs-widget.c (widget_instantiate): Incorporate layout
11795         instantiation here. Delay layout of the layout until later.
11796         (layout_instantiate): deleted.
11797         (layout_query_geometry): new function. get the geometry of a
11798         layout.
11799         (layout_layout): layout a layout dynamically.
11800         (image_instantiator_widget): New function - splitting up
11801         image_instantiator_format_create_glyphs_widget for netwinder
11802         compilation.
11803         (image_instantiator_buttons):
11804         (image_instantiator_edit_fields):
11805         (image_instantiator_combo_box):
11806         (image_instantiator_scrollbar):
11807         (image_instantiator_progress_guage):
11808         (image_instantiator_tree_view):
11809         (image_instantiator_tab_control):
11810         (image_instantiator_labels):
11811         (image_instantiator_layout): ditto.
11812         (image_instantiator_format_create_glyphs_widget): Call preceding
11813         functions.
11814
11815 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11816
11817         * process.c (Fset_process_coding_system):
11818         * device-x.c (Fx_keysym_hash_table):
11819         Docstring fixes.
11820
11821         * lstream.c (Lstream_write): Return documented value, not 0.
11822
11823         * fileio.c (directory_file_name):
11824         (Fsubstitute_in_file_name):
11825         (Fsubstitute_insert_file_contents_internal):
11826         (Fwrite_region_internal):
11827         * emacs.c:
11828         * sysdep.c:
11829         * getloadavg.c:
11830         * systty.h:
11831         Remove vestigial APOLLO-conditional code.
11832
11833 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11834
11835         * getpagesize.h: Add guard macros.
11836         * libsst.h: Add guard macros.
11837         * libst.h: Add guard macros.
11838         * line-number.h: Add guard macros.
11839         * ndir.h: Add guard macros.
11840         * sysfloat.h: Add guard macros.
11841         * sysfile.h: Add guard macros.
11842         * sysproc.h: Add guard macros.
11843         * syswait.h: Add guard macros.
11844         * xintrinsic.h: Add guard macros.
11845         * xintrinsicp.h: Add guard macros.
11846         * xmmanager.h: Add guard macros.
11847         * xmmanagerp.h: Add guard macros.
11848         * xmprimitive.h: Add guard macros.
11849         * xmu.h: Add guard macros.
11850         * gpmevent.h: Add copyright statement. Add guard macros.
11851         * miscplay.h: Add guard macros.
11852         * *.h: Use consistent C-standards-approved guard macro names.
11853
11854         * opaque.c (make_opaque): Switch parameter order.
11855         * opaque.h (make_opaque): Switch parameter order.
11856         Update all callers.
11857         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11858
11859         * config.h.in (type_checking_assert): Added.
11860         (bufpos_checking_assert): Added.
11861
11862 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11863
11864         * alloc.c: Harmless pdump changes.
11865         - Use countof().
11866         - spell alignment correctly.
11867         * sysdep.c: Use countof()
11868
11869 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11870
11871         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11872         initially_selected_for_input() console method, default to 0.
11873         (semi_canonicalize_console_connection): Try to delegate to
11874         canonicalize_console_connection if no such console method.
11875         (canonicalize_console_connection): Vice versa.
11876         (print_console): Do not print nil connection.
11877
11878         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11879         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11880         (XDEVIMPF_FRAMELESS_OK): Added.
11881         (CONSOLE_INHERITS_METHOD): Added.
11882
11883         * console-msw.c (mswindows_canonicalize_console_connection):
11884         Added.
11885         (mswindows_canonicalize_device_connection): Added.
11886
11887         * console-msw.h (struct msprinter_device): Added this struct and
11888         accessor macros.
11889         (mswindows_device): Made fontlist a lisp object.
11890
11891         * device.c (semi_canonicalize_device_connection):  Try to delegate
11892         to canonicalize_device_connection if no such console method.
11893         (canonicalize_device_connection): Vice versa.
11894         (print_device): Do not print nil connection.
11895
11896         * device-msw.c (mswindows_init_device): Call InitCommonControls
11897         when have widgets.
11898         (mswindows_delete_device): Removed fontlist deallocation.
11899         (mswindows_mark_device): Added.
11900
11901         * events.c (event_equal): Added abort() at unreached code.
11902         (event_hash): Ditto.
11903
11904         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11905         fallback tags of Windows devices.
11906
11907         * general.c (syms_of_general): Initialized Qmsprinter.
11908
11909         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11910         of fallback tags of Windows devices.
11911
11912         * lisp.h: Declared Qmsprinter.
11913
11914         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11915         of strings.
11916         (mswindows_list_fonts): Ditto.
11917         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11918         that it can be used by both mswindows and msprinter devices.
11919         (initialize_font_instance): Added.
11920         (mswindows_initialize_font_instance): Use it.
11921         (msprinter_initialize_font_instance): Added.
11922
11923         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11924         and implementation flags check.
11925         (redisplay_without_hooks): Changed the call to the above.
11926         (Fredraw_device): Ditto.
11927         (Fredisplay_device): Ditto.
11928
11929         * redisplay-msw.c (get_frame_dc): Implemented.
11930         (get_frame_compdc): Implemented.
11931         (many functions): Use the two functions above to get device
11932         contexts, ether for a window or a printer.
11933
11934 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11935
11936         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11937         initialization here.
11938         (init_symbols_once_early): Call it.
11939         * emacs.c (main_1): Call it.
11940         * symsinit.h: Declare it.
11941
11942 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11943
11944         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11945         Lisp_Object.
11946         (pdump_backtrace): Ditto.
11947         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11948         (pdump_get_entry): Abort if trying to register a null pointer.
11949         (pdump_dump_data): Cleanup types when relocating.
11950         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11951         (pdump_dump_rtables): Remove bad casts.
11952         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11953         Lisp_Object instead of a EMACS_INT for the hashtable
11954         reorganization.
11955
11956 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11957
11958         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11959
11960         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11961
11962         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11963
11964         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11965
11966 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11967
11968         * faces.h (FACE_STRIKETHRU_P): Added.
11969
11970         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11971         of font variants.
11972
11973         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11974         (mswindows_set_dc_font): New function, aware of font variants,
11975         separated from mswindows_update_dc.
11976
11977         * objects-msw.h (struct mswindows_font_instance_data): Added
11978         definition.
11979
11980         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11981         cached fonts and the data structure.
11982         (mswindows_initialize_font_instance): Added creation of font data
11983         structure.
11984         (mswindows_print_font_instance): Print at least something.
11985         (mswindows_create_font_variant): Implemented.
11986         (mswindows_get_hfont): Implemented.
11987
11988 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11989
11990         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11991         prototyping problem with msvc.
11992
11993         * emacs.c (main_1): added syms_of_gui_mswindows() call
11994
11995         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11996         syms_of_gui_mswindows() function
11997
11998         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11999
12000 2000-01-18  Martin Buchholz <martin@xemacs.org>
12001
12002         * XEmacs 21.2.27 is released.
12003
12004 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12005
12006         * glyphs-eimage.c (struct tiff_error_struct):
12007         (tiff_error_func):
12008         (tiff_warning_func):
12009         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12010
12011         * unexmips.c:
12012         * unexhp9k3.c:
12013         * unexfreebsd.c:
12014         * unexec.c: Remove vestigial Lucid C code.
12015         * unexalpha.c:
12016         * unexaix.c:
12017         * termcap.c:
12018         * libsst.c: Ansify.
12019         Remove declarations of errno and strerror().
12020
12021         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12022
12023         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12024
12025 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12026
12027         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12028         Optimize.
12029
12030 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12031
12032         * md5.c:
12033         * file-coding.c:
12034         * file-coding.h:
12035         Change enum eol_type to eol_type_t.
12036
12037 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12038
12039         * gui.c (get_gui_callback): Check cons before accessing car.
12040
12041 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12042
12043         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12044         (XSETSPECIFIER_TYPE): Ditto.
12045
12046 2000-01-17  Didier Verna  <didier@xemacs.org>
12047
12048         * redisplay.c (generate_fstring_runes): compute string size in
12049         characters, not bytes.
12050
12051 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12052
12053         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12054
12055 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12056
12057         * print.c (print_error_message): Call print_prepare().
12058
12059 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12060
12061         * .dbxrc: Renamed from dbxrc.
12062
12063         * events.c (event_to_character):
12064         Use `assert (foo)' instead of `if (!foo) abort()'
12065
12066         * .gdbinit (xtype): Add documentation.
12067         * .gdbinit (check-temacs): New function.
12068         * .gdbinit (check-xemacs): New function.
12069         * dbxrc (check-xemacs): New function.
12070         * dbxrc (check-xemacs): New function.
12071
12072 2000-01-14  Andy Piper  <andy@xemacs.org>
12073
12074         * glyphs-widget.c (widget_query_geometry): Make sure that we
12075         calculate default dimensions correctly.
12076
12077 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12078
12079         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12080
12081         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12082         pdump_wire'd variable.
12083
12084         * emacs.c: (main_1): Conditionalized calls to
12085         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12086
12087 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12088
12089         * window.c (Fset_window_configuration):
12090         * sysdep.c (_start):
12091         * input-method-motif.c (res):
12092         * event-Xt.c (Xt_process_to_emacs_event):
12093         Simple compiler warning fixes.
12094
12095         * bytecode.c (funcall_compiled_function): Use the original
12096         function symbol on the backtrace list in preference to the
12097         compiled_function object in error messages.
12098
12099 2000-01-13  Andy Piper  <andy@xemacs.org>
12100
12101         * glyphs-x.c (update_widget_face): Make sure we update the widget
12102         background as well as foreground.
12103
12104 2000-01-13  Andy Piper  <andy@xemacs.org>
12105
12106         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12107         fields to subwindow.
12108         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12109         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12110         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12111         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12112
12113         * glyphs-widget.c (check_valid_tab_orientation): new function.
12114         (initialize_widget_image_instance): zero orientation and
12115         justification.
12116         (widget_instantiate): pick up orientation.
12117         (tab_control_query_geometry): return appropriate values for
12118         vertical tabs.
12119
12120         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12121         appropriate creation flags for left, right and bottom tabs.
12122
12123         * s/cygwin32.h: add tab definitions.
12124
12125 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12126
12127         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12128         frame upon hiding a subwindow.
12129         (mswindows_button_instantiate): Changed the push button style to
12130         BS_PUSHBUTTON.
12131         (mswindows_button_instantiate): Removed button BS_NOTIFY
12132         style.
12133         (mswindows_button_instantiate): Removed redundant check for
12134         a disabled gui item.
12135         (mswindows_button_instantiate): Made use of WS_TABSTOP
12136         consistent: "operable" controls (edit, button, tree, scroll) have
12137         this style, "display-only" ones (static, progress gauge) do
12138         not. This style is currently ignored by XEmacs though. Also,
12139         removed the WS_EX_CONTROLPARENT style - it is not for children,
12140         it is for their parents!
12141         (mswindows_edit_field_instantiate): Ditto.
12142         (mswindows_progress_gauge_instantiate): Ditto.
12143         (mswindows_tree_view_instantiate): Ditto.
12144         (mswindows_tab_control_instantiate): Ditto.
12145         (mswindows_scrollbar_instantiate): Ditto.
12146         (mswindows_combo_box_instantiate): Ditto.
12147         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12148         style to the "clip" window.
12149         (mswindows_button_instantiate): Removed compilation warning by
12150         equally typing terms of the ?: operator.
12151
12152 2000-01-12  Didier Verna  <didier@xemacs.org>
12153
12154         * redisplay.c (generate_fstring_runes): new parameter holding the
12155         last modeline-format extent.
12156         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12157         extent, fill the glyph block with it.
12158         (generate_fstring_runes): handle these parameters.
12159         (generate_formatted_string_db): ditto.
12160
12161         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12162         glyphs'extents in the modeline.
12163
12164 1999-01-11  Mike Woolley  <mike@bulsara.com>
12165
12166         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12167         256Mb, as a workaround for the non-starting problem many people
12168         have experienced.
12169
12170 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12171
12172         * console-tty.c (Fset_console_tty_output_coding_system):
12173         Force redrawing tty frame.
12174
12175 2000-01-10  Didier Verna  <didier@xemacs.org>
12176
12177         * redisplay.c (generate_fstring_runes): fix size computation bug.
12178
12179 2000-01-09  William M. Perry <wmperry@aventail.com>
12180
12181         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12182
12183 2000-01-09  Andy Piper  <andy@xemacs.org>
12184
12185         * glyphs-msw.c: index -> i to avoid shadows.
12186         (xbm_create_bitmap_from_data): make static.
12187         (check_valid_string_or_int): deleted.
12188         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12189
12190         * glyphs-x.c (x_update_subwindow): remove unused args.
12191
12192         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12193         back pointer - this is done in allocate_image_instance.
12194         (query_string_font): return Qnil to make the compiler happy.
12195         (unmap_subwindow): set to ~0 to make the compiler happy.
12196         (glyph_query_geometry): comment out until used.
12197         (glyph_layout): ditto.
12198
12199 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12200
12201         * insdel.c (signal_after_change): Remove extraneous unbind_to().