update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (char_encode_big5): Prefer charset-g1 than
4         `chinese-big5'.
5
6 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * chartab.c (uint8_byte_table_description): New constant.
9         (uint8-byte-table): Use `uint8_byte_table_description'.
10         (uint16_byte_table_description): New constant.
11         (uint16-byte-table): Use `uint16_byte_table_description'.
12
13 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
16         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
17
18 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * mule-charset.c (Vcharset_ucs_ks): New variable.
21         (Qucs_ks): New variable.
22         (syms_of_mule_charset): Add new symbol `ucs-ks'.
23         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
24
25         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
26
27 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
30         (Fdecode_char): Likewise.
31
32         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
33         chartab.h.
34         (Fdefine_char): Modify for Fdecode_char.
35         (Ffind_char): Likewise.
36
37         * mule-charset.c (Fdecode_char): Add new optional argument
38         `defined-only'.
39         (Fdecode_builtin_char): Modify for `Fdecode_char'.
40
41 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
44         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
45         (allocate_coding_system): Initialize initial-charsets of
46         CODESYS_BIG5 in XEmacs UTF-2000.
47         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
48         CODESYS_BIG5 in XEmacs UTF-2000.
49         (decode_coding_big5): Use initial-charset-g0 and -g1 of
50         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
51
52         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
53         variables.
54         (Qideograph_hanziku_{1 .. 12}): Likewise.
55         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
56         .. 12}'.
57         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
58         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
59         `ideograph-hanziku-{1 .. 12}'.
60
61         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
62         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
63         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
64         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
65         (DECODE_DEFINED_CHAR): New inline function.
66         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
67
68 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * mule-charset.c (Vcharset_china3_jef): Renamed from
71         `Vcharset_japanese_jef_china3'.
72         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
73         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
74         `{MIN|MAX}_CHAR_JEF_CHINA3'..
75         (syms_of_mule_charset): Rename `china3-jef' from
76         `japanese-jef-china3'.
77         (complex_vars_of_mule_charset): Likewise; rename
78         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
79
80         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
81         `LEADING_BYTE_JEF_CHINA3'.
82         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
83         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
84
85 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * mule-charset.c (encode_builtin_char_1): Comment out special code
88         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
89
90         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
91         (MAX_CHAR_MOJIKYO_0): Comment out.
92         (MIN_CHAR_CBETA): Changed to 0x00E20000.
93         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
94         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
95         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
96
97 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
100         (Qideograph_cbeta): New variable.
101         (encode_builtin_char_1): Comment out special code for
102         coded-charset `mojikyo' and `japanese-jef-china3'.
103         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
104         (complex_vars_of_mule_charset): Add new coded-charset
105         `ideograph-cbeta'.
106
107         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
108         (MIN_CHAR_CBETA): New macro.
109         (MAX_CHAR_CBETA): New macro.
110
111 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
114         (LEADING_BYTE_JEF_CHINA3): New macro.
115         (MIN_CHAR_JEF_CHINA3): New macro.
116         (MAX_CHAR_JEF_CHINA3): Likewise.
117         (DECODE_CHAR): Fixed.
118
119 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
122         (Qjapanese_jef_china3): New variable.
123         (encode_builtin_char_1): Support `japanese-jef-china3'.
124         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
125         (complex_vars_of_mule_charset): Add new coded-charset
126         `japanese-jef-china3'.
127
128 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
131         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
132         94^4, 96^3, 96^4, 128^n and 256^n set.
133         (put_char_table): Use `XCHARSET_CELL_RANGE'.
134         (map_char_table): Likewise.
135
136 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
139         UTF-2000.
140
141 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * chartab.h (get_char_id_table): New inline function.
144
145         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
146         function.
147
148 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
149
150         * chartab.h (decode_char_table_range): New prototype in XEmacs
151         UTF-2000.
152         (put_char_id_table): New inline function in XEmacs UTF-2000.
153
154         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
155         function.
156         (decode_char_table_range): Delete static declaration in XEmacs
157         UTF-2000.
158
159 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * chartab.c (put_char_id_table): Use `put_char_table'.
162
163 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
166         (map_over_uint16_byte_table): Likewise.
167         (map_over_byte_table): Likewise.
168         (map_char_table): Modify for `map_over_uint8_byte_table',
169         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
170         UTF-2000.
171
172 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * chartab.c (struct map_char_table_for_charset_arg): New
175         structure.
176         (map_char_table_for_charset_fun): New function.
177         (map_char_table): Use `map_char_table' for encoding_table of
178         `range->charset'.
179
180 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * chartab.c (map_char_table): Check a character is found in
183         range->charset instead of non default value is defined in
184         char-table when range is CHARTAB_RANGE_ROW.
185
186 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * chartab.c (map_char_id_table): Deleted.
189         (Fmap_char_attribute): Use `map_char_table' instead of
190         `map_char_id_table'.
191
192 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
195         UTF-2000.
196         (update_syntax_table): Deleted in XEmacs UTF-2000.
197
198         * syntax.c (find_defun_start): Use `syntax_table' instead of
199         `mirror_syntax_table' in XEmacs UTF-2000.
200         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
201         UTF-2000.
202         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
203         XEmacs UTF-2000.
204         (Fmatching_paren): Likewise.
205         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
206         in XEmacs UTF-2000.
207         (find_start_of_comment): Likewise.
208         (find_end_of_comment): Likewise.
209         (Fforward_comment): Likewise.
210         (scan_lists): Likewise.
211         (char_quoted): Likewise.
212         (Fbackward_prefix_chars): Likewise.
213         (scan_sexps_forward): Likewise.
214         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
215         (update_syntax_table): Likewise.
216
217         * search.c (skip_chars): Use `syntax_table' instead of
218         `mirror_syntax_table' in XEmacs UTF-2000.
219         (wordify): Likewise.
220         (Freplace_match): Likewise.
221
222         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
223         `mirror_syntax_table' in XEmacs UTF-2000.
224         (WORDCHAR_P_UNSAFE): Likewise.
225         (re_match_2_internal): Likewise.
226
227         * font-lock.c (find_context): Use `buf->syntax_table' instead of
228         `buf->mirror_syntax_table' in XEmacs UTF-2000.
229
230         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
231         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
232
233         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
234         XEmacs UTF-2000.
235
236         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
237         UTF-2000.
238         (print_char_table): Print `default_value' in XEmacs UTF-2000.
239         (char_table_description): Delete `mirror_table' in XEmacs
240         UTF-2000.
241         (fill_char_table): Don't call `update_syntax_table' in XEmacs
242         UTF-2000.
243         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
244         (Fcopy_char_table): Likewise.
245         (put_char_table): Don't call `update_syntax_table' in XEmacs
246         UTF-2000.
247
248         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
249         `buf->mirror_syntax_table' in XEmacs UTF-2000.
250         (casify_region_internal): Likewise.
251
252         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
253
254         * buffer.c (common_init_complex_vars_of_buffer): Don't use
255         `mirror_syntax_table' in XEmacs UTF-2000.
256
257         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
258         `buf->mirror_syntax_table' in XEmacs UTF-2000.
259         (Fexpand_abbrev): Likewise.
260
261 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
264
265 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
266
267         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
268         (map_over_uint16_byte_table): Likewise.
269         (map_over_byte_table): Likewise.
270         (get_char_id_table): Refer `cit->default_value'.
271         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
272         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
273         of character-id ranges.
274         (mark_char_table): Mark `ct->default_value'.
275         (char_table_description): Add `default_value'.
276         (fill_char_table): Use `default_value'.
277         (decode_char_table_range): Decode `nil' as
278         `CHARTAB_RANGE_DEFAULT'.
279         (get_char_id_table): Refer `cit->default_value'.
280         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
281         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
282         temporary hack; check value of char-table is bound or not.
283         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
284
285         * chartab.h (struct Lisp_Char_Table): Add new member
286         `default_value' in XEmacs UTF-2000.
287         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
288         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
289         UTF-2000.
290
291 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.h (Lisp_Char_ID_Table): Deleted.
294
295         * chartab.c (char_table_description): Fix typo.
296         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
297         `Lisp_Char_ID_Table'.
298
299 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
302         `CHAR_ID_TABLE_P'.
303
304         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
305         `CHAR_ID_TABLE_P'.
306
307         * chartab.h (XCHAR_ID_TABLE): Deleted.
308         (XSETCHAR_ID_TABLE): Deleted.
309         (CHAR_ID_TABLE_P): Deleted.
310
311         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
312         `CHAR_ID_TABLE_P'.
313         (Fget_composite_char): Likewise.
314         (put_char_table): Likewise.
315         (add_char_attribute_alist_mapper): Fixed.
316         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
317         `CHAR_ID_TABLE_P'.
318         (Fget_char_attribute): Likewise.
319         (Fget_char_attribute): Likewise.
320         (Fmap_char_attribute): Likewise.
321
322         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
323         `CHAR_ID_TABLE_P'.
324         (encode_char_1): Likewise.
325
326 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
329         `XCHAR_ID_TABLE'.
330
331         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
332         instead of `XCHAR_ID_TABLE'.
333         (remove_char_ccs): Likewise.
334
335         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
336         `XCHAR_ID_TABLE'.
337         (Fget_composite_char): Likewise.
338         (Fchar_variants): Likewise.
339         (put_char_table): Likewise.
340         (add_char_attribute_alist_mapper): Likewise.
341         (Fchar_attribute_alist): Likewise.
342         (Fget_char_attribute): Likewise.
343         (Fput_char_attribute): Likewise.
344         (Fmap_char_attribute): Likewise.
345         (Fmap_char_attribute): Likewise.
346
347         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
348         `XCHAR_ID_TABLE'.
349         (encode_char_1): Likewise.
350
351 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
352
353         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
354         `Lisp_Char_ID_Table'.
355         (mark_char_id_table): Deleted.
356         (print_char_id_table): Likewise.
357         (char_id_table_equal): Likewise.
358         (char_id_table_hash): Likewise.
359         (char_id_table_description): Likewise.
360         (char_id_table): Likewise.
361         (make_char_id_table): Use `Fmake_char_table' and
362         `fill_char_table'.
363         (get_char_id_table): Use `Lisp_Char_Table' instead of
364         `Lisp_Char_ID_Table'.
365         (put_char_id_table): Likewise.
366         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
367         `XCHAR_ID_TABLE'.
368         (Fremove_char_attribute): Likewise.
369         (syms_of_chartab): Don't define type `char-id-table'.
370
371         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
372         (char_id_table): Likewise.
373         (GC_CHAR_ID_TABLE_P): Likewise.
374         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
375         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
376         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
377         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
378         (get_char_id_table): Use `Lisp_Char_Table' instead of
379         `Lisp_Char_ID_Table'.
380         (put_char_id_table_0): Likewise.
381         (put_char_id_table): Likewise.
382
383 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
384
385         * chartab.h: Lisp_Byte_Table related codes are moved from
386         chartab.h.
387
388         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
389
390 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
391
392         * chartab.h: Don't include "chartab.h".
393         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
394         (Lisp_Char_ID_Table): Likewise.
395         (char_id_table): Likewise.
396         (XCHAR_ID_TABLE): Likewise.
397         (XSETCHAR_ID_TABLE): Likewise.
398         (CHAR_ID_TABLE_P): Likewise.
399         (GC_CHAR_ID_TABLE_P): Likewise.
400         (get_char_id_table): Likewise.
401
402         * char-ucs.h: Include "chartab.h".
403         (struct Lisp_Char_ID_Table): Moved to chartab.h.
404         (Lisp_Char_ID_Table): Likewise.
405         (char_id_table): Likewise.
406         (XCHAR_ID_TABLE): Likewise.
407         (XSETCHAR_ID_TABLE): Likewise.
408         (CHAR_ID_TABLE_P): Likewise.
409         (GC_CHAR_ID_TABLE_P): Likewise.
410         (get_char_id_table): Likewise.
411
412 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
413
414         * chartab.c (copy_uint8_byte_table): New function.
415         (copy_uint16_byte_table): New function.
416         (copy_byte_table): New function.
417         (map_over_uint8_byte_table): Modify to avoid huge numbers of
418         characters to call.
419         (map_over_uint16_byte_table): Likewise.
420         (map_over_byte_table): Likewise.
421         (get_byte_table): Move prototype to chartab.h.
422         (put_byte_table): Likewise.
423         (put_char_id_table_0): Moved to chartab.h.
424         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
425         (char_table_entry_equal): Likewise.
426         (char_table_entry_hash): Likewise.
427         (char_table_entry_description): Likewise.
428         (char_table_entry): Likewise.
429         (make_char_table_entry): Likewise.
430         (copy_char_table_entry): Likewise.
431         (get_non_ascii_char_table_value): Likewise.
432         (map_over_charset_ascii): Likewise.
433         (map_over_charset_control_1): Likewise.
434         (map_over_charset_row): Likewise.
435         (map_over_other_charset): Likewise.
436         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
437         (print_char_table): Likewise.
438         (char_table_equal): Likewise.
439         (char_table_hash): Likewise.
440         (char_table_description): Likewise.
441         (fill_char_table): Likewise.
442         (Fcopy_char_table): Likewise.
443         (get_char_table): Likewise.
444         (Fget_range_char_table): Likewise.
445         (put_char_table): Likewise.
446         (map_char_table): Likewise.
447         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
448         UTF-2000.
449
450 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
451
452         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
453         `Vauto_fill_chars' in XEmacs UTF-2000.
454
455         * chartab.h (get_byte_table): New prototype [moved from
456         chartab.c].
457         (put_byte_table): Likewise [moved from chartab.c].
458         (put_char_id_table_0): New inline function [moved from chartab.c].
459         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
460         (Lisp_Char_Table_Entry): Likewise.
461         (char_table_entry): Likewise.
462         (XCHAR_TABLE_ENTRY): Likewise.
463         (XSETCHAR_TABLE_ENTRY): Likewise.
464         (CHAR_TABLE_ENTRYP): Likewise.
465         (CHECK_CHAR_TABLE_ENTRY): Likewise.
466         (NUM_ASCII_CHARS): Likewise.
467         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
468         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
469
470 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * chartab.c (get_char_id_table): Change interface.
473         (put_char_id_table_0): New function.
474         (put_char_id_table): Change interface; new implementation.
475         (Fget_composite_char): Modify for interface change of
476         `get_char_id_table'.
477         (Fchar_variants): Likewise.
478         (add_char_attribute_alist_mapper): Likewise.
479         (Fchar_attribute_alist): Likewise.
480         (Fget_char_attribute): Likewise.
481         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
482         as same as character as the first argument like `put-char-table';
483         modify for interface change of `put_char_id_table'.
484         (Fremove_char_attribute): Modify for interface change of
485         `put_char_id_table'.
486
487 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * text-coding.c: Sync up with XEmacs 21.2.41.
490         (COMPOSE_ADD_CHAR): Modify for interface change of
491         `get_char_id_table'.
492
493         * mule-charset.c (put_char_ccs_code_point): Modify for interface
494         change of `put_char_id_table'.
495         (remove_char_ccs): Likewise.
496
497         * chartab.h (put_char_id_table): Change interface.
498
499         * char-ucs.h (get_char_id_table): Change interface.
500         (charset_code_point): Modify for interface change of
501         `get_char_id_table'.
502         (encode_char_1): Likewise.
503
504 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
505
506         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
507         argument `ccs'.
508         (map_over_uint16_byte_table): Likewise.
509         (map_over_byte_table): Likewise.
510         (map_char_id_table): Add new argument `range' like
511         `map_char_table'.
512         (Fmap_char_attribute): Add new argument `range' like
513         `Fmap_char_table'.
514
515 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * chartab.c (map_over_uint8_byte_table): Change interface of
518         mapping function to use struct chartab_range instead of Emchar.
519         (map_over_uint16_byte_table): Likewise.
520         (map_over_byte_table): Likewise.
521         (map_char_id_table): Likewise.
522         (struct slow_map_char_id_table_arg): Deleted.
523         (slow_map_char_id_table_fun): Deleted.
524         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
525         function `slow_map_char_table_fun' instead of struct
526         `slow_map_char_id_table_arg' and function
527         `slow_map_char_id_table_fun'.
528
529 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * mule-charset.c: Move char-it-table related codes to chartab.c.
532         (Vutf_2000_version): Moved to chartab.c.
533         (Fdefine_char): Likewise.
534         (Ffind_char): Likewise.
535         (syms_of_mule_charset): Move types `uint8-byte-table',
536         `uint16-byte-table', `byte-table' and `char-id-table' to
537         chartab.c; move functions `char_attribute_list,
538         `find_char_attribute_table, `char_attribute_alist,
539         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
540         `map_char_attribute, `define_char, `find_char, `char_variants and
541         `get_composite_char to chartab.c; move symbols `=>ucs',
542         `->decomposition', `compat', `isolated', `initial', `medial',
543         `final', `vertical', `noBreak', `fraction', `super', `sub',
544         `circle', `square', `wide', `narrow', `small' and `font' to
545         chartab.c.
546         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
547         setting codes for `Vcharacter_composition_table' and
548         `Vcharacter_variant_table' to chartab.c.
549         (complex_vars_of_mule_charset): Move setting code for
550         `Vchar_attribute_hash_table' to chartab.c.
551
552         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
553         (make_char_id_table): New prototype.
554         (put_char_id_table): Likewise.
555         (Fget_char_attribute): Likewise.
556
557         * chartab.c: Move char-id-table related code from mule-charset.c.
558         (Vutf_2000_version): Moved from mule-charset.c.
559
560         * char-ucs.h (Qucs): New external variable.
561         (put_char_ccs_code_point): New prototype.
562         (remove_char_ccs): Likewise.
563
564 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
565
566         * mule-charset.c (Vcharset_ucs_jis): New variable.
567         (Qucs_jis): Likewise.
568         (syms_of_mule_charset): Add new symbol `ucs-jis'.
569         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
570
571         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
572
573 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * mule-charset.c (map_over_uint8_byte_table): New function.
576         (map_over_uint16_byte_table): Likewise.
577         (map_over_byte_table): Likewise.
578         (map_char_id_table): Likewise.
579         (slow_map_char_id_table_fun): Likewise.
580         (Fmap_char_attribute): Likewise.
581         (syms_of_mule_charset): Add new function `map-char-attribute'.
582
583 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
586         (syms_of_mule_charset): Add new function `find-char'.
587
588 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
591         XEmacs UTF-2000.
592         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
593         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
594         XEmacs UTF-2000.
595         (complex_vars_of_mule_charset): Add new coded-charset
596         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
597         `ideograph-gt-pj-*'.
598
599         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
600
601 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * mule-charset.c (encode_builtin_char_1): Purge codes about
604         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
605         {MIN|MAX}_CHAR_HEBREW.
606         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
607         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
608
609         * char-ucs.h (MIN_CHAR_GREEK): Purged.
610         (MAX_CHAR_GREEK): Purged.
611         (MIN_CHAR_CYRILLIC): Purged.
612         (MAX_CHAR_CYRILLIC): Purged.
613         (MIN_CHAR_HEBREW): Commented out.
614         (MAX_CHAR_HEBREW): Likewise.
615
616 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * mule-charset.c (Qto_ucs): New variable.
619         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
620         (Fdefine_char): Likewise.
621         (syms_of_mule_charset): Add new symbol `=>ucs'.
622
623 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * mule-charset.c (Fdecode_char): Fixed.
626
627 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
630         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
631         "tcvn5712-1".
632
633 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
634
635         * mule-charset.c (Vcharset_ucs_big5): New variable.
636         (Qucs_big5): Likewise.
637         (syms_of_mule_charset): Add new symbol `ucs-big5'.
638         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
639
640         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
641
642 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * mule-charset.c (decode_builtin_char): Check Big5 code range
645         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
646
647 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
650         (Qchinese_gb12345): Likewise.
651         (Fdecode_builtin_char): Fixed.
652         (syms_of_mule_charset): Add `chinese-gb12345'.
653         (complex_vars_of_mule_charset): Add coded-charset
654         `chinese-gb12345'.
655
656         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
657         (LEADING_BYTE_CHINESE_GB12345): New macro.
658
659 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
662         and `latin-viscii-upper' for `latin-viscii'.
663
664 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * mule-charset.c (Fdecode_builtin_char): Comment out
667         regularization code for ISO-IR GR representation.
668
669 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * mule-charset.c (decode_builtin_char): New function; renamed from
672         `make_builtin_char'; return -1 instead of signal.
673         (Fdecode_builtin_char): Use `decode_builtin_char'.
674
675         * char-ucs.h (decode_builtin_char): New prototype; renamed from
676         `make_builtin_char'.
677         (DECODE_CHAR): Use `decode_builtin_char' instead of
678         `make_builtin_char'; use mapping table of `chinese-big5' for
679         `chinese-big5-{1,2}'.
680
681 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
682
683         * text-coding.c (char_encode_big5): New function.
684         (char_finish_big5): Likewise.
685         (reset_encoding_stream): Use `char_encode_big5' and
686         `char_finish_big5' for CODESYS_BIG5.
687         (mule_encode): Don't use `encode_coding_big5'.
688         (encode_coding_big5): Deleted.
689
690 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
691
692         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
693         0x81- in XEmacs UTF-2000.
694         (detect_coding_big5): Likewise.
695
696 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * mule-charset.c (Fdefine_char): Don't use a CCS property to
699         generate character-id if the CCS property does not have
700         corresponding predefined character.
701         (make_builtin_char): Return -1 if corresponding predefined
702         character is not found.
703         (Fdecode_char): Return nil if corresponding character is not
704         found.
705         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
706         don't map to builtin ucs space.
707
708 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
711         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
712
713 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * mule-charset.c (Vcharset_ideograph_gt): New variable.
716         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
717         (Qideograph_gt): Likewise.
718         (Qideograph_gt_pj_{1..11}): Likewise.
719         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
720         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
721         `ideograph-gt-pj-11'.
722         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
723         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
724         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
725
726         * char-ucs.h (LEADING_BYTE_GT): New macro.
727         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
728         (MIN_CHAR_GT): Likewise.
729         (MAX_CHAR_GT): Likewise.
730
731 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
732
733         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
734         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
735
736         * doprnt.c (unsigned_int_converters): Add `c'.
737         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
738
739         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
740         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
741         `MIN_CHAR_MOJIKYO'.
742         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
743         (MAX_CHAR_MOJIKYO_0): New macro.
744         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
745
746 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * mule-charset.c (Fdefine_char): Delete cemented out code.
749         (encode_builtin_char_1): Modify for new allocation of builtin
750         Mojikyo characters.
751
752         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
753
754 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
755
756         * mule-charset.c (Vcharset_ucs_cns): New variable.
757         (Qucs_cns): New variable.
758         (syms_of_mule_charset): Add new symbol `ucs-cns'.
759         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
760
761 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
764
765 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
766
767         * search.c (search_buffer): Make `charset_base_code' as
768         character-id >> 6 to eliminate the corresponding last byte in
769         UTF-8 representation [I'm not sure it is right thing].
770         (boyer_moore): Likewise.
771
772 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
773
774         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
775         representation in MULE.
776
777 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * text-coding.c (Fmake_coding_system): Use
780         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
781         `EXTERNAL_PROPERTY_LIST_LOOP'.
782
783 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
784
785         * text-coding.c (decode_output_utf8_partial_char): New function.
786         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
787
788 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * text-coding.c (decode_coding_utf8): Output original byte
791         sequence if it is broken; change order of conditions.
792
793         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
794         of conditions.
795
796         * mb-multibyte.h (BYTE_ASCII_P):
797         Use bit ops for char-signedness safety.
798         (BYTE_C0_P): Use bit ops for char-signedness safety.
799         (BYTE_C1_P): Use bit ops for char-signedness safety.
800
801         * character.h: (XCHAR_OR_CHAR_INT):
802         Always use inline function.
803         Remove redundant type checking assert() - XINT will abort quite
804         nicely.
805
806 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
807
808         * text-coding.c: (Fencode_shift_jis_char):
809         (Fencode_big5_char):
810         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
811         Replace 0 with '\0' when working with bytes.
812         Replace initial "(" with "\(" in docstrings.
813
814         (Fmake_coding_system):
815         When type is ccl and value is vector, register it with a proper
816         symbol.  And checks whether the given ccl program is valid.
817         (mule_decode): When calling ccl_driver, if src indicates
818         NULL pointer, set an empty string instead.
819         (mule_encode): Likewise.
820
821         (detect_eol_type):
822         (detect_coding_sjis):
823         (decode_coding_sjis):
824         (detect_coding_big5):
825         (decode_coding_big5):
826         (detect_coding_ucs4):
827         (decode_coding_ucs4):
828         (detect_coding_utf8):
829         (decode_coding_utf8):
830         (detect_coding_iso2022):
831         (decode_coding_iso2022):
832         (decode_coding_no_conversion):
833         (mule_decode):
834         Make all detecting and decoding functions take an Extbyte * arg.
835         (text_encode_generic):
836         (encode_coding_big5):
837         (encode_coding_no_conversion):
838         (mule_encode):
839         Make all encoding functions take a Bufbyte * arg.
840         Use size_t instead of unsigned int for memory sizes.
841         Only cast to unsigned char whenever dereferencing Extbyte *.
842
843         (struct lrecord_description fcd_description_1): Use countof.
844         (complex_vars_of_file_coding):
845         Use countof instead of sizeof.
846         Use CHECK_NATNUM instead of CHECK_INT.
847
848 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
849
850         * mule-charset.c (Fget_char_attribute): Add new optional argument
851         `default-value'.
852         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
853         (remove_char_ccs): Likewise.
854
855 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * text-coding.c (char_encode_shift_jis): New implementation in
858         UTF-2000.
859         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
860         ...)'.
861
862         * mule-charset.c (Vcharset_chinese_big5): New variable in
863         UTF-2000.
864         (Qchinese_big5): New variable in UTF-2000.
865         (BIG5_SAME_ROW): New macro in UTF-2000.
866         (make_builtin_char): Use builtin characters of
867         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
868         characters of `Vcharset_chinese_big5'.
869         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
870         (complex_vars_of_mule_charset): Add new coded-charset
871         `chinese-big5' in UTF-2000.
872
873         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
874         (Vcharset_chinese_big5): New external variable declaration.
875         (Vcharset_japanese_jisx0208_1990): Likewise.
876
877 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
880         function.
881         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
882
883 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
886         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
887         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
888         `mojikyo-pj-*'.
889
890 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
891
892         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
893
894 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
897         to 0.17.
898
899 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
902         for `CHARSET_BY_ATTRIBUTES'.
903         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
904         `CHARSET_BY_ATTRIBUTES'.
905
906         * text-coding.c (struct decoding_stream): Rename member `CH' to
907         `CPOS'.
908         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
909         (decode_coding_sjis): Likewise.
910         (decode_coding_big5): Likewise.
911         (decode_coding_ucs4): Likewise.
912         (decode_coding_utf8): Likewise.
913         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
914         `CHARSET_BY_ATTRIBUTES'.
915         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
916         `str->counter'; decode 3, 4 bytes sets.
917         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
918         sets.
919         (decode_coding_no_conversion): Use `str->cpos' instead of
920         `str->ch'.
921
922         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
923         (Qmojikyo_2022_1): New variable.
924         (make_charset): Don't use `CHARSET_TYPE_*'.
925         (range_charset_code_point): Support coded-charset
926         `mojikyo-2022-1'.
927         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
928         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
929         `CHARSET_BY_ATTRIBUTES'.
930         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
931         `CHARSET_BY_ATTRIBUTES'.
932         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
933         (complex_vars_of_mule_charset): Add new coded-charset
934         `mojikyo-2022-1'.
935
936         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
937         interface; changed to inline function.
938
939         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
940         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
941         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
942         (CHARSET_TYPE_94): Deleted.
943         (CHARSET_TYPE_94X94): Deleted.
944         (CHARSET_TYPE_96): Deleted.
945         (CHARSET_TYPE_96X96): Deleted.
946         (CHARSET_TYPE_128): Deleted.
947         (CHARSET_TYPE_128X128): Deleted.
948         (CHARSET_TYPE_256): Deleted.
949         (CHARSET_TYPE_256X256): Deleted.
950         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
951         to inline function.
952         (DECODE_MOJIKYO_2022): New inline function.
953         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
954         `Vcharset_mojikyo_2022_1'.
955
956 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
957
958         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
959         instead of `EQ'.
960         (put_byte_table): Likewise.
961         (char_id_table_equal): Use `get_byte_table' [new implementation].
962
963 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
964
965         * mule-charset.c: Include <limits.h> in UTF-2000.
966         (BT_UINT8_MIN): New macro in UTF-2000.
967         (BT_UINT8_MAX): New macro in UTF-2000.
968         (BT_UINT8_t): New macro in UTF-2000.
969         (BT_UINT8_nil): New macro in UTF-2000.
970         (BT_UINT8_unbound): New macro in UTF-2000.
971         (INT_UINT8_P): New inline function in UTF-2000.
972         (UINT8_VALUE_P): New inline function in UTF-2000.
973         (UINT8_ENCODE): New inline function in UTF-2000.
974         (UINT8_DECODE): New inline function in UTF-2000.
975         (mark_uint8_byte_table): New function in UTF-2000.
976         (print_uint8_byte_table): New function in UTF-2000.
977         (uint8_byte_table_equal): New function in UTF-2000.
978         (uint8_byte_table_hash): New function in UTF-2000.
979         (make_uint8_byte_table): New function in UTF-2000.
980         (uint8_byte_table_same_value_p): New function in UTF-2000.
981         (BT_UINT16_MIN): New macro in UTF-2000.
982         (BT_UINT16_MAX): New macro in UTF-2000.
983         (BT_UINT16_t): New macro in UTF-2000.
984         (BT_UINT16_nil): New macro in UTF-2000.
985         (BT_UINT16_unbound): New macro in UTF-2000.
986         (INT_UINT16_P): New inline function in UTF-2000.
987         (UINT16_VALUE_P): New inline function in UTF-2000.
988         (UINT16_ENCODE): New inline function in UTF-2000.
989         (UINT16_DECODE): New inline function in UTF-2000.
990         (UINT8_TO_UINT16): New inline function in UTF-2000.
991         (mark_uint16_byte_table): New function in UTF-2000.
992         (print_uint16_byte_table): New function in UTF-2000.
993         (uint16_byte_table_equal): New function in UTF-2000.
994         (uint16_byte_table_hash): New function in UTF-2000.
995         (make_uint16_byte_table): New function in UTF-2000.
996         (uint16_byte_table_same_value_p): New function in UTF-2000.
997         (print_byte_table): New function in UTF-2000.
998         (byte-table): Use `print_byte_table' as printer.
999         (make_byte_table): Delete second argument `older'.
1000         (byte_table_same_value_p): New function in UTF-2000.
1001         (copy_byte_table): Deleted.
1002         (get_byte_table): New function in UTF-2000.
1003         (put_byte_table): New function in UTF-2000.
1004         (print_char_id_table): New function in UTF-2000.
1005         (char-id-table): Use `print_char_id_table' as printer.
1006         (make_char_id_table): Delete second argument `older'.
1007         (get_char_id_table): Use `get_byte_table [new implementation].
1008         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1009         implementation].
1010         (Ffind_char_attribute_table): New function in UTF-2000.
1011         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1012         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1013         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1014         (syms_of_mule_charset): Add new function
1015         `find-char-attribute-table' in UTF-2000.
1016
1017         * lrecord.h (enum lrecord_type): Add
1018         `lrecord_type_uint16_byte_table' and
1019         `lrecord_type_uint8_byte_table'.
1020
1021         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1022         (Lisp_Uint8_Byte_Table): New type.
1023         (XUINT8_BYTE_TABLE): New macro.
1024         (XSETUINT8_BYTE_TABLE): New macro.
1025         (UINT8_BYTE_TABLE_P): New macro.
1026         (GC_UINT8_BYTE_TABLE_P): New macro.
1027         (struct Lisp_Uint16_Byte_Table): New structure.
1028         (Lisp_Uint16_Byte_Table): New type.
1029         (XUINT16_BYTE_TABLE): New macro.
1030         (XSETUINT16_BYTE_TABLE): New macro.
1031         (UINT16_BYTE_TABLE_P): New macro.
1032         (GC_UINT16_BYTE_TABLE_P): New macro.
1033
1034 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1037         (Vcharacter_ideographic_strokes_table): Deleted.
1038         (Vcharacter_total_strokes_table): Deleted.
1039         (Vcharacter_morohashi_daikanwa_table): Deleted.
1040         (Vcharacter_decomposition_table): Deleted.
1041         (Qname): Deleted because it is duplicated.
1042         (Qideographic_radical): Deleted.
1043         (Qideographic_strokes): Deleted.
1044         (Qtotal_strokes): Deleted.
1045         (Qmorohashi_daikanwa): Deleted.
1046         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1047         `ideographic-radical', `ideographic-strokes', `total-strokes',
1048         `morohashi-daikanwa' and `->decomposition'.
1049         (Fget_char_attribute): Likewise.
1050         (Fput_char_attribute): Likewise; use `make-vector' instead of
1051         `make_older_vector' for `->decomposition' value.
1052         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1053         `ideograph-daikanwa'.
1054         (syms_of_mule_charset): Delete builtin symbols `name',
1055         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1056         `morohashi-daikanwa'.
1057         (vars_of_mule_charset): Don't setup
1058         `Vcharacter_ideographic_radical_table',
1059         `Vcharacter_ideographic_strokes_table',
1060         `Vcharacter_total_strokes_table',
1061         `Vcharacter_morohashi_daikanwa_table' and
1062         `Vcharacter_decomposition_table'.
1063
1064 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1067         `make_older_vector', `make_vector_newer_1' and
1068         `make_vector_newer'.
1069
1070         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1071         `make_older_vector' and `make_vector_newer'.
1072
1073         * config.h.in (HAVE_GGC): New macro.
1074
1075 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1076
1077         * mule-charset.c (struct char_attribute_list_closure): New
1078         structure in UTF-2000.
1079         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1080         (Fchar_attribute_list): Likewise.
1081         (Fset_charset_mapping_table): Use `make_vector_newer'.
1082         (Fdecode_builtin_char): New function in UTF-2000.
1083         (syms_of_mule_charset): Add new function `char-attribute-list' and
1084         `decode-builtin-char' in UTF-2000.
1085
1086         * lisp.h (make_vector_newer): New prototype.
1087
1088         * alloc.c (make_vector_newer_1): New function.
1089         (make_vector_newer): New function.
1090
1091 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1094         50100)'.
1095
1096 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1097
1098         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1099         (Vcharacter_attribute_table): Deleted.
1100         (Vcharacter_name_table): Deleted.
1101         (put_char_attribute): Deleted.
1102         (remove_char_attribute): Deleted.
1103         (struct char_attribute_alist_closure): New structure.
1104         (add_char_attribute_alist_mapper): New function.
1105         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1106         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1107         (Fget_char_attribute): Likewise.
1108         (Fput_char_attribute): Likewise.
1109         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1110         of `remove_char_attribute'.
1111         (Fdefine_char): Return character.
1112         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1113         and `Vcharacter_name_table'.
1114         (complex_vars_of_mule_charset): Likewise
1115         `Vchar_attribute_hash_table'.
1116
1117 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1118
1119         * character.h (CHARC_CHARSET): New macro.
1120         (CHARC_CHARSET_ID): New macro.
1121         (CHARC_CODE_POINT): New macro.
1122         (CHARC_COLUMNS): New macro.
1123         (CHARC_TO_CHAR): New inline function.
1124         (CHARC_EQ): New inline function.
1125         (CHARC_ASCII_EQ): New inline function.
1126         (CHARC_IS_SPACE): New inline function.
1127         (ASCII_TO_CHARC): New inline function.
1128
1129         * char-ucs.h (encode_char_2): Deleted.
1130         (ENCODE_CHAR): Use `encode_char_1' again.
1131         (breakup_char_1): Likewise.
1132         (CHAR_TO_CHARC): New inline function.
1133
1134         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1135
1136 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1139         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1140         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1141         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1142         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1143         `CHARC_IS_SPACE'.
1144         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1145
1146         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1147         `CHARC_CODE_POINT'.
1148         (x_output_display_block): Use `CHARC_CHARSET' and
1149         `CHARC_ASCII_EQ'.
1150
1151         * redisplay-tty.c (tty_output_display_block): Use
1152         `CHARC_ASCII_EQ'.
1153         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1154
1155         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1156
1157         * insdel.c (find_charsets_in_charc_string): Use
1158         `CHARC_CHARSET_ID'.
1159         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1160         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1161         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1162         (convert_charc_string_into_malloced_string): Likewise.
1163
1164 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1165
1166         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1167         instead of <Emchar_dynarr *> for buf; use
1168         `convert_bufbyte_string_into_charc_dynarr' instead of
1169         `convert_bufbyte_string_into_emchar_dynarr'; use
1170         `find_charsets_in_charc_string' instead of
1171         `find_charsets_in_emchar_string'.
1172
1173         * redisplay.h:
1174         - Include "character.h".
1175         (struct rune): New member `cglyph'; delete member `chr'.
1176
1177         * redisplay.c (redisplay_text_width_charc_string): New function;
1178         delete `redisplay_text_width_emchar_string'.
1179         (rtw_charc_dynarr): New variable; renamed from
1180         `rtw_emchar_dynarr'.
1181         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1182         `rtw_emchar_dynarr'; use
1183         `convert_bufbyte_string_into_charc_dynarr' instead of
1184         `convert_bufbyte_string_into_emchar_dynarr'; use
1185         `redisplay_text_width_charc_string' instead of
1186         `redisplay_text_width_emchar_string'.
1187         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1188         instead of `rtw_emchar_dynarr'; use
1189         `convert_bufbyte_string_into_charc_dynarr' instead of
1190         `convert_bufbyte_string_into_emchar_dynarr'.
1191         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1192         `redisplay_text_width_charc_string' instead of
1193         `redisplay_text_width_emchar_string'.
1194         (create_text_block): Modify for <struct rune> change.
1195         (generate_formatted_string_db): Likewise.
1196         (create_string_text_block): Likewise.
1197         (pixel_to_glyph_translation): Likewise.
1198
1199         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1200         instead of <const Emchar *>.
1201         (x_text_width): Likewise.
1202         (x_output_display_block): Use <Charc_dynarr *> instead
1203         <Emchar_dynarr *>; modify for <structure rune> change.
1204         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1205         *>.
1206
1207         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1208         <const Emchar *>; use `charc_string_displayed_columns' instead of
1209         `emchar_string_displayed_columns'.
1210         (tty_output_display_block): Use <Charc_dynarr *> instead of
1211         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1212         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1213         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1214         `tty_output_emchar_dynarr_dynarr'.
1215         (tty_output_charc_dynarr): New function; delete
1216         `tty_output_charc_dynarr'.
1217
1218         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1219         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1220         <Emchar_dynarr *> for buf; use
1221         `convert_bufbyte_string_into_charc_dynarr' instead of
1222         `convert_bufbyte_string_into_emchar_dynarr'.
1223
1224         * frame.c (title_string_charc_dynarr): New variable; renamed from
1225         `title_string_emchar_dynarr'.
1226         (generate_title_string): Use `title_string_charc_dynarr' instead
1227         of `title_string_emchar_dynarr'; use
1228         `convert_charc_string_into_malloced_string' instead of
1229         `convert_emchar_string_into_malloced_string'.
1230         (init_frame): Use `title_string_charc_dynarr' instead of
1231         `title_string_emchar_dynarr'.
1232
1233         * console.h:
1234         - Include "character.h".
1235         (struct console_methods): Use <const Charc *> instead of <const
1236         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1237         <Emchar_dynarr *> in output_string_method.
1238
1239         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1240         <Emchar_dynarr *>.
1241
1242         * console-stream.c (stream_text_width): Use <const Charc *>
1243         instead of <const Emchar *>.
1244
1245         * character.h (Charc_dynarr): New type.
1246
1247         * char-ucs.h (structure Charc): New structure; define new type
1248         `Charc'.
1249
1250         * char-lb.h (DECODE_CHAR): New inline function.
1251         (encode_char_1): New inline function.
1252         (ENCODE_CHAR): New macro.
1253         (structure Charc): New structure; define new type `Charc'.
1254
1255         * char-1byte.h (Vcharset_control_1): New macro.
1256         (Vcharset_latin_iso8859_1): New macro.
1257         (DECODE_CHAR): New inline function.
1258         (encode_char_1): New inline function.
1259         (ENCODE_CHAR): New macro.
1260         (structure Charc): New structure; define new type `Charc'.
1261
1262         * insdel.c (find_charsets_in_charc_string): New function; delete
1263         `find_charsets_in_emchar_string'.
1264         (charc_string_displayed_columns): New function; delete
1265         `emchar_string_displayed_columns'.
1266         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1267         `convert_bufbyte_string_into_emchar_dynarr'.
1268         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1269         `convert_charc_string_into_bufbyte_dynarr'.
1270         (convert_charc_string_into_malloced_string): New function; delete
1271         `convert_charc_string_into_malloced_string'.
1272
1273         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1274         `find_charsets_in_emchar_string'.
1275         (charc_string_displayed_columns): New prototype; delete
1276         `emchar_string_displayed_columns'.
1277         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1278         `convert_charc_string_into_bufbyte_dynarr'.
1279         (convert_charc_string_into_malloced_string): New prototype; delete
1280         `convert_charc_string_into_malloced_string'.
1281
1282 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1285
1286 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1287
1288         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1289
1290         * char-ucs.h: Use <short> for <Charset_ID>.
1291
1292         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1293         <Charset_ID>.
1294
1295 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1298         to 0.16.
1299
1300 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1303         variable.
1304         (Qmorohashi_daikanwa): New variable.
1305         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1306         for `morohashi-daikanwa' attribute.
1307         (Fget_char_attribute): Likewise.
1308         (Fput_char_attribute): Likewise.
1309         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1310         has the same value of `ideograph-daikanwa'.
1311         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1312         (vars_of_mule_charset): Setup
1313         `Vcharacter_morohashi_daikanwa_table'.
1314
1315 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1318         attributes.
1319         (add_charset_to_list_mapper): Add `key' instead of
1320         `XCHARSET_NAME (value)' to return aliases.
1321
1322 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1323
1324         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1325         variable.
1326         (Vcharacter_ideographic_strokes_table): New variable.
1327         (Qideographic_radical): New variable.
1328         (Qideographic_strokes): New variable.
1329         (Fchar_attribute_alist): Use
1330         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1331         attribute; use `Vcharacter_ideographic_strokes_table' for
1332         `ideographic-strokes' attribute.
1333         (Fget_char_attribute): Likewise.
1334         (Fput_char_attribute): Likewise.
1335         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1336         `ideographic-strokes'.
1337         (vars_of_mule_charset): Setup
1338         `Vcharacter_ideographic_radical_table' and
1339         `Vcharacter_ideographic_strokes_table'.
1340
1341 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1342
1343         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1344         (Qtotal_strokes): New variable.
1345         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1346         `total-strokes' attribute.
1347         (Fget_char_attribute): Likewise.
1348         (Fput_char_attribute): Likewise.
1349         (syms_of_mule_charset): Add new symbol `total-strokes'.
1350         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1351
1352 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1353
1354         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1355         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1356         are found.
1357         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1358         `->decomposition' attribute.
1359         (Fput_char_attribute): Likewise.
1360         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1361
1362 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1363
1364         * mule-charset.c (decoding_table_check_elements): New function.
1365         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1366
1367 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1368
1369         * mule-charset.c (Fset_charset_mapping_table): Use
1370         `put_char_ccs_code_point'.
1371
1372 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * mule-charset.c (decoding_table_put_char): New inline function.
1375         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1376
1377 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1378
1379         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1380         (XCHARSET_BYTE_SIZE): New macro.
1381         (decoding_table_remove_char): New inline function.
1382         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1383         `decoding_table_remove_char'.
1384         (remove_char_ccs): Use `decoding_table_remove_char'.
1385         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1386
1387 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (Vcharacter_name_table): New variable.
1390         (Qname): New variable.
1391         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1392         attribute.
1393         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1394         `Vcharacter_name_table' for `name' attribute.
1395         (Fremove_char_attribute): Use function `remove_char_ccs'.
1396         (put_char_ccs_code_point): New function.
1397         (remove_char_ccs): New function.
1398         (syms_of_mule_charset): Add new symbol `name'.
1399         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1400
1401 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1402
1403         * mule-charset.c (make_byte_table): Add new argument `older'.
1404         (make_char_id_table): Likewise.
1405         (copy_char_id_table): Comment out because it is not used.
1406         (put_char_id_table): Modify for `make_byte_table'.
1407         (Fput_char_attribute): Make encoding_table as older object;
1408         inherit older bit of `Vcharacter_composition_table'.
1409         (mark_charset): Don't mark `cs->encoding_table'.
1410         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1411         normal object; make `Vcharacter_composition_table' as an older
1412         object; delete staticpro for `Vcharacter_composition_table'; make
1413         `Vcharacter_variant_table' as a normal object.
1414
1415         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1416         (mark_object): Don't check older object in UTF-2000.
1417
1418         * lrecord.h (struct lrecord_header): Add new member `older' in
1419         UTF-2000.
1420         (set_lheader_implementation): Setup `SLI_header->older' in
1421         UTF-2000.
1422         (set_lheader_older_implementation): New macro in UTF-2000.
1423         (OLDER_RECORD_P): New macro in UTF-2000.
1424         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1425         (alloc_older_lcrecord): New prototype in UTF-2000.
1426         (alloc_older_lcrecord_type): New macro in UTF-2000.
1427
1428 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * mule-charset.c (byte_table_description): Use
1431         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1432         (char_id_table_description): Delete bogus `, 1'.
1433         (Fget_char_attribute): Refer encoding_table of each coded-charset
1434         to get value of coded-charset attribute of a character.
1435         (Fput_char_attribute): Use `make_older_vector' instead of
1436         `make_vector'; use encoding_table of each coded-charset to store
1437         value of coded-charset attribute of a character.
1438         (Fremove_char_attribute): Use encoding_table of each coded-charset
1439         to store value of coded-charset attribute of a character.
1440         (mark_charset): Mark `cs->encoding_table'; don't mark
1441         `cs->decoding_table'.
1442         (charset_description): Add description of new member
1443         `encoding_table'.
1444         (make_charset): Initialize `encoding_table'.
1445
1446         * char-ucs.h (struct Lisp_Charset): Add new member
1447         `encoding_table'.
1448         (CHARSET_ENCODING_TABLE): New macro.
1449         (XCHARSET_ENCODING_TABLE): New macro.
1450         (charset_code_point): New implementation.
1451         (encode_char_1): Likewise.
1452
1453         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1454         (disksave_object_finalization_1): Call finalizers of
1455         `all_older_lcrecords' in UTF-2000.
1456         (make_older_vector): New function in UTF-2000.
1457         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1458         UTF-2000.
1459
1460         * lisp.h (make_older_vector): New prototype in UTF-2000.
1461
1462 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * lrecord.h (enum lrecord_type): Rename
1465         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1466
1467         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1468         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1469         `get_char_code_table'.
1470
1471         * mule-charset.c (mark_char_id_table): Renamed from
1472         `mark_char_code_table'.
1473         (char_id_table_equal): Renamed from `char_code_table_equal'.
1474         (char_id_table_hash): Renamed from `char_code_table_hash'.
1475         (make_char_id_table): Renamed from `make_char_code_table'.
1476         (copy_char_id_table): Renamed from `copy_char_code_table'.
1477         (get_char_id_table): Renamed from `get_char_code_table'.
1478         (put_char_id_table): Renamed from `put_char_code_table'.
1479         (to_char_id): Renamed from `to_char_code'.
1480
1481         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1482         `Lisp_Char_Code_Table'.
1483         (char_id_table): Renamed from `char_code_table'.
1484         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1485         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1486         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1487         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1488         (get_char_id_table): Renamed from `get_char_code_table'.
1489
1490 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1491
1492         * lrecord.h (enum lrecord_type): Rename
1493         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1494
1495         * mule-charset.c (mark_byte_table): Renamed from
1496         `mark_char_byte_table'.
1497         (byte_table_equal): Renamed from `char_byte_table_equal'.
1498         (byte_table_hash): Renamed from `byte_table_hash'.
1499         (make_byte_table): Renamed from `make_byte_table'.
1500         (copy_byte_table): Renamed from `copy_char_byte_table'.
1501
1502         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1503         `Lisp_Char_Byte_Table'.
1504         (byte_table): Renamed from `char_byte_table'.
1505         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1506         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1507         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1508         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1509
1510 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1511
1512         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1513         (dfc_convert_to_internal_format): Likewise.
1514         
1515         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1516         * text-coding.c (Fcoding_system_alias_p): New function.
1517         * text-coding.c (Fcoding_system_aliasee): New function.
1518         * text-coding.c (append_suffix_to_symbol): New function.
1519         * text-coding.c (dangling_coding_system_alias_p): New function.
1520         * text-coding.c (Ffind_coding_system):
1521         * text-coding.c (Fcopy_coding_system):
1522         * text-coding.c (encode_coding_no_conversion):
1523         * text-coding.c (syms_of_file_coding):
1524         * text-coding.c (vars_of_file_coding):
1525         Rewrite coding system alias code.
1526         Allow nested aliases, like symbolic links.
1527         Allow redefinition of coding system aliases.
1528         Prevent existence of dangling coding system aliases.
1529         Eliminate convert_to_external_format.
1530         Eliminate convert_to_internal_format.
1531         
1532         * text-coding.c: Change enum eol_type to eol_type_t.
1533
1534 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1535
1536         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1537         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1538
1539         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1540         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1541
1542 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1543
1544         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1545         `ideograph-daikanwa'.
1546
1547         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1548         (Vcharset_ucs_bmp): Likewise.
1549         (Vcharset_mojikyo): Add new extern variable definition.
1550         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1551         (Vcharset_latin_iso8859_3): Likewise.
1552         (Vcharset_latin_iso8859_4): Likewise.
1553         (Vcharset_latin_iso8859_9): Likewise.
1554         (Vcharset_latin_viscii_lower): Likewise.
1555         (Vcharset_latin_viscii_upper): Likewise.
1556         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1557         `mojikyo' code-point is used to decode.
1558         (encode_char_2): New function [to convert `mojikyo' code-point to
1559         Mojikyo font encoding].
1560         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1561         (breakup_char_1): Likewise.
1562         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1563
1564 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1565
1566         * text-coding.c (Fmake_coding_system): Add document about
1567         `disable-composition' property.
1568
1569 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * text-coding.c (Qdisable_composition): New variable; delete
1572         `Qcomposite'.
1573         (Fmake_coding_system): Add new property `disable-composite';
1574         delete property `composite'.
1575         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1576         instead of `!CODING_SYSTEM_COMPOSITE'.
1577         (syms_of_file_coding): Add new symbol `disable-composition';
1578         delete symbol `composite'.
1579
1580         * file-coding.h (struct Lisp_Coding_System): Add
1581         `disable_composition'; delete `enable_composition'.
1582         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1583         `CODING_SYSTEM_COMPOSITE'.
1584         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1585         `XCODING_SYSTEM_COMPOSITE'.
1586
1587 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1588
1589         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1590         to 0.15.
1591
1592 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1593
1594         * text-coding.c (Qcomposite): New variable.
1595         (Fmake_coding_system): Add new property `composite'.
1596         (struct decoding_stream): Add `combined_char_count',
1597         `combined_chars' and `combining_table' in UTF-2000.
1598         (COMPOSE_FLUSH_CHARS): New macro.
1599         (COMPOSE_ADD_CHAR): New macro.
1600         (reset_decoding_stream): Reset `str->combined_char_count' and
1601         `str->combining_table' in UTF-2000.
1602         (decode_coding_iso2022): Modify for character-decomposition.
1603         (syms_of_file_coding): Add new symbol `composite'.
1604
1605 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1606
1607         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1608         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1609         of `Vcharacter_composition_table' if `->decomposition' property
1610         has only 1 element.
1611         (Qlatin_tcvn5712): New variable.
1612         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1613         (complex_vars_of_mule_charset): Add new coded-charset
1614         `latin-tcvn5712'.
1615
1616         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1617
1618 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1619
1620         * file-coding.h (struct Lisp_Coding_System): Add
1621         `enable_composition'.
1622         (CODING_SYSTEM_COMPOSITE): New macro.
1623         (XCODING_SYSTEM_COMPOSITE): New macro.
1624
1625 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1626
1627         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1628
1629 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1630
1631         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1632         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1633
1634 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1635
1636         * mule-charset.c (Vcharset_mojikyo): New variable.
1637         (Fdefine_char): Don't use coded-charset which does not have
1638         non-builtin character range to allocate character-id.
1639         (Qmojikyo): New variable.
1640         (syms_of_mule_charset): Add new symbol `mojikyo'.
1641         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1642
1643         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1644         (LEADING_BYTE_MOJIKYO): New macro.
1645         (MIN_CHAR_MOJIKYO): New macro.
1646         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1647         (MAX_CHAR_MOJIKYO): New macro.
1648
1649 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1650
1651         * mule-charset.c (remove_char_attribute): Fixed.
1652
1653 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1654
1655         * mule-charset.c (remove_char_attribute): New function.
1656         (Fremove_char_attribute): New function.
1657         (encode_builtin_char_1): Comment out builtin-support for
1658         greek-iso8859-7 and cyrillic-iso8859-5.
1659         (Fdecode_char): Check `code' is an integer.
1660         (syms_of_mule_charset): Add `remove-char-attribute'.
1661         (MIN_CHAR_GREEK): Deleted.
1662         (MAX_CHAR_GREEK): Likewise.
1663         (MIN_CHAR_CYRILLIC): Likewise.
1664         (MAX_CHAR_CYRILLIC): Likewise.
1665         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1666         MAX_CHAR_GREEK for `greek-iso8859-7'.
1667
1668         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1669         (MAX_CHAR_GREEK): Likewise.
1670         (MIN_CHAR_CYRILLIC): Likewise.
1671         (MAX_CHAR_CYRILLIC): Likewise.
1672
1673 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1674
1675         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1676         format is used without `ucs' property.
1677         (Fdecode_char): Fix problem with GR representation.
1678         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1679         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1680
1681 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1682
1683         * mule-charset.c (make_builtin_char): New function.
1684         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1685         (Fset_charset_mapping_table): Modify for new representation of
1686         code-point.
1687         (Fdecode_char): New function.
1688         (syms_of_mule_charset): Add new builtin function `decode-char' in
1689         UTF-2000.
1690
1691         * char-ucs.h (make_builtin_char): New prototype.
1692         (DECODE_CHAR): New inline function.
1693         (MAKE_CHAR): Use `DECODE_CHAR'.
1694
1695 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1696
1697         * text-coding.c (parse_charset_conversion_specs): Use
1698         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1699         `XCHARSET_TYPE'.
1700         (iso2022_designate): Likewise.
1701
1702         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1703         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1704
1705         * mule-charset.c (Vcharset_ucs): New variable.
1706         (print_charset): Change design; use `CHARSET_CHARS' and
1707         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1708         (make_charset): Change signature to specify `chars' and
1709         `dimension' instead of `type'.
1710         (range_charset_code_point): Modify for 256^n-set.
1711         (encode_builtin_char_1): Encode as `ucs' in default.
1712         (Fmake_charset): Modify for `make_charset'.
1713         (Fmake_reverse_direction_charset): Likewise.
1714         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1715         UTF-2000.
1716         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1717         for `make_charset'.
1718
1719         * char-ucs.h (Vcharset_ucs): New variable.
1720         (LEADING_BYTE_UCS): New macro.
1721         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1722         and `chars' to `unsigned short' from `unsigned int'.
1723         (CHARSET_TYPE): Deleted.
1724         (XCHARSET_TYPE): Deleted.
1725
1726 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1727
1728         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1729
1730         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1731         (ENCODE_CHAR): New macro.
1732
1733 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1734
1735         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1736         to 0.14 (Kawachi-Katakami).
1737
1738 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1739
1740         * text-coding.c (char_encode_shift_jis): Modify for
1741         `charset_code_point'.
1742         (char_encode_iso2022): Likewise.
1743
1744         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1745         (integer) instead of list of <Lisp_Object>s (integers) as the
1746         format of code-point of a coded-charset.
1747         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1748         (encode_builtin_char_1): New function; delete
1749         `split_builtin_char'.
1750         (charset_code_point): Return <int> instead of <Lisp_Object>.
1751         (Fsplit_char): Don't use `SPLIT_CHAR'.
1752
1753         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1754         prototype for `split_builtin_char'.
1755         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1756         (charset_code_point): Likewise.
1757         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1758         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1759
1760 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1761
1762         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1763         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1764
1765 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1766
1767         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1768
1769         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1770         (MAX_CHAR_OBS_94x94): Deleted.
1771
1772 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1773
1774         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1775
1776         * char-ucs.h (MAX_CHAR_BMP): New macro.
1777
1778 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1779
1780         * text-coding.c: Sync with r21-2-24.
1781
1782 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1783
1784         * file-coding.c: Modify for UTF-2000.
1785
1786 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1787
1788         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1789         to 0.13 (Takaida).
1790
1791 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1792
1793         * mule-charset.c (split_builtin_char): Delete builtin support for
1794         `katakana-jisx0201'.
1795         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1796         BMP area in builtin representation.
1797
1798         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1799         `Vcharset_katakana_jisx0201'.
1800
1801 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1802
1803         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1804         (Qisolated): New variable.
1805         (Qinitial): New variable.
1806         (Qmedial): New variable.
1807         (Qfinal): New variable.
1808         (Qvertical): New variable.
1809         (Qsmall): New variable.
1810         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1811         `Qvertical' and `Qsmall'.
1812         (Qmojikyo_pj_[1 .. 21]): New variable.
1813         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1814         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1815         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1816         .. 21]'.
1817
1818 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1819
1820         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1821         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1822         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1823
1824 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1825
1826         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1827         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1828         BMP.
1829         (Qjapanese_jisx0208_1990): New variable.
1830         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1831         (complex_vars_of_mule_charset): Add new coded-charset
1832         `japanese-jisx0208-1990'.
1833
1834         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1835         (MIN_CHAR_JIS_X0208_1990): New macro.
1836         (MAX_CHAR_JIS_X0208_1990): New macro.
1837
1838 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1839
1840         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1841         coded-charset is not found.
1842
1843 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1844
1845         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1846         (Fdefine_char): Use `Fmake_char'.
1847
1848 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1849
1850         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1851         (Vcharset_hiragana_jisx0208): Deleted.
1852         (Vcharset_katakana_jisx0208): Deleted.
1853         (Qideograph_daikanwa): New variable.
1854         (Qhiragana_jisx0208): Deleted.
1855         (Qkatakana_jisx0208): Deleted.
1856         (split_builtin_char): Split `ideograph-daikanwa'.
1857         (Fsplit_char): New implementation for UTF-2000.
1858         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1859         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1860         (complex_vars_of_mule_charset): Add new coded-charset
1861         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1862         `katakana-jisx0208'.
1863
1864         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1865         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1866         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1867         (MIN_CHAR_DAIKANWA): New macro.
1868         (MAX_CHAR_DAIKANWA): New macro.
1869
1870 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1871
1872         * data.c (Fstring_to_number): Don't recognize floating point if
1873         base is not 10.
1874
1875 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1876
1877         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1878
1879 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1880
1881         * mule-charset.c (Qsquare): New variable.
1882         (to_char_code): Add `Qsquare'.
1883         (syms_of_mule_charset): Add new symbol `square'.
1884
1885 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1886
1887         * mule-charset.c (Qcircle): New variable.
1888         (to_char_code): Add `Qcircle'.
1889         (syms_of_mule_charset): Add new symbol `circle'.
1890
1891 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1892
1893         * mule-charset.c (Qfont): New variable.
1894         (to_char_code): Add `Qfont'.
1895         (syms_of_mule_charset): Add new symbol `font'.
1896
1897 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1898
1899         * mule-charset.c (Qsub): New variable.
1900         (to_char_code): Add `Qsub'.
1901         (syms_of_mule_charset): Add new symbol `sub'.
1902
1903 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1904
1905         * mule-charset.c (Fput_char_attribute): Convert each element of
1906         VALUE to GL position if ATTRIBUTE is a GR-set,
1907
1908 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1909
1910         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1911         coded-charset is a GR-set.
1912
1913 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1914
1915         * mule-charset.c (Fput_char_attribute): Check each element of
1916         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1917
1918 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1919
1920         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1921         UTF-2000.
1922         (Qethiopic_ucs): New variable in UTF-2000.
1923         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1924         (complex_vars_of_mule_charset): Add new coded-charset
1925         `ethiopic-ucs' in UTF-2000.
1926
1927         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1928         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1929         9)'.
1930         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1931         10)'.
1932         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1933
1934 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1935
1936         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1937         `ascii'.
1938
1939 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1940
1941         * mule-charset.c (Vcharacter_variant_table): New variable.
1942         (Q_ucs): New variable.
1943         (Fchar_variants): New function.
1944         (Fput_char_attribute): Register `->ucs' value to
1945         `Vcharacter_variant_table'.
1946         (syms_of_mule_charset): Add new function `char-variants' and new
1947         symbol `->ucs'.
1948         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1949
1950 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1951
1952         * mule-charset.c (get_char_code_table): Allow negative character
1953         code.
1954         (put_char_code_table): Likewise.
1955         (Vcharacter_composition_table): New variable.
1956         (Q_decomposition): New variable.
1957         (Qwide): New variable.
1958         (Qnarrow): New variable.
1959         (Qcompat): New variable.
1960         (QnoBreak): New variable.
1961         (Qsuper): New variable.
1962         (Qfraction): New variable.
1963         (to_char_code): New function.
1964         (Fget_composite_char): New function.
1965         (Fput_char_attribute): Register `->decomposition' value to
1966         `Vcharacter_composition_table'.
1967         (syms_of_mule_charset): Add new function `get-composite-char', new
1968         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1969         `super' and `fraction'.
1970         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1971
1972 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1973
1974         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1975         character; copy the return value.
1976
1977 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1978
1979         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1980
1981         * mule-charset.c (range_charset_code_point): Must use make_int.
1982         (split_builtin_char): New function.
1983
1984 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1985
1986         * mule-charset.c (char_byte_table): Change name from
1987         "char-code-table" to "char-byte-table".
1988         (mark_char_code_table): New function.
1989         (char_code_table_equal): New function.
1990         (char_code_table_hash): New function.
1991         (char_code_table_description): New constant.
1992         (char_code_table): New type.
1993         (make_char_code_table): New function.
1994         (copy_char_code_table): New function.
1995         (get_char_code_table): Modify for `char_code_table' type.
1996         (put_char_code_table): Likewise.
1997         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1998         (Kashiwara).
1999
2000         * char-ucs.h (char_code_table): New type.
2001         (XCHAR_CODE_TABLE): New macro.
2002         (XSETCHAR_CODE_TABLE): New macro.
2003         (CHAR_CODE_TABLE_P): New macro.
2004         (GC_CHAR_CODE_TABLE_P): New macro.
2005         (struct Lisp_Char_Code_Table): New structure.
2006
2007 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2008
2009         * mule-charset.c (Fmake_charset): Setup byte_offset for
2010         {94|96}^n-set.
2011
2012 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2013
2014         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2015         character.
2016
2017 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2018
2019         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2020         is found.
2021
2022 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2023
2024         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2025         charset, it is regarded as a charset.
2026         (put_char_attribute): New function in UTF-2000.
2027         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2028         charset, mapping-table of the charset is modified.
2029         (Fdefine_char): New function in UTF-2000.
2030         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2031         `Fput_char_attribute'.
2032         (syms_of_mule_charset): Add new function `define-char' and new
2033         symbol `ucs' in UTF-2000.
2034         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2035
2036 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2037
2038         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2039         non-UTF-2000 configuration.
2040
2041 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2042
2043         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2044         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2045
2046         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2047         deleted.
2048         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2049         (Fset_charset_mapping_table): Likewise.
2050
2051         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2052         (CHARSET_ENCODING_TABLE): Delete.
2053         (XCHARSET_ENCODING_TABLE): Delete.
2054         (charset_code_point): New interface.
2055
2056 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2057
2058         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2059         instead of `charset_get_byte1' and `charset_get_byte2'.
2060
2061         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2062         (charset_get_byte2): Deleted.
2063
2064 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2065
2066         * char-ucs.h (SPLIT_CHAR): New inline function.
2067         (breakup_char_1): Use `SPLIT_CHAR'.
2068
2069         * mule-charset.c (range_charset_code_point): New function.
2070         (charset_code_point): New function.
2071
2072         * char-ucs.h (range_charset_code_point): New interface.
2073         (breakup_char_1): Use `range_charset_code_point'.
2074
2075 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2076
2077         * mule-charset.c (Fmake_charset): Delete unused local variable
2078         `code_offset'.
2079
2080         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2081         (breakup_char_1): Find a charset and code-point in
2082         `Vcharacter_attribute_table'.
2083
2084 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2085
2086         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2087         to 0.10 (Yao).
2088
2089 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2090
2091         * mule-charset.c (Vcharacter_attribute_table): New variable.
2092         (Fchar_attribute_alist): New function.
2093         (Fget_char_attribute): New function.
2094         (Fput_char_attribute): New function.
2095         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2096         too.
2097         (syms_of_mule_charset): Add new function `char-attribute-alist',
2098         `get-char-attribute' and `put-char-attribute'.
2099         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2100
2101 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2102
2103         * mule-charset.c (Fmake_charset): Just use
2104         `get_unallocated_leading_byte'.
2105
2106         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2107         sets; don't use final-byte based number for private sets.
2108
2109 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2110
2111         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2112         integer.
2113
2114 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2115
2116         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2117         to 0.9.
2118
2119 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2120
2121         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2122         of `CHAR_LEADING_BYTE' in UTF-2000.
2123
2124         * insdel.c (find_charsets_in_bufbyte_string): Use
2125         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2126         (find_charsets_in_emchar_string): Likewise.
2127
2128         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2129         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2130
2131         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2132         (CHAR_CHARSET_ID): New macro.
2133
2134 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2135
2136         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2137         charset-id - MIN_LEADING_BYTE.
2138         (put_char_table): Likewise.
2139
2140 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2141
2142         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2143         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2144         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2145         (CHARSET_ID_OFFSET): New macro.
2146         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2147         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2148         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2149         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2150         4).
2151         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2152         5).
2153         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2154         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2155         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2156         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2157         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2158
2159 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2160
2161         * mule-charset.c (next_allocated_leading_byte): New variable in
2162         UTF-2000.
2163         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2164         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2165         (get_unallocated_leading_byte): Simply use
2166         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2167         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2168         UTF-2000.
2169
2170         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2171         (MAX_LEADING_BYTE_PRIVATE): New macro.
2172         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2173         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2174
2175 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2176
2177         * mule-charset.c (Fmake_charset): Allocate final-byte based
2178         charset-id for 94-set, 96-set and 94x94-set.
2179
2180 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2181
2182         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2183         ambiguous `else'.
2184         (Fmake_charset): Likewise.
2185         (complex_vars_of_mule_charset): Modify the font registry of
2186         `ucs-bmp' not to match `Ethiopic-Unicode'.
2187
2188 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2189
2190         * mule-charset.c (complex_vars_of_mule_charset): Add font
2191         registory of `ucs-bmp'.
2192
2193 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2194
2195         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2196         coded-charsets in `default-coded-charset-priority-list' when
2197         breaking up a character.
2198
2199         * mule-charset.c (Vcharset_latin_viscii): New variable.
2200         (Qlatin_viscii): New variable.
2201         (make_charset): Don't use `decoding_table'.
2202         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2203         byte_offset.
2204         (Fset_charset_mapping_table): New implementation.
2205         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2206         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2207         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2208         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2209         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2210         charset `latin_viscii'.
2211
2212         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2213         (CHARSET_TYPE_94X94): Change to 1 from 2.
2214         (CHARSET_TYPE_96): Change to 2 from 1.
2215         (CHARSET_TYPE_128): New macro.
2216         (CHARSET_TYPE_128X128): Change to 5 from 4.
2217         (CHARSET_TYPE_256): New macro.
2218         (CHARSET_TYPE_256X256): Change to 7 from 5.
2219         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2220
2221 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2222
2223         * text-coding.c (char_encode_shift_jis): Refer
2224         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2225         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2226
2227         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2228         (char_byte_table_equal): New function in UTF-2000.
2229         (char_byte_table_hash): New function in UTF-2000.
2230         (char_byte_table_description): New constant in UTF-2000.
2231         (char_byte_table): New type in UTF-2000.
2232         (make_char_byte_table): New function in UTF-2000.
2233         (copy_char_byte_table): New function in UTF-2000.
2234         (make_char_code_table): New macro in UTF-2000.
2235         (get_char_code_table): New function in UTF-2000.
2236         (put_char_code_table): New function in UTF-2000.
2237         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2238         (charset_description): Add setting in UTF-2000.
2239         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2240         `CHARSET_TO_BYTE1_TABLE(cs)'.
2241         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2242         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2243         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2244         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2245         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2246         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2247         `CHARSET_TO_BYTE2_TABLE(cs)'.
2248
2249         * char-ucs.h (char_byte_table): New type.
2250         (XCHAR_BYTE_TABLE): New macro.
2251         (XSETCHAR_BYTE_TABLE): New macro.
2252         (CHAR_BYTE_TABLE_P): New macro.
2253         (GC_CHAR_BYTE_TABLE_P): New macro.
2254         (struct Lisp_Char_Byte_Table): New structure.
2255         (get_char_code_table): New interface.
2256         (Emchar_to_byte_table): Deleted.
2257         (get_byte_from_character_table): Deleted.
2258         (struct Lisp_Charset): Add `encoding_table'; delete
2259         `to_byte1_table' and `to_byte2_table'.
2260         (CHARSET_ENCODING_TABLE): New macro.
2261         (CHARSET_TO_BYTE1_TABLE): Deleted.
2262         (CHARSET_TO_BYTE2_TABLE): Deleted.
2263         (XCHARSET_ENCODING_TABLE): New macro.
2264         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2265         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2266
2267 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2268
2269         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2270         `vietnamese-viscii-*'.
2271
2272 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2273
2274         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2275         (Qvietnamese_viscii_upper): New variable.
2276         (Fdefine_charset_alias): New function.
2277         (syms_of_mule_charset): Add new function `define-charset-alias'.
2278         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2279         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2280         `latin-viscii-*'.
2281
2282 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2283
2284         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2285         (MAX_CHAR_OBS_94x94): New macro.
2286         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2287         for 94x94 sets.
2288
2289         * mule-charset.c (put_byte_from_character_table): Change unit size
2290         from 128 to 256.
2291         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2292         not defined.
2293         (Fmake_reverse_direction_charset): Modify dummy argument of
2294         `make_charset' for non-UTF-2000 environment.
2295
2296 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2297
2298         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2299
2300         * mule-charset.c (destroy_byte_from_character_table): New macro.
2301         (latin_jisx0201_to_ucs): Deleted.
2302         (latin_iso8859_2_to_ucs): Deleted.
2303         (latin_iso8859_3_to_ucs): Deleted.
2304         (latin_iso8859_4_to_ucs): Deleted.
2305         (latin_iso8859_9_to_ucs): Deleted.
2306         (latin_viscii_lower_to_ucs): Deleted.
2307         (latin_viscii_upper_to_ucs): Deleted.
2308         (mark_charset): Mark `cs->decoding_table'.
2309         (Fcharset_mapping_table): Fix DOC-string.
2310         (Fset_charset_mapping_table): New function.
2311         (syms_of_mule_charset): Add nwe function
2312         `set-charset-mapping-table'.
2313         (complex_vars_of_mule_charset): Don't setup and use
2314         `latin_*_to_ucs'.
2315
2316 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2317
2318         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2319         charset.
2320
2321 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2322
2323         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2324         (Vcharset_katakana_jisx0208): New variable.
2325         (Qhiragana_jisx0208): New variable.
2326         (Qkatakana_jisx0208): New variable.
2327         (make_charset): Add new argument `byte_offset'.
2328         (charset_get_byte1): Modify for new coded-charset definition; use
2329         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2330         `XCHARSET_BYTE_OFFSET'.
2331         (Fmake_charset): Modify for `make_charset'.
2332         (Fmake_reverse_direction_charset): Likewise.
2333         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2334         `katakana-jisx0208'.
2335         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2336         `.'  in font registry of charset `katakana-jisx0201',
2337         `latin-jisx0201', `vietnamese-viscii-lower' and
2338         `vietnamese-viscii-upper'; modify DOC-string of charset
2339         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2340         registry of charset `japanese-jisx0208' not to use font for JIS
2341         X0208:1990; add new charset `hiragana-jisx0208' and
2342         `katakana-jisx0208'.
2343
2344         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2345         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2346         (struct Lisp_Charset): Add `byte_offset'.
2347         (CHARSET_BYTE_OFFSET): New macro.
2348         (XCHARSET_UCS_MIN): New macro.
2349         (XCHARSET_UCS_MAX): New macro.
2350         (XCHARSET_CODE_OFFSET): New macro.
2351         (XCHARSET_BYTE_OFFSET): New macro.
2352         (MIN_CHAR_HIRAGANA): New macro.
2353         (MAX_CHAR_HIRAGANA): New macro.
2354         (MIN_CHAR_KATAKANA): New macro.
2355         (MAX_CHAR_KATAKANA): New macro.
2356         (MAKE_CHAR): Modify for new coded-charset definition; use
2357         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2358         `XCHARSET_BYTE_OFFSET'.
2359
2360 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2361
2362         * mule-charset.c (CHAR96): Deleted.
2363         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2364         <Lisp_Object>.
2365         (latin_iso8859_2_to_ucs): Likewise.
2366         (latin_iso8859_3_to_ucs): Likewise.
2367         (latin_iso8859_4_to_ucs): Likewise.
2368         (latin_iso8859_9_to_ucs): Likewise.
2369         (latin_viscii_lower_to_ucs): Likewise.
2370         (latin_viscii_upper_to_ucs): Likewise.
2371         (latin_tcvn5712_to_ucs): Commented out.
2372         (make_charset): Change type of argument `decoding_table' from
2373         <Emchar*> to <Lisp_Object> [vector of characters].
2374         (Fmake_charset): Modify for `make_charset'.
2375         (Fmake_reverse_direction_charset): Likewise.
2376         (Fcharset_mapping_table): New function in UTF-2000.
2377         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2378         UTF-2000.
2379         (complex_vars_of_mule_charset): Modify for type change of
2380         `*_to_ucs'; modify for `make_charset'.
2381
2382         * char-ucs.h (struct Lisp_Charset): Change type of
2383         `decoding_table' from <Emchar*> to <Lisp_Object>.
2384         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2385
2386 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2387
2388         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2389         error with non-UTF-2000-Mule.
2390
2391 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2392
2393         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2394         in lisp again].
2395         (Vcharset_chinese_cns11643_4): Likewise.
2396         (Vcharset_chinese_cns11643_5): Likewise.
2397         (Vcharset_chinese_cns11643_6): Likewise.
2398         (Vcharset_chinese_cns11643_7): Likewise.
2399         (Qchinese_cns11643_3): Likewise.
2400         (Qchinese_cns11643_4): Likewise.
2401         (Qchinese_cns11643_5): Likewise.
2402         (Qchinese_cns11643_6): Likewise.
2403         (Qchinese_cns11643_7): Likewise.
2404         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2405         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2406         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2407         (complex_vars_of_mule_charset): Likewise.
2408
2409 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2410
2411         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2412         96-set.
2413         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2414         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2415
2416 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2417
2418         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2419         0xFF60.
2420         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2421         (breakup_char_1): Likewise.
2422
2423         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2424         one of them includes the specified character.
2425
2426 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2427
2428         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2429
2430 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2431
2432         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2433
2434 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2435
2436         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2437         definition for non-UTF-2000 Mule.
2438         (latin_iso8859_3_to_ucs): Likewise.
2439         (latin_iso8859_4_to_ucs): Likewise.
2440         (latin_iso8859_9_to_ucs): Likewise.
2441         (latin_jisx0201_to_ucs): Likewise.
2442         (MIN_CHAR_THAI): Likewise.
2443         (MAX_CHAR_THAI): Likewise.
2444         (MIN_CHAR_GREEK): Likewise.
2445         (MAX_CHAR_GREEK): Likewise.
2446         (MIN_CHAR_HEBREW): Likewise.
2447         (MAX_CHAR_HEBREW): Likewise.
2448         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2449         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2450         (MIN_CHAR_CYRILLIC): Likewise.
2451         (MAX_CHAR_CYRILLIC): Likewise.
2452
2453 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2454
2455         * char-ucs.h (breakup_char_1): Use
2456         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2457         thai-tis620 and katakana-jisx0201 area.
2458
2459 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2460
2461         * char-ucs.h (breakup_char_1): Use
2462         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2463         area.
2464
2465         * text-coding.c (reset_encoding_stream): Fixed.
2466         (char_encode_ucs4): Delete `& 255'.
2467
2468         * char-ucs.h (breakup_char_1): Use
2469         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2470
2471 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2472
2473         * file-coding.c (Fmake_coding_system): Don't set up
2474         `codesys->fixed.size'.
2475         (encode_coding_no_conversion): Don't refer
2476         `str->codesys->fixed.size'.
2477
2478 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2479
2480         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2481         (latin_a_char_to_byte1): Deleted.
2482         (latin_a_char_to_byte2): Deleted.
2483
2484 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2485
2486         * mule-charset.c (make_charset): Add new argument `ucs_min',
2487         `ucs_max' and `code_offset'.
2488         (charset_get_byte1): New implementation [delete specific charset
2489         depended implementations].
2490         (Fmake_charset): Modify for `make_charset'.
2491         (Fmake_reverse_direction_charset): Likewise.
2492         (complex_vars_of_mule_charset): Likewise.
2493
2494         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2495         `code_offset'.
2496         (CHARSET_UCS_MIN): New macro.
2497         (CHARSET_UCS_MAX): New macro.
2498         (CHARSET_CODE_OFFSET): New macro.
2499         (MAKE_CHAR): Delete charset depended definitions [except
2500         katakana-jisx0201].
2501
2502 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2503
2504         * char-ucs.h (breakup_char_1): Use
2505         `Vdefault_coded_charset_priority_list' for C0-Controls,
2506         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2507
2508 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2509
2510         * char-ucs.h (charset_get_byte1): New function.
2511         (XCHARSET_GET_BYTE1): Deleted.
2512         (charset_get_byte2): New function.
2513         (XCHARSET_GET_BYTE2): Deleted.
2514         (Vdefault_coded_charset_priority_list): New external variable.
2515         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2516         `Vdefault_preferred_coded_charset_list'.
2517
2518         * mule-charset.c (charset_get_byte1): New function.
2519         (charset_get_byte2): New function.
2520         (Vdefault_coded_charset_priority_list): New variable.
2521         (vars_of_mule_charset): Add new variable
2522         `default-coded-charset-priority-list'.
2523
2524 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2525
2526         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2527         (XCHARSET_GET_BYTE2): New inline function.
2528         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2529         `XCHARSET_GET_BYTE2'.
2530
2531 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2532
2533         * mule-charset.c (make_charset): Initialize
2534         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2535         NULL if table is not defined.
2536
2537 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2538
2539         * text-coding.c (char_encode_shift_jis): Use
2540         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2541         `ucs_to_latin_jisx0201'.
2542
2543         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2544         (ucs_to_latin_iso8859_2): Deleted.
2545         (ucs_to_latin_iso8859_3): Deleted.
2546         (ucs_to_latin_iso8859_4): Deleted.
2547         (ucs_to_latin_iso8859_9): Deleted.
2548         (ucs_to_latin_viscii_lower): Deleted.
2549         (ucs_to_latin_viscii_upper): Deleted.
2550         (ucs_to_latin_tcvn5712): Deleted.
2551         (make_charset): Add new argument `decoding_table'; set up
2552         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2553         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2554         `decoding_table' is defined in UTF-2000.
2555         (Fmake_charset): Modify for `make_charset'.
2556         (Fmake_reverse_direction_charset): Likewise.
2557         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2558         and `GENERATE_96_SET'.
2559
2560         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2561         (ucs_to_latin_jisx0201): Deleted.
2562         (latin_iso8859_2_to_ucs): Deleted.
2563         (ucs_to_latin_iso8859_2): Deleted.
2564         (latin_iso8859_3_to_ucs): Deleted.
2565         (ucs_to_latin_iso8859_3): Deleted.
2566         (latin_iso8859_4_to_ucs): Deleted.
2567         (ucs_to_latin_iso8859_4): Deleted.
2568         (latin_iso8859_9_to_ucs): Deleted.
2569         (ucs_to_latin_iso8859_9): Deleted.
2570         (latin_viscii_lower_to_ucs): Deleted.
2571         (ucs_to_latin_viscii_lower): Deleted.
2572         (latin_viscii_upper_to_ucs): Deleted.
2573         (ucs_to_latin_viscii_upper): Deleted.
2574         (struct Lisp_Charset): Renamed `encoding_table' to
2575         `to_byte1_table'; add `to_byte2_table'.
2576         (CHARSET_DECODING_TABLE): New macro.
2577         (CHARSET_TO_BYTE1_TABLE): New macro.
2578         (CHARSET_TO_BYTE2_TABLE): New macro.
2579         (XCHARSET_DECODING_TABLE): New macro.
2580         (XCHARSET_TO_BYTE1_TABLE): New macro.
2581         (XCHARSET_TO_BYTE2_TABLE): New macro.
2582         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2583         tables.
2584         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2585         don't use `ucs_to_*' tables.
2586
2587 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2588
2589         * text-coding.c (Fmake_coding_system): Don't set up
2590         `codesys->fixed.size'.
2591         (encode_coding_no_conversion): Use `if' instead of `switch'.
2592
2593         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2594
2595 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2596
2597         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2598         (Fmake_charset): Modify for `make_charset'.
2599         (Fmake_reverse_direction_charset): Likewise.
2600         (complex_vars_of_mule_charset): Likewise.
2601
2602 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2603
2604         * text-coding.c (char_encode_shift_jis): Use table
2605         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2606
2607 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2608
2609         * text-coding.c (text_encode_generic): Use `if' instead of
2610         `switch'.
2611         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2612         decode JIS-Latin.
2613
2614 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2615
2616         * text-coding.c (encode_coding_sjis): Deleted.
2617         (char_encode_shift_jis): New function.
2618         (char_finish_shift_jis): New function.
2619         (reset_encoding_stream): Set up `encode_char' and `finish' for
2620         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2621         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2622         (char_encode_utf8): Treat `eol_type'.
2623
2624 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2625
2626         * file-coding.c (decode_coding_iso2022): Use
2627         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2628
2629 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2630
2631         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2632         to 0.7 (Hirano).
2633
2634 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2635
2636         * char-lb.h (CHAR_COLUMNS): New macro.
2637
2638 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2639
2640         * text-coding.c (char_encode_ucs4): New function.
2641         (char_finish_ucs4): New function.
2642         (encode_coding_ucs4): Deleted.
2643         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2644         (text_encode_generic): Delete local variable `charset' and `half'.
2645         (ucs_to_mule_table): Deleted.
2646         (mule_to_ucs_table): Deleted.
2647         (Fset_ucs_char): Deleted.
2648         (ucs_to_char): Deleted.
2649         (Fucs_char): Deleted.
2650         (Fset_char_ucs): Deleted.
2651         (Fchar_ucs): Deleted.
2652         (decode_ucs4): Deleted.
2653         (mule_char_to_ucs4): Deleted.
2654         (encode_ucs4): Deleted.
2655         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2656         (decode_coding_utf8): Likewise.
2657         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2658         (char_encode_iso2022): Fixed.
2659         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2660         `Fset_char_ucs' and `Fchar_ucs'.
2661         (complex_vars_of_file_coding): Don't initialize
2662         `ucs_to_mule_table'.
2663
2664         * objects-tty.c (tty_initialize_font_instance): Don't use
2665         `XCHARSET_COLUMNS'.
2666
2667         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2668         UTF-2000.
2669
2670         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2671         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2672
2673         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2674         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2675         (emchar_string_displayed_columns): Likewise.
2676
2677         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2678         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2679         (string_column_at_point): Likewise.
2680         (Fmove_to_column): Likewise.
2681
2682         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2683         `encoding_table' and `decoding_table'.
2684         (CHARSET_REP_BYTES): Deleted.
2685         (XCHARSET_REP_BYTES): Deleted.
2686         (XCHARSET_COLUMNS): Deleted.
2687         (CHAR_COLUMNS): New macro.
2688         (lookup_composite_char): Deleted unconditionally.
2689         (composite_char_string): Likewise.
2690
2691 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2692
2693         * char-ucs.h (Emchar_to_byte_table): New type.
2694         (get_byte_from_character_table): New function interface.
2695         (Vcharset_latin_jisx0201): New variable.
2696         (latin_jisx0201_to_ucs): New variable.
2697         (ucs_to_latin_jisx0201): New variable.
2698         (Vcharset_latin_iso8859_2): New variable.
2699         (latin_iso8859_2_to_ucs): New variable.
2700         (ucs_to_latin_iso8859_2): New variable.
2701         (Vcharset_latin_iso8859_3): New variable.
2702         (latin_iso8859_3_to_ucs): New variable.
2703         (ucs_to_latin_iso8859_3): New variable.
2704         (Vcharset_latin_iso8859_4): New variable.
2705         (latin_iso8859_4_to_ucs): New variable.
2706         (ucs_to_latin_iso8859_4): New variable.
2707         (Vcharset_latin_iso8859_9): New variable.
2708         (latin_iso8859_9_to_ucs): New variable.
2709         (ucs_to_latin_iso8859_9): New variable.
2710         (Vcharset_latin_viscii_lower): New variable.
2711         (latin_viscii_lower_to_ucs): New variable.
2712         (ucs_to_latin_viscii_lower): New variable.
2713         (Vcharset_latin_viscii_upper): New variable.
2714         (latin_viscii_upper_to_ucs): New variable.
2715         (ucs_to_latin_viscii_upper): New variable.
2716         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2717         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2718         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2719         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2720         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2721         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2722         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2723         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2724         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2725         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2726
2727         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2728         (Vcharset_latin_viscii_upper): New variable.
2729         (make_byte_from_character_table): New function.
2730         (put_byte_from_character_table): New function.
2731         (get_byte_from_character_table): New function.
2732         (CHAR96): New macro.
2733         (ucs_to_latin_jisx0201): New variable.
2734         (latin_jisx0201_to_ucs): New variable.
2735         (ucs_to_latin_iso8859_2): New variable.
2736         (latin_iso8859_2_to_ucs): New variable.
2737         (ucs_to_latin_iso8859_3): New variable.
2738         (latin_iso8859_3_to_ucs): New variable.
2739         (ucs_to_latin_iso8859_4): New variable.
2740         (latin_iso8859_4_to_ucs): New variable.
2741         (ucs_to_latin_iso8859_9): New variable.
2742         (latin_iso8859_9_to_ucs): New variable.
2743         (ucs_to_latin_viscii_lower): New variable.
2744         (latin_viscii_lower_to_ucs): New variable.
2745         (ucs_to_latin_viscii_upper): New variable.
2746         (latin_viscii_upper_to_ucs): New variable.
2747         (ucs_to_latin_tcvn5712): New variable.
2748         (latin_tcvn5712_to_ucs): New variable.
2749         (Qlatin_viscii_lower): New variable.
2750         (Qlatin_viscii_upper): New variable.
2751         (syms_of_mule_charset): Set up new symbol
2752         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2753         (complex_vars_of_mule_charset): Set up new charset
2754         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2755         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2756         `ucs_to_<CHARSET>' tables.
2757
2758 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2759
2760         * text-coding.c: New file.
2761
2762 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2763
2764         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2765
2766         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2767         (MAKE_CHAR): Modify for `ucs-bmp'.
2768         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2769         non-MULE characters of BMP.
2770
2771 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2772
2773         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2774         to 0.6.
2775
2776 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2777
2778         * lstream.h:
2779         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2780         - Include character.h for `CHAR_ASCII_P'.
2781
2782         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2783
2784         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2785         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2786
2787         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2788         (BYTE_C0_P): Likewise.
2789         (BYTE_C1_P): Likewise.
2790         (Lstream_get_emchar_1): Likewise.
2791         (Lstream_fput_emchar): Likewise.
2792         (Lstream_funget_emchar): Likewise.
2793         (copy_internal_to_external): Likewise.
2794         (copy_external_to_internal): Likewise.
2795
2796         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2797         (BYTE_C0_P): Likewise.
2798         (BYTE_C1_P): Likewise.
2799         (Lstream_get_emchar_1): Likewise.
2800         (Lstream_fput_emchar): Likewise.
2801         (Lstream_funget_emchar): Likewise.
2802         (copy_internal_to_external): Likewise.
2803         (copy_external_to_internal): Likewise.
2804
2805         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2806         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2807
2808         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2809         (BYTE_ASCII_P): Moved to mb-1byte.h.
2810
2811 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2812
2813         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2814
2815         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2816         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2817         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2818         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2819         (VALIDATE_CHARPTR_FORWARD): Likewise.
2820         (simple_charptr_emchar): Moved to mb-multibyte.h.
2821         (simple_set_charptr_emchar): Likewise.
2822         (simple_charptr_copy_char): Likewise.
2823         (non_ascii_charptr_emchar): Likewise.
2824         (non_ascii_set_charptr_emchar): Likewise.
2825         (non_ascii_charptr_copy_char): Likewise.
2826         (charptr_emchar): Moved to mb-*byte.h.
2827         (set_charptr_emchar): Likewise.
2828         (charptr_copy_char): Likewise.
2829
2830         * mb-1byte.h, mb-multibyte.h: New files.
2831
2832 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2833
2834         * mb-utf-8.h (MULTIBYTE): New macro.
2835         (MAX_EMCHAR_LEN): Moved from buffer.h.
2836         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2837
2838         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2839
2840         * mb-lb.h, multibyte.h: New files.
2841
2842         * char-1byte.h (Charset_ID): Moved from buffer.h.
2843         (MIN_LEADING_BYTE): Likewise.
2844         (LEADING_BYTE_ASCII): Likewise.
2845         (NUM_LEADING_BYTES): Likewise.
2846         (CHARSETP): Likewise.
2847         (CHARSET_BY_LEADING_BYTE): Likewise.
2848         (XCHARSET_LEADING_BYTE): Likewise.
2849         (XCHARSET_GRAPHIC): Likewise.
2850         (XCHARSET_COLUMNS): Likewise.
2851         (XCHARSET_DIMENSION): Likewise.
2852         (CHAR_CHARSET): Likewise.
2853         (CHAR_LEADING_BYTE): Likewise.
2854         (BREAKUP_CHAR): Likewise.
2855         (Vcharset_ascii): Likewise.
2856
2857         * buffer.h: Include multibyte.h unconditionally.
2858         (VALID_CHARPTR_P): Moved to multibyte.h.
2859         (ASSERT_VALID_CHARPTR): Likewise.
2860         (REAL_INC_CHARPTR): Likewise.
2861         (REAL_INC_CHARBYTIND): Likewise.
2862         (REAL_DEC_CHARPTR): Likewise.
2863         (INC_CHARPTR): Likewise.
2864         (INC_CHARBYTIND): Likewise.
2865         (DEC_CHARPTR): Likewise.
2866         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2867         (VALIDATE_CHARPTR_FORWARD): Likewise.
2868         (charptr_n_addr): Likewise.
2869         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2870         (simple_charptr_emchar): Moved to multibyte.h.
2871         (simple_set_charptr_emchar): Likewise.
2872         (simple_charptr_copy_char): Likewise.
2873         (non_ascii_charptr_emchar): Likewise.
2874         (non_ascii_set_charptr_emchar): Likewise.
2875         (non_ascii_charptr_copy_char): Likewise.
2876         (charptr_emchar): Likewise.
2877         (set_charptr_emchar): Likewise.
2878         (charptr_copy_char): Likewise.
2879         (charptr_emchar_n): Likewise.
2880         (Charset_ID): Moved to char-1byte.h.
2881         (Vcharset_ascii): Likewise.
2882         (CHAR_CHARSET): Likewise.
2883         (CHAR_LEADING_BYTE): Likewise.
2884         (LEADING_BYTE_ASCII): Likewise.
2885         (NUM_LEADING_BYTES): Likewise.
2886         (MIN_LEADING_BYTE): Likewise.
2887         (CHARSETP): Likewise.
2888         (CHARSET_BY_LEADING_BYTE): Likewise.
2889         (XCHARSET_LEADING_BYTE): Likewise.
2890         (XCHARSET_GRAPHIC): Likewise.
2891         (XCHARSET_COLUMNS): Likewise.
2892         (XCHARSET_DIMENSION): Likewise.
2893         (BREAKUP_CHAR): Likewise.
2894
2895 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2896
2897         * character.h: Add document about interface for characters.
2898
2899         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2900         (MAKE_CHAR): Delete comment about
2901         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2902         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2903         (BREAKUP_CHAR): Modify name of arguments.
2904         (CHAR_CHARSET): Modify name of argument.
2905
2906         * buffer.h: Delete document about Emchar accessors.
2907
2908 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2909
2910         * character.h (CHAR_INTP): Moved from buffer.h
2911         (CHAR_OR_CHAR_INTP): Likewise.
2912         (XCHAR_OR_CHAR_INT): Likewise.
2913         (CHECK_CHAR_COERCE_INT): Likewise.
2914
2915         * buffer.h (CHAR_INTP): Moved to character.h
2916         (CHAR_OR_CHAR_INTP): Likewise.
2917         (XCHAR_OR_CHAR_INT): Likewise.
2918         (CHECK_CHAR_COERCE_INT): Likewise.
2919
2920 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2921
2922         * character.h:
2923         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2924         - Include char-1byte.h, char-lb.h or char-ucs.h.
2925
2926         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2927
2928         * buffer.h: Include character unconditionally.
2929         (valid_char_p): Moved to char-*.h.
2930         (non_ascii_valid_char_p): Moved to char-lb.h.
2931
2932         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2933
2934 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2935
2936         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2937         in UTF-2000 because it is not ported yet and not to use
2938         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2939         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2940         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2941
2942         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2943         (CHAR_ASCII_P): Moved from character.h.
2944
2945         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2946         (CHAR_ASCII_P): Likewise.
2947         (CHAR_FIELD1_MASK): Deleted.
2948         (CHAR_FIELD2_MASK): Deleted.
2949         (CHAR_FIELD3_MASK): Deleted.
2950         (MAX_CHAR_BASIC_LATIN): New macro.
2951         (CHAR_FIELD1): Deleted.
2952         (CHAR_FIELD2_INTERNAL): Deleted.
2953         (CHAR_FIELD3_INTERNAL): Deleted.
2954         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2955         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2956         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2957         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2958         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2959         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2960         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2961         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2962         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2963         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2964         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2965         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2966         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2967         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2968         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2969         (MIN_CHAR_COMPOSITION): Deleted.
2970         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2971         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2972
2973 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2974
2975         * buffer.h: Include mb-utf-8.h in UTF-2000.
2976
2977         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2978
2979         * mb-utf-8.h: New file.
2980
2981 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2982
2983         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2984         instead of `int'.
2985
2986         * mule-charset.h, buffer.h (Charset_ID): New type.
2987
2988 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2989
2990         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2991         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2992         instead of `MULE_CHAR_PRIVATE_OFFSET',
2993         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2994         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2995         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2996
2997         * character.h (Vcharset_japanese_jisx0212): New variable
2998         definition.
2999
3000 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3001
3002         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3003         (charset_by_attributes): Delete array about direction.
3004         (latin_a_char_to_charset): New variable in UTF-2000.
3005         (latin_a_char_to_byte1): New variable in UTF-2000.
3006         (latin_a_char_to_byte2): New variable in UTF-2000.
3007         (Qucs_bmp): New variable.
3008         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3009         `Bufbyte'.
3010         (next_allocated_2_byte_leading_byte): Likewise.
3011         (non_ascii_set_charptr_emchar): Likewise.
3012         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3013         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3014         `charset_by_attributes'.
3015         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3016         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3017         and `CHARSET_BY_LEADING_BYTE'.
3018         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3019         `utf-2000-version' to `vars_of_mule_charset'.
3020         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3021         define `leading-code-private-11' in UTF-2000; move setting of
3022         `utf-2000-version' from `syms_of_mule_charset'.
3023         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3024         UTF-2000.
3025
3026         * character.h (Charset_ID): New type.
3027         (LEADING_BYTE_UCS_BMP): New macro.
3028         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3029         (CHARSET_ID_OFFSET_94): New macro.
3030         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3031         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3032         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3033         final-byte.
3034         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3035         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3036         (CHARSET_ID_OFFSET_96): New macro.
3037         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3038         CHARSET_ID_OFFSET_96 and final-byte.
3039         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3040         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3041         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3042         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3043         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3044         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3045         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3046         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3047         (LEADING_BYTE_THAI_TIS620): Likewise.
3048         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3049         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3050         (CHARSET_ID_OFFSET_94x94): New macro.
3051         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3052         CHARSET_ID_OFFSET_94x94 and final-byte.
3053         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3054         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3055         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3056         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3057         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3058         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3059         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3060         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3061         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3062         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3063         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3064         (CHARSET_TYPE_128X128): New macro.
3065         (CHARSET_TYPE_256X256): New macro.
3066         (XCHARSET_PRIVATE_P): Delete unconditionally.
3067         (charset_by_attributes): Delete array about direction.
3068         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3069         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3070         (MIN_CHAR_94): New macro.
3071         (MAX_CHAR_94): New macro.
3072         (MIN_CHAR_96): New macro.
3073         (MAX_CHAR_96): New macro.
3074         (MIN_CHAR_94x94): New macro.
3075         (MAX_CHAR_94x94): New macro.
3076         (MIN_CHAR_96x96): New macro.
3077         (MAX_CHAR_96x96): New macro.
3078         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3079         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3080         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3081         - 32)'.
3082         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3083         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3084         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3085         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3086         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3087         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3088         `XCHARSET_LEADING_BYTE' to make code-point.
3089         (latin_a_char_to_charset): New variable.
3090         (latin_a_char_to_byte1): New variable.
3091         (latin_a_char_to_byte2): New variable.
3092         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3093         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3094         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3095
3096         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3097         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3098         (find_charsets_in_emchar_string): Likewise.
3099         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3100
3101         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3102         `int'.
3103         (decode_coding_iso2022): Likewise.
3104
3105         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3106         of `unsigned char'.
3107
3108         * redisplay.c (redisplay_text_width_emchar_string): Use
3109         `Charset_ID' instead of `unsigned char'.
3110         (redisplay_frame_text_width_string): Likewise.
3111
3112         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3113         `unsigned char'.
3114
3115         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3116         instead of `unsigned char'.
3117         (face_cachel_charset_font_metric_info): Likewise.
3118
3119         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3120         (get_non_ascii_char_table_value): Likewise.
3121         (get_char_table): Likewise.
3122         (put_char_table): Likewise.
3123         (map_over_other_charset): Likewise.
3124         (map_char_table): Likewise.
3125
3126         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3127         instead of `unsigned char'.
3128
3129 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3130
3131         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3132         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3133
3134         * mule-charset.c (leading_code_private_11): Don't define in
3135         UTF-2000.
3136
3137         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3138         in UTF-2000 because it is not ported yet and not to use
3139         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3140
3141 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3142
3143         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3144
3145 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3146
3147         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3148         in UTF-2000.
3149
3150         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3151         of unsigned char to store leading-byte.
3152
3153         * chartab.c (get_non_ascii_char_table_value): Don't use
3154         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3155
3156         * file-coding.c (encode_coding_big5): Delete bogus implementation
3157         in UTF2000.
3158
3159         * character.h (LEADING_BYTE_*): Delete definition for
3160         non-UTF-2000.
3161         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3162         (LEADING_BYTE_PREFIX_P): Deleted.
3163         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3164         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3165         (BUFBYTE_LEADING_BYTE_P): Deleted.
3166         (CHARSET_PRIVATE_P): Deleted unconditionally.
3167         (rep_bytes_by_first_byte): Deleted unconditionally.
3168         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3169         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3170         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3171         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3172         (CHAR_FIELD2): Deleted.
3173         (CHAR_FIELD3): Deleted.
3174         (MAKE_CHAR): Delete definition for non-UTF-2000.
3175         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3176         (breakup_char_1): New implementation.
3177         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3178         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3179
3180 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3181
3182         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3183         condition.
3184
3185 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3186
3187         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3188         (CHARSET_PRIVATE_P): Likewise.
3189         (XCHARSET_PRIVATE_P): Likewise.
3190         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3191
3192         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3193         UTF2000.
3194         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3195
3196 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3197
3198         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3199         (NUM_LEADING_BYTES): Changed from 128 to 256.
3200         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3201         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3202         UTF2000.
3203         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3204
3205         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3206         UTF2000.
3207         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3208         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3209         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3210         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3211         (Qchinese_cns11643_3): New variable in UTF2000.
3212         (Qchinese_cns11643_4): New variable in UTF2000.
3213         (Qchinese_cns11643_5): New variable in UTF2000.
3214         (Qchinese_cns11643_6): New variable in UTF2000.
3215         (Qchinese_cns11643_7): New variable in UTF2000.
3216         (syms_of_mule_charset): Define `chinese-cns11643-3',
3217         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3218         and `chinese-cns11643-7' in UTF2000.
3219         (vars_of_mule_charset): Initialize
3220         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3221         + 1 in UTF2000.
3222         (complex_vars_of_mule_charset): Setup charset
3223         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3224         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3225
3226 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3227
3228         * mule-charset.c: Move setting for `leading-code-private-11' from
3229         `syms_of_mule_charset' to `vars_of_mule_charset'.
3230
3231 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3232
3233         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3234         and `NUM_LEADING_BYTES' in assert.
3235
3236 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3237
3238         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3239         instead of 128.
3240         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3241         `NUM_LEADING_BYTES' instead of 128.
3242
3243 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3244
3245         * mule-charset.h (charset_by_leading_byte): Use
3246         `NUM_LEADING_BYTES' instead of 128.
3247         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3248
3249         * mule-charset.c (charset_by_leading_byte): Use
3250         `NUM_LEADING_BYTES' instead of 128.
3251         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3252
3253         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3254         128.
3255
3256 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3257
3258         * mule-charset.c (syms_of_mule_charset): Update to
3259         0.4 (Shin-Imamiya).
3260
3261 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3262
3263         * file-coding.c (encode_coding_sjis): New implementation for
3264         UTF2000.  (decode_coding_sjis): Ditto.
3265
3266 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3267
3268         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3269         Don't define in UTF2000.
3270
3271         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3272         defined.
3273
3274         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3275         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3276         MULE.
3277
3278 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3279
3280         * config.h.in (CHAR_IS_UCS4): New macro.
3281
3282         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3283         conventional MULE representation.
3284         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3285
3286         * mule-charset.h: Reverted to original.
3287
3288         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3289         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3290         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3291
3292         * character.h: New file.
3293
3294         * file-coding.c (Fmake_coding_system): Set 1 to
3295         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3296         defined.
3297         (encode_coding_no_conversion): New implementation for UTF2000.
3298
3299         * file-coding.h (struct Lisp_Coding_System): Add new member
3300         `fixed.size'.
3301
3302 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3303
3304         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3305         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3306         (encode_coding_iso2022): New implementation for UTF2000.
3307
3308 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3309
3310         * mule-canna.c (c2mu): New implementation for UTF2000.
3311         (m2c): Likewise.
3312
3313 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3314
3315         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3316
3317 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3318
3319         * file-coding.c (reset_encoding_stream): Set 0 to
3320         `str->iso2022.current_char_boundary' in UTF2000.
3321         (encode_utf8): Don't define in UTF2000.
3322         (encode_coding_utf8): New implementation for UTF-8 representation
3323         of UTF2000.
3324         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3325
3326 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3327
3328         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3329
3330         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3331         UTF2000.
3332         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3333
3334         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3335
3336         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3337         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3338         as UTF-8 in UTF2000.
3339         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3340         (non_ascii_valid_char_p): Don't define in UTF2000.
3341         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3342         (Lstream_get_emchar_1): Likewise.
3343         (utf-2000-version): New variable in UTF2000.
3344
3345         * lread.c (read_escape): Add new reader `u'.
3346
3347         * insdel.c (three_to_one_table): Don't define in UTF2000.
3348         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3349         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3350         UTF2000.
3351         (bytind_to_bufpos_func): Likewise.
3352         (buffer_mule_signal_inserted_region): Likewise.
3353         (vars_of_insdel): Don't initialize `three_to_one_table'.
3354         (init_buffer_text): Use `buf->text->mule_size' instead of
3355         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3356         UTF2000.
3357
3358         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3359         UTF-8 representation in UTF2000.
3360         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3361         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3362         (decode_coding_iso2022): Don't define local variable `lb' in
3363         UTF2000; don't use LEADING_BYTE in UTF2000; use
3364         `DECODE_ADD_UCS_CHAR' in UTF2000.
3365         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3366
3367         * config.h.in (UTF2000): New macro.
3368
3369         * buffer.h (struct buffer_text): Add new member `mule_size' and
3370         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3371         (valid_char_p): Return always 1 in UTF2000.
3372         (MAX_EMCHAR_LEN): 6 in UTF2000.
3373         (three_to_one_table): Don't define in UTF2000.
3374         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3375         UTF2000.
3376         (real_bytind_to_bufpos): Likewise.
3377
3378         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3379
3380 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3381
3382         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3383         representation change.
3384         (Vutf_2000_version): New variable.
3385         (leading_code_private_11): New variable.
3386         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3387         `leading-code-private-11'.
3388
3389         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3390         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3391         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3392         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3393         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3394         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3395         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3396         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3397         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3398         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3399         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3400         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3401         (MIN_CHAR_GREEK): New macro.
3402         (MAX_CHAR_GREEK): New macro.
3403         (MIN_CHAR_CYRILLIC): New macro.
3404         (MAX_CHAR_CYRILLIC): New macro.
3405         (MIN_CHAR_HEBREW): New macro.
3406         (MAX_CHAR_HEBREW): New macro.
3407         (MIN_CHAR_THAI): New macro.
3408         (MAX_CHAR_THAI): New macro.
3409         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3410         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3411         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3412         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3413         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3414         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3415         (CHAR_FIELD2): New inline function.
3416         (CHAR_FIELD3): New inline function.
3417         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3418         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3419         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3420         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3421         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3422         (MIN_CHAR_COMPOSITION): Likewise.
3423         (CHAR_LEADING_BYTE): Modified for character representation change.
3424         (MAKE_CHAR): Likewise.
3425
3426         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3427         (Vcharset_greek_iso8859_7): Likewise.
3428         (Vcharset_cyrillic_iso8859_5): Likewise.
3429         (Vcharset_hebrew_iso8859_8): Likewise.
3430         (Vcharset_thai_tis620): Likewise.
3431         (Vcharset_katakana_jisx0201): Likewise.
3432
3433 2001-01-17  Martin Buchholz <martin@xemacs.org>
3434
3435         * XEmacs 21.2.41 "Polyhymnia" is released.
3436
3437 2001-01-16  Didier Verna  <didier@xemacs.org>
3438
3439         * glyphs.c (image_instantiate): don't use fallbacks when
3440         instantiating a face's background pixmap by inheritance.
3441
3442 2001-01-14  Mike Sperber <mike@xemacs.org>
3443
3444         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3445         Conditionalize accordingly.
3446
3447 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3448
3449         * dumper.c (pdump_file_get): Fix a compiler warning.
3450
3451 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3452
3453         Make Purify happy when pdumping.
3454         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3455         iniitalizing all bits of new lisp object memory.
3456         * symbols.c (Fmake_local_variable): Likewise.
3457         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3458         * symbols.c (Fdefvaralias): Likewise.
3459         * mule-charset.c (vars_of_mule_charset): Likewise.
3460
3461 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3462         Add the `-nd' flag when running pre-dump operations under the debugger.
3463         * .dbxrc (run-temacs): Add `-nd'.
3464         * .dbxrc (update-elc): Likewise.
3465         * .dbxrc (dump-temacs): Likewise.
3466         * .gdbinit (run-temacs): Likewise.
3467         * .gdbinit (check-temacs): Likewise.
3468         * .gdbinit (update-elc): Likewise.
3469         * .gdbinit (dump-temacs): Likewise.
3470
3471 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3472
3473         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3474         export OBJECT_MODE=64
3475         configure --pdump --use-union-type=no
3476         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3477         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3478
3479         * miscplay.c (sndcnv8U_2mono):
3480         Avoid two uses of `++' in the same expression.
3481         Suppresses a GCC warning.
3482
3483 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3484
3485         Make sure future compilers don't miscompile alloc.c.
3486         * alloc.c:
3487         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3488         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3489
3490 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3491
3492         * dumper.c: A little post-pdump-rename comment fixup.
3493
3494 2001-01-09  Jerry James  <james@eecs.ku.edu>
3495
3496         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3497
3498 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3499
3500         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3501         script:
3502         #!/bin/sh
3503         replace_symbol () {
3504           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3505         }
3506
3507         replace_symbol pdump_wire_lists pdump_weak_object_chains
3508         replace_symbol pdump_wire_list dump_add_weak_object_chain
3509
3510         replace_symbol pdump_wires pdump_root_objects
3511         replace_symbol pdump_wire dump_add_root_object
3512
3513         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3514         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3515
3516         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3517         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3518         replace_symbol dumpstructinfo pdump_root_struct_ptr
3519         replace_symbol dumpstruct dump_add_root_struct_ptr
3520
3521         replace_symbol dumpopaque dump_add_opaque
3522         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3523         replace_symbol dumpopaqueinfos pdump_opaques
3524         replace_symbol dumpopaqueinfo pdump_opaque
3525
3526         replace_symbol nb_structdump nb_root_struct_ptrs
3527         replace_symbol nb_opaquedump nb_opaques
3528
3529         replace_symbol align_table pdump_align_table
3530         replace_symbol dump_header pdump_header
3531
3532         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3533         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3534
3535
3536 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3537
3538         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3539         optimizing bytecount_to_charcount().
3540
3541 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3542
3543         * config.h.in:
3544         (HAVE_DLFCN_H): Removed.
3545         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3546
3547 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3548
3549         Portable dumper maintainability improvements.
3550         * alloc.c (staticpro):
3551         * alloc.c (staticpro_nodump):
3552         * alloc.c (garbage_collect_1):
3553         * alloc.c (reinit_alloc_once_early):
3554         * alloc.c (init_alloc_once_early):
3555         * alloc.c: Move dumper functions to alloc.c.
3556         * dumper.c (pdump_backtrace):
3557         * dumper.c (pdump_dump_structs):
3558         * dumper.c (pdump_dump_opaques):
3559         * dumper.c (pdump_dump_rtables):
3560         * dumper.c (pdump_dump_wired):
3561         * dumper.c (pdump):
3562         * dumper.c (pdump_load_check):
3563         * dumper.c (pdump_load_finish):
3564         * dumper.c (pdump_file_unmap):
3565         * dumper.c (pdump_file_get):
3566         * dumper.c (pdump_resource_free):
3567         * dumper.c (pdump_resource_get):
3568         * dumper.c (pdump_file_free):
3569         * dumper.c (pdump_file_try):
3570         * dumper.c (pdump_load):
3571         Remove fixed size limits on staticpro(), staticpro_nodump(),
3572         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3573         Remove custom code for dumping lrecord_implementations_table - use
3574         dumpopaque instead.
3575         Remove (most of the) custom code for dumping staticpros - dump it
3576         like any other dynarr.
3577
3578         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3579         * dumper.c: Moved functions from alloc.c.
3580         * alloc.c (dumpstruct): Moved to dumper.c.
3581         * alloc.c (dumpopaque): Likewise.
3582         * alloc.c (pdump_wire): Likewise.
3583         * alloc.c (pdump_wire_list): Likewise.
3584
3585         * lisp.h (Dynarr_sizeof): New.
3586         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3587         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3588         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3589
3590         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3591         * lisp.h (dumpopaque): ditto.
3592         * lisp.h (pdump_wire): ditto.
3593         * lisp.h (pdump_wire_list): ditto.
3594
3595 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3596
3597         * make-src-depend (PrintPatternDeps):
3598         Use `sort' to make output independent of perl version.
3599
3600 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3601
3602         Port to Netbsd 1.5.
3603         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3604         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3605
3606 2001-01-03  Didier Verna  <didier@xemacs.org>
3607
3608         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3609         that `focus_frame' is alive before thinking of calling
3610         `redisplay_redraw_cursor' on it.
3611
3612 2001-01-08  Martin Buchholz <martin@xemacs.org>
3613
3614         * XEmacs 21.2.40 is released.
3615
3616 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3617
3618         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3619
3620 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3621
3622         * alloc.c (dbg_valmask): Make const.
3623         * alloc.c (dbg_typemask): Make const.
3624         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3625         * alloc.c (dbg_valbits): Make const.
3626         * alloc.c (dbg_gctypebits): Make const.
3627
3628 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3629
3630         * redisplay-x.c (x_bevel_area):
3631         redisplay.h (struct rune):
3632         Typo fixes in comments.
3633
3634 2001-01-05  Andy Piper  <andy@xemacs.org>
3635
3636         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3637         adjustment.
3638
3639         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3640
3641 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3642
3643         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3644
3645         * mule-ccl.c (stack_idx_of_map_multiple):
3646         Non const global data must not be initialized!
3647         Found by MIYASHITA Hisashi.
3648
3649 2001-01-02  Andy Piper  <andy@xemacs.org>
3650
3651         * frame.c (change_frame_size): make sure frame size is always
3652         marked as changed.
3653
3654         * glyphs.c (image_instance_layout): minor code reuse.
3655
3656         * window.c (Fcurrent_window_configuration): revert previous
3657         change.
3658
3659 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3660
3661         * glyphs.h:
3662         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3663
3664 2000-12-31  Andy Piper  <andy@xemacs.org>
3665
3666         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3667         when widget gets unmapped.
3668
3669         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3670         function. Make sure widgets losing focus don't just drop it.
3671         (handle_focus_event_1): record the widget with focus.
3672
3673 2000-12-31  Andy Piper  <andy@xemacs.org>
3674
3675         * window.c (allocate_window): use
3676         make_image_instance_cache_hash_table.
3677         (make_dummy_parent): ditto.
3678         (Fset_window_configuration): ditto.
3679
3680         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3681
3682         * glyphs.c (process_image_string_instantiator): use
3683         INSTANTIATOR_TYPE.
3684         (get_image_instantiator_governing_domain): ditto.
3685         (normalize_image_instantiator): ditto.
3686         (instantiate_image_instantiator): ditto.
3687         (make_image_instance_1): ditto.
3688         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3689         (instantiator_eq_equal): new function for use with instance hash
3690         tables.
3691         (instantiator_eq_hash): ditto.
3692         (make_image_instance_cache_hash_table): create a suitable hash
3693         table for storing image instances.
3694
3695         * elhash.h (hash_table_weakness): new internal weakness type
3696         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3697         declare new functions.
3698
3699         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3700         another weakness type for glyphs.
3701         (make_standard_lisp_hash_table): new function split out from
3702         make_general_lisp_hash_table.
3703         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3704         (hash_table_instantiate): ditto.
3705         (Fmake_hash_table): ditto.
3706
3707 2000-12-31  Martin Buchholz <martin@xemacs.org>
3708
3709         * XEmacs 21.2.39 is released.
3710
3711 2000-12-29  Andy Piper  <andy@xemacs.org>
3712
3713         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3714
3715         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3716         the frame has changed so that we pick up geometry changes such as
3717         menubar visibility.
3718
3719 2000-12-28  Andy Piper  <andy@xemacs.org>
3720
3721         * lastfile.c (my_ebss): make a char array so we can pad the
3722         bss. Fixes cygwin unexec.
3723
3724         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3725
3726 2000-12-26  Andy Piper  <andy@xemacs.org>
3727
3728         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3729         comments and try and be more precise about a non-/SIGIO world.
3730         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3731         SIGIO.
3732
3733         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3734         we don't normalize to zero width or height.
3735
3736 2000-12-24  Andy Piper  <andy@xemacs.org>
3737
3738         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3739
3740 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3741
3742         * s/sco5.h: SCO 5 has pty support.
3743
3744 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3745
3746         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3747         input-method-xlib.c contains whole contents of input-method-xfs.c,
3748         so we can use input-method-xlib.c's code for USE_XFONTSET
3749         using #ifdefs.
3750         * input-method-xfs.c: removed.
3751
3752 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3753
3754         * file-coding.h (enum coding_category_type): reorder enumerators to
3755         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3756         (now one greater than largest real coding_category_type enumerator).
3757         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3758         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3759         Fcoding_category_list, Fset_coding_priority_list,
3760         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3761         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3762
3763 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3764
3765         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3766         * redisplay-output.c (redisplay_output_window): Clear top of window
3767         when face is changed.
3768         * redisplay-x.c (x_redraw_exposed_window): Call
3769         redisplay_clear_top_of_window.
3770         * redisplay.h: Publish redisplay_clear_top_of_window.
3771
3772 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3773
3774         * buffer.c (Fkill_buffer): Map over all devices.
3775         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3776         (list_windows): New function.
3777         (list_all_windows): Ditto.
3778         (Freplace_buffer_in_windows): Use them.
3779
3780 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3781
3782         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3783         (Fopen_database): Use `db_create' instead of `db_open'.
3784         (syms_of_database): Initialize Qqueue.
3785
3786 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3787
3788         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3789         buffer_local_face_property.
3790         * buffer.h (struct buffer): New member buffer_local_face_property.
3791         * window.c (Fset_window_buffer):  Mark window's face as changed
3792         when buffer has buffer local face.
3793         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3794         * objects.c (color_after_change): Set buffer_local_face_property
3795         when locale of face specifier is buffer.
3796         * objects.c (font_after_change): Ditto.
3797         * objects.c (face_boolean_after_change): Ditto.
3798         * glyphs.c (image_after_change): Ditto.
3799
3800 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3801
3802         * nt.c (mswindows_fstat): Report file permissions, volume serial
3803         number, etc. Code adapted from FSF Emacs 20.7.
3804
3805 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3806
3807         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3808         of stat when we don't have symbolic links, to make sure
3809         mswindows_stat is called on mswindows.
3810
3811 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3812
3813         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3814
3815 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3816
3817         * doprnt.c (emacs_doprnt_1): More printing fixes.
3818         Make printing of numbers compatible with libc and FSF Emacs.
3819         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3820         Use the system printf to do most of the hard work of formatting,
3821         instead of doprnt_1().
3822         Calculate memory to allocate for format string.
3823         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3824         (doprnt_1): Cleaner code and documentation.
3825
3826 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3827
3828         * Makefile.in.in: Use the loop variable to install headers.
3829
3830 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3831
3832         * window.c (Fsplit_window): Don't invalidate face cache.
3833
3834 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3835
3836         * minibuf.c (Fall_completions): Undo the previous change
3837         which removed checking elements start with space.
3838
3839 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3840
3841         * mule-canna.c: Didier suppression.
3842
3843 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3844
3845         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3846         (warning suppression).  Add English comment translations.
3847
3848 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3849
3850         * unexelfsgi.c (unexec): Better test for mmap failure.
3851
3852 2000-12-05  Martin Buchholz <martin@xemacs.org>
3853
3854         * XEmacs 21.2.38 is released.
3855
3856 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3857
3858         * redisplay.c (bar-cursor): Make a user variable.
3859
3860         * symsinit.h: Add init_postgresql_from_environment.
3861
3862 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3863
3864         * regex.c: Convert to clean C.
3865
3866 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3867
3868         * realpath.c:
3869         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3870         initialization.
3871         (sys_readlink): renamed to system_readlink to avoid conflict with
3872         the other sys_readlink.
3873
3874 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3875
3876         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3877
3878 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3879
3880         * postgresql.c (init_postgresql_from_environment): new function.
3881         (vars_of_postgresql): Move code initializing Lisp variables out and
3882         into init_postgresql_from_environment.
3883         emacs.c (main_1): Call init_postgresql_from_environment if and only
3884         if running a dumped XEmacs.
3885
3886 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3887
3888         * buffer.c: Make find-file-compare-truenames default to true on
3889         windows.
3890
3891         * realpath.c (win32_abs_start):
3892         (cygwin_readlink):
3893         (win32_readlink): New functions.
3894         (xrealpath): Return really real filenames on windows.
3895
3896         * fileio.c (Ffile_truename): Make file-truename work on windows.
3897
3898 2000-11-29  Didier Verna  <didier@xemacs.org>
3899
3900         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3901         * faces.c (update_face_cachel_data): use it.
3902         * faces.c (add_face_cachel): use it. Complete background pixmap
3903         frobbing in face cache if `update_face_cachel_data' has not done so.
3904
3905 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3906
3907         * search.c (string_match_1): Don't set last_thing_searched
3908         when search failed.
3909
3910 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3911
3912         * buffer.c: Include casetab.h
3913         (common_init_complex_vars_of_buffer): Use new case-table object.
3914         * buffer.h: Include casetab.h
3915         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3916         (DOWNCASE_TABLE_OF): Ditto.
3917         * bufslots.h: Remove char-tables and add case-table.
3918         * casetab.c: Include casetab.h
3919         (CASE_TABLE_P): Removed.
3920         (mark_case_table): New function.
3921         (allocate_case_table): New function.
3922         (Fcase_table_p): Use new case-table.
3923         (case_table_char): New function.
3924         (Fget_case_table): Ditto.
3925         (Fput_case_table): Ditto.
3926         (Fput_case_table_pair): Ditto.
3927         (Fcopy_case_table): Ditto.
3928         (Fcurrent_case_table): Return case-table.
3929         (Fstandard_case_table): Return case-table.
3930         (Fset_case_table): Fix doc-string.
3931         (set_case_table): Use case-table
3932         (syms_of_casetab): DEFSUBR new functions.
3933         (complex_vars_of_casetab): Set up standard case-table.
3934         * casetab.h: New file.
3935         * editfns.c: Include casetab.h
3936         (Fcompare_buffer_substrings): Use case-table.
3937         * inline.c: Include casetab.h
3938         * lisp.h: Remove bogus extern.
3939         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3940         * search.c: Include casetab.h
3941         (TRANSLATE_ASCII): Removed.
3942         (TRANSLATE): Unconditionally translate character.
3943         (looking_at_1): Use case-table.
3944         (string_match_1): Ditto.
3945         (fast_string_match): Ditto.
3946         (search_command): Ditto.
3947         (search_buffer): Separate boyer_moore.  Check whether
3948         boyer_moore is poosible.
3949         (simple_search): New function.
3950         (boyer_moore): Separated from search_buffer. Translate char.
3951
3952 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3953
3954         * regex.c (RE_TR_ASCII): Removed.
3955         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3956         (PATFETCH): Call PATFETCH_RAW.
3957         (PATFETCH_RAW): Fetch Emchar.
3958         (PATUNFETCH): Decrement charptr.
3959         (GET_BUFFER_SPACE): Rename b to buf_end.
3960         (BUF_PUSH): Ditto.
3961         (BUF_PUSH_2): Ditto.
3962         (BUF_PUSH_3): Ditto.
3963         (EXTEND_BUFFER): Ditto.
3964         (SET_LIST_BIT): Ditto.
3965         (regex_compile): Ditto.  Translate non ASCII char.
3966         (compile_range): Ditto.
3967         (re_search_2): Ditto.
3968         (re_match_2_internal): Compare Emchar.
3969         (bcmp_translate): Ditto.
3970
3971 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3972
3973         * lisp.h (basic char/int typedefs):  comment improvement.
3974
3975 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3976
3977         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3978         unstomp inhibit_site_lisp.  Improve comments.
3979
3980 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3981
3982         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3983
3984 2000-11-28  Andy Piper  <andy@xemacs.org>
3985
3986         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3987         clipped display for windows in the gutter also.
3988         (redisplay_display_boxes_in_window_p): change semantics of return
3989         codes to be more intuitive.
3990
3991         * gutter.h: declare display_boxes_in_gutter_p.
3992
3993         * gutter.c (display_boxes_in_gutter_p): new function for
3994         redisplay.
3995
3996 2000-11-22  Andy Piper  <andy@xemacs.org>
3997
3998         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3999         autodetect domain.
4000
4001 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4002
4003         * callproc.c (Fold_call_process_internal):
4004         * gpm.c (Freceive_gpm_event):
4005         (tty_get_foreign_selection): Might be just warning supression.
4006         * fileio.c (Fwrite_region_internal):
4007         (Fset_visited_file_modtime):
4008         * keymap.c (event_matches_key_specifier_p):
4009         Initialize GCPROed variable.
4010
4011         * menubar-x.c (command_builder_find_menu_accelerator):
4012         Initialize before use.
4013
4014 2000-11-23  Andy Piper  <andy@xemacs.org>
4015
4016         * unexcw.c (unexec): make the resulting executable executable.
4017
4018 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4019
4020         * doc.c (get_doc_string):
4021         Use size_t, not int, for result of XSTRING_LENGTH.
4022
4023         * cmds.c (Fdelete_char):
4024         * cmds.c (Fpoint_at_eol):
4025         * cmds.c (Fself_insert_command):
4026         Use EMACS_INT, not int, for result of XINT.
4027         Someday, someone will want to insert more than 2**31 identical characters.
4028
4029         * cmds.c (Fdelete_char):
4030         * cmds.c (Fdelete_backward_char):
4031         * syntax.c (Fforward_word):
4032         * syntax.c (Fforward_comment):
4033         Make COUNT argument optional, for consistency with forward-char et al.
4034
4035 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4036
4037         * lisp.h:
4038         * print.c (long_to_string):
4039         Return a useful value: the pointer at end of data written.
4040
4041         * doprnt.c:
4042         Use `static const char * const' for constant strings.
4043         (union printf_arg): Delete `i', `ui' members.
4044         (get_doprnt_args):
4045         (emacs_doprnt_1):
4046         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4047         Do all printf-ing via the `l' specifier.
4048         Use EMACS_INT instead of int.
4049         Optimize.
4050
4051 2000-11-20  Didier Verna  <didier@xemacs.org>
4052
4053         * faces.c (update_face_cachel_data): don't frob the background
4054         pixmap when the window is being created. The face is needed but
4055         does not exist yet.
4056
4057 2000-11-20  Andy Piper  <andy@xemacs.org>
4058
4059         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4060         messing with a debug environment.
4061
4062 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4063
4064         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4065
4066 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4067
4068         * casetab.c (Fcase_table_p): Fix compile error and crash.
4069
4070 2000-11-18  Philip Aston  <philipa@mail.com>
4071
4072         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4073
4074 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4075
4076         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4077         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4078
4079 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4080
4081         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4082         * unexelf.c: Use HAVE_ELF_H.
4083         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4084         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4085         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4086         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4087         for testing.
4088         So this is an unexelfsgi.c from a different line of development.
4089
4090 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4091
4092         * regex.c (RE_TR_ASCII): New function.
4093         (RE_TRANSLATE): Call it.
4094
4095 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4096
4097         * buffer.h (TRT_TABLE_OF): Remove assert.
4098         (IN_TRT_TABLE_DOMAIN): Removed.
4099
4100 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4101
4102         * free-hook.c (log_gcpro):
4103         (show_gcprohist): Add support for GCPRO5.
4104
4105 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4106
4107         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4108
4109 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4110
4111         * symeval.h: Declare flush_all_buffer_local_cache.
4112
4113         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4114         (flush_buffer_local_cache): Added.
4115         (flush_all_buffer_local_cache): Added.
4116
4117         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4118
4119         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4120         (pdump_dump_data): Ditto.
4121         (pdump_reloc_one): Ditto.
4122         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4123         before dumping.
4124
4125
4126 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4127
4128         * buffer.c: Remove if 0'ed entry.
4129         * buffer.h: Rewrite TRT to use char-table.
4130         * bufslots.h: Remove mirror tables.
4131         * casetab.c: Remove mirror tables.
4132         (CASE_TABLE_P): New macro.
4133         (Fcase_table_p): Element of a case table is string or char-table.
4134         (make_mirror_trt_table): Removed.
4135         (set_case_table): Setup char-table from strings for backward
4136         compatibility.
4137         * dired.c (Fdirectory_files):
4138         * dired-msw.c: (mswindows_get_files):
4139         * lisp.h: Change prototype of re_pattern_buffer.
4140         * regex.c: (RE_TRANSLATE): New macro.
4141         (TRANSLATE_P): Ditto.
4142         Change translate to type RE_TRANSLATE_TYPE.
4143         * regex.h: Define RE_TRANSLATE_TYPE
4144         * search.c (TRANSLATE): New macro.
4145         (TRANSLATE_ASCII): New macro.
4146         Translate table is changed to Lisp_Object.
4147         (signal_failure): Inhibit return.
4148
4149 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4150
4151         * device-msw.c:
4152         * eldap.c:
4153         * event-Xt.c:
4154         * event-stream.c:
4155         * print.c:
4156         Do UNGCPRO before return.
4157
4158 2000-11-14  Martin Buchholz <martin@xemacs.org>
4159
4160         * XEmacs 21.2.37 is released.
4161
4162 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4163
4164         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4165         Add comments about discarded return value.
4166
4167 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4168
4169         * callint.c:
4170         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4171
4172 2000-10-27  Andy Piper  <andy@xemacs.org>
4173
4174         * gutter.c (Fset_default_gutter_position): default left and right
4175         gutters to visible.
4176         (calculate_gutter_size): calculate resonable heuristic for left
4177         and right gutter sizes.
4178         (specifier_vars_of_gutter): change left and right gutter sizes to
4179         autodetect.
4180         (calculate_gutter_size_from_display_lines): new function.
4181         (output_gutter): check for resizing on left and right gutters.
4182         (clear_gutter): don't special case top and left gutters.
4183         (specifier_vars_of_gutter): use new signature for
4184         set_specifier_caching.
4185
4186         * glyphs-x.c (x_redisplay_widget): spelling fix.
4187         * glyphs.c (specifier_vars_of_glyphs):
4188         * menubar.c (specifier_vars_of_menubar):
4189         * redisplay.c (specifier_vars_of_redisplay):
4190         * toolbar.c (specifier_vars_of_toolbar):
4191         * window.c (specifier_vars_of_window):
4192         * scrollbar.c (specifier_vars_of_scrollbar):
4193         (complex_vars_of_scrollbar): use new signature for
4194         set_specifier_caching.
4195
4196         * specifier.c (set_specifier_caching): include recompute flag.
4197         (recompute_one_cached_specifier_in_window): always recompute if
4198         flag set.
4199         (recompute_one_cached_specifier_in_frame): ditto.
4200
4201         * specifier.h (struct specifier_caching): add recompute flag.
4202
4203 2000-10-24  Andy Piper  <andy@xemacs.org>
4204
4205         * unexcw.c (copy_executable_and_dump_data_section): add new
4206         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4207         5.0 happy.
4208
4209 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4210
4211         * console-x.h (x_device): New member modifier_release_time.
4212         * event-Xt.c (x_handle_sticky_modifiers):
4213         Bound interval modifier keys are sticky.
4214         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4215         * events.h: extern it.
4216
4217 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4218
4219         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4220
4221 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4222
4223         * event-stream.c (execute_command_event): Preserve current_events
4224         and the like when event is misc-user-event.
4225         Inhibit quit during the call to maybe_echo_keys.
4226
4227 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4228
4229         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4230         symlink when buffer is killed.
4231         (inhibit_clash_detection): New variable.
4232
4233 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4234
4235         * console.c (Fset_input_method): Trigger redisplay on tty.
4236
4237 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4238
4239         * process.c (Fprocess_status): Revert to previous behavior:
4240         (process-status "nosuchprocess") ==> nil
4241
4242 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4243
4244         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4245         Work around another GCC 2.95.2 optimizer bug.
4246
4247 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4248
4249         * process.c (Fget_process): Use LIST_LOOP_2.
4250         (kill_buffer_processes): Use LIST_LOOP_2.
4251
4252         * minibuf.c (Fall_completions):
4253         Delete old non-functional code for FSF fourth argument.
4254
4255         * frame.c (frame_matches_frame_spec):
4256         Renamed from `frame_matches_frametype'.  Update all callers.
4257         (device_matches_device_spec):
4258         Renamed from 'device_matches_console_spec'.  Update all callers.
4259
4260         * doc.c (Fsubstitute_command_keys):
4261         Remove buffer overflow crash.  Small code cleanups.
4262
4263         * casetab.c (check_case_table): Simpler code.
4264
4265         * window.c (Freplace_buffer_in_windows):
4266         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4267         (and similar implementation) as Fdelete_windows_on.
4268         Update all callers.
4269
4270         * alloc.c (Fmake_list):
4271         * alloc.c (make_vector):
4272         * alloc.c (Fmake_vector):
4273         * alloc.c (make_bit_vector):
4274         * alloc.c (Fmake_bit_vector):
4275         * alloc.c (Fbit_vector):
4276         * alloc.c (Fmake_string):
4277         * alloc.c (Fpurecopy):
4278         * alloc.c (Fmemory_limit):
4279         * buffer.c:
4280         * buffer.c (Fget_buffer):
4281         * buffer.c (Fkill_buffer):
4282         * buffer.c (complex_vars_of_buffer):
4283         * bytecode.c (Fcompiled_function_stack_depth):
4284         * callint.c (Fprefix_numeric_value):
4285         * event-stream.c:
4286         * event-stream.c (Fread_key_sequence):
4287         * casetab.c:
4288         * casetab.c (Fcase_table_p):
4289         * casetab.c (check_case_table):
4290         * casetab.c (Fset_case_table):
4291         * casetab.c (Fset_standard_case_table):
4292         * chartab.c:
4293         * chartab.c (Fchar_table_type):
4294         * chartab.c (Freset_char_table):
4295         * chartab.c (Fget_char_table):
4296         * chartab.c (Fget_range_char_table):
4297         * chartab.c (Fput_char_table):
4298         * chartab.c (Fmap_char_table):
4299         * chartab.c (Fcategory_table_p):
4300         * chartab.c (Fcheck_category_at):
4301         * chartab.c (Fchar_in_category_p):
4302         * chartab.c (Fcategory_table):
4303         * chartab.c (Fcopy_category_table):
4304         * chartab.c (Fset_category_table):
4305         * chartab.c (Fcategory_designator_p):
4306         * chartab.c (Fcategory_table_value_p):
4307         * cmds.c (Fdelete_char):
4308         * cmds.c (Fdelete_backward_char):
4309         * cmds.c (Fself_insert_command):
4310         * cmds.c (Fself_insert_internal):
4311         * console.c (Fvalid_console_type_p):
4312         * console.c (Fcdfw_console):
4313         * console.c (Fconsole_type):
4314         * console.c (Fconsole_name):
4315         * console.c (Fconsole_device_list):
4316         * console.c (Fconsole_on_window_system_p):
4317         * data.c:
4318         * data.c (Feq):
4319         * data.c (Fold_eq):
4320         * data.c (Fsubr_interactive):
4321         * data.c (Fchar_to_int):
4322         * data.c (Fint_to_char):
4323         * data.c (Fsetcar):
4324         * data.c (Fsetcdr):
4325         * data.c (Fnumber_to_string):
4326         * data.c (Fstring_to_number):
4327         * data.c (Frem):
4328         * database.c (mark_database):
4329         * database.c (finalize_database):
4330         * database.c (Fdatabase_live_p):
4331         * database.c (Fdatabasep):
4332         * device-x.c (Fx_get_resource):
4333         * device.c (Fdfw_device):
4334         * dired.c:
4335         * dired.c (Ffile_name_completion):
4336         * dired.c (Ffile_name_all_completions):
4337         * dired.c (Fuser_name_completion):
4338         * dired.c (Fuser_name_completion_1):
4339         * dired.c (Fuser_name_all_completions):
4340         * doc.c (Fdocumentation):
4341         * doc.c (Fdocumentation_property):
4342         * doc.c (Fsubstitute_command_keys):
4343         * editfns.c:
4344         * editfns.c (Fchar_to_string):
4345         * editfns.c (Fstring_to_char):
4346         * editfns.c (Ftemp_directory):
4347         * editfns.c (Finsert_char):
4348         * editfns.c (Fbuffer_substring_no_properties):
4349         * editfns.c (Fnarrow_to_region):
4350         * editfns.c (Fchar_equal):
4351         * editfns.c (Fchar_Equal):
4352         * editfns.c (Ftranspose_regions):
4353         * emacs.c (Fdump_emacs):
4354         * eval.c (Fthrow):
4355         * eval.c (Fcommand_execute):
4356         * eval.c (Fautoload):
4357         * eval.c (Fbacktrace):
4358         * eval.c (Fbacktrace_frame):
4359         * events.c:
4360         * events.c (Fcopy_event):
4361         * events.c (Fcharacter_to_event):
4362         * events.c (Fevent_button):
4363         * events.c (Fevent_process):
4364         * extents.c:
4365         * extents.c (Fnext_extent_change):
4366         * extents.c (Fextent_property):
4367         * faces.c (Ffacep):
4368         * faces.c (Fmake_face):
4369         * file-coding.c:
4370         * file-coding.c (Fencode_shift_jis_char):
4371         * file-coding.c (Fencode_big5_char):
4372         * fileio.c (Ffile_name_directory):
4373         * fileio.c (Ffile_name_nondirectory):
4374         * fileio.c (Ffile_name_as_directory):
4375         * fileio.c (Fdirectory_file_name):
4376         * fileio.c (Ffile_truename):
4377         * fileio.c (Fsubstitute_in_file_name):
4378         * fileio.c (Ffile_modes):
4379         * fileio.c (Fset_file_modes):
4380         * fileio.c (Fset_default_file_modes):
4381         * fileio.c (Fverify_visited_file_modtime):
4382         * floatfns.c (Facos):
4383         * floatfns.c (Fasin):
4384         * floatfns.c (Fatan):
4385         * floatfns.c (Fcos):
4386         * floatfns.c (Fsin):
4387         * floatfns.c (Ftan):
4388         * floatfns.c (Fbessel_j0):
4389         * floatfns.c (Fbessel_j1):
4390         * floatfns.c (Fbessel_jn):
4391         * floatfns.c (Fbessel_y0):
4392         * floatfns.c (Fbessel_y1):
4393         * floatfns.c (Fbessel_yn):
4394         * floatfns.c (Ferf):
4395         * floatfns.c (Ferfc):
4396         * floatfns.c (Flog_gamma):
4397         * floatfns.c (Fexp):
4398         * floatfns.c (Fexpt):
4399         * floatfns.c (Flog):
4400         * floatfns.c (Flog10):
4401         * floatfns.c (Fsqrt):
4402         * floatfns.c (Fcube_root):
4403         * floatfns.c (Facosh):
4404         * floatfns.c (Fasinh):
4405         * floatfns.c (Fatanh):
4406         * floatfns.c (Fcosh):
4407         * floatfns.c (Fsinh):
4408         * floatfns.c (Ftanh):
4409         * floatfns.c (Fabs):
4410         * floatfns.c (Ffloat):
4411         * floatfns.c (Flogb):
4412         * floatfns.c (Fceiling):
4413         * floatfns.c (Ffloor):
4414         * floatfns.c (Fround):
4415         * floatfns.c (Ftruncate):
4416         * floatfns.c (Ffceiling):
4417         * floatfns.c (Fffloor):
4418         * floatfns.c (Ffround):
4419         * floatfns.c (Fftruncate):
4420         * fns.c (Fstring_equal):
4421         * fns.c (Fstring_lessp):
4422         * fns.c (concat2):
4423         * fns.c (concat3):
4424         * fns.c (vconcat2):
4425         * fns.c (vconcat3):
4426         * fns.c (Fsubstring):
4427         * fns.c (Fassoc):
4428         * fns.c (Fold_assoc):
4429         * fns.c (assoc_no_quit):
4430         * fns.c (Fassq):
4431         * fns.c (Fold_assq):
4432         * fns.c (assq_no_quit):
4433         * fns.c (Frassoc):
4434         * fns.c (Fold_rassoc):
4435         * fns.c (Frassq):
4436         * fns.c (Fold_rassq):
4437         * fns.c (rassq_no_quit):
4438         * fns.c (Fremassoc):
4439         * fns.c (remassoc_no_quit):
4440         * fns.c (Fremassq):
4441         * fns.c (remassq_no_quit):
4442         * fns.c (Fremrassoc):
4443         * fns.c (Fremrassq):
4444         * fns.c (remrassq_no_quit):
4445         * fns.c (Fsort):
4446         * fns.c (Fplist_get):
4447         * fns.c (Fplist_put):
4448         * fns.c (Fplist_remprop):
4449         * fns.c (Fplist_member):
4450         * fns.c (Flax_plist_get):
4451         * fns.c (Flax_plist_put):
4452         * fns.c (Flax_plist_remprop):
4453         * fns.c (Flax_plist_member):
4454         * fns.c (Fequal):
4455         * fns.c (Fold_equal):
4456         * fns.c (Frequire):
4457         * fns.c (Fbase64_encode_region):
4458         * fns.c (Fbase64_encode_string):
4459         * fns.c (Fbase64_decode_region):
4460         * frame.c:
4461         * frame.c (frame_matches_frame_spec):
4462         * frame.c (device_matches_device_spec):
4463         * frame.c (next_frame):
4464         * frame.c (previous_frame):
4465         * frame.c (Fnext_frame):
4466         * frame.c (Fprevious_frame):
4467         * frame.c (Fframe_property):
4468         * frame.c (Fset_frame_height):
4469         * frame.c (Fset_frame_size):
4470         * frame.h:
4471         * glyphs.c:
4472         * glyphs.c (if):
4473         * glyphs.c (decode_error_behavior_flag):
4474         * glyphs.c (Fmake_image_instance):
4475         * indent.c (Findent_to):
4476         * intl.c (Fignore_defer_gettext):
4477         * keymap.c (Fkeymapp):
4478         * keymap.c (Flookup_key):
4479         * lread.c:
4480         * lread.c (Fload_internal):
4481         * lread.c (Feval_buffer):
4482         * lread.c (Feval_region):
4483         * macros.c (Fexecute_kbd_macro):
4484         * marker.c (set_marker_internal):
4485         * marker.c (Fset_marker):
4486         * marker.c (set_marker_restricted):
4487         * marker.c (Fcopy_marker):
4488         * marker.c (noseeum_copy_marker):
4489         * menubar.c:
4490         * menubar.c (Fpopup_menu):
4491         * minibuf.c:
4492         * mule-charset.c (Fcharset_name):
4493         * mule-charset.c (Fchar_charset):
4494         * mule-charset.c (Fchar_octet):
4495         * mule-charset.c (Fsplit_char):
4496         * mule-wnnfns.c (Fwnn_open):
4497         * mule-wnnfns.c (Fwnn_dict_comment):
4498         * mule-wnnfns.c (Fwnn_quit_henkan):
4499         * mule-wnnfns.c (Fwnn_word_toroku):
4500         * mule-wnnfns.c (Fwnn_word_sakujo):
4501         * mule-wnnfns.c (Fwnn_word_use):
4502         * mule-wnnfns.c (Fwnn_hindo_set):
4503         * objects.c:
4504         * objects.c (Fmake_color_instance):
4505         * objects.c (Fmake_font_instance):
4506         * print.c (Fwrite_char):
4507         * process.c:
4508         * process.c (mark_process):
4509         * process.c (print_process):
4510         * process.c (get_process_from_usid):
4511         * process.c (Fprocessp):
4512         * process.c (Fprocess_live_p):
4513         * process.c (Fget_process):
4514         * process.c (Fget_buffer_process):
4515         * process.c (get_process):
4516         * process.c (Fprocess_id):
4517         * process.c (Fprocess_name):
4518         * process.c (Fprocess_command):
4519         * process.c (init_process_io_handles):
4520         * process.c (start_process_unwind):
4521         * process.c (Fstart_process_internal):
4522         * process.c (Fopen_multicast_group_internal):
4523         * process.c (Fset_process_window_size):
4524         * process.c (read_process_output):
4525         * process.c (send_process):
4526         * process.c (Fprocess_tty_name):
4527         * process.c (Fset_process_buffer):
4528         * process.c (Fprocess_buffer):
4529         * process.c (Fprocess_mark):
4530         * process.c (set_process_filter):
4531         * process.c (Fset_process_filter):
4532         * process.c (Fprocess_filter):
4533         * process.c (Fprocess_send_region):
4534         * process.c (Fprocess_send_string):
4535         * process.c (exec_sentinel):
4536         * process.c (Fset_process_sentinel):
4537         * process.c (Fprocess_sentinel):
4538         * process.c (status_notify):
4539         * process.c (Fprocess_status):
4540         * process.c (Fprocess_exit_status):
4541         * process.c (process_send_signal):
4542         * process.c (Fprocess_send_eof):
4543         * process.c (deactivate_process):
4544         * process.c (remove_process):
4545         * process.c (Fdelete_process):
4546         * process.c (kill_buffer_processes):
4547         * process.c (Fprocess_kill_without_query):
4548         * process.c (Fprocess_kill_without_query_p):
4549         * rangetab.c:
4550         * rangetab.c (Fget_range_table):
4551         * rangetab.c (Fput_range_table):
4552         * rangetab.c (Fremove_range_table):
4553         * rangetab.c (Fclear_range_table):
4554         * search.c:
4555         * search.c (Fskip_chars_forward):
4556         * search.c (Fskip_chars_backward):
4557         * search.c (Fskip_syntax_forward):
4558         * search.c (Fskip_syntax_backward):
4559         * search.c (search_command):
4560         * search.c (Freplace_match):
4561         * search.c (Fregexp_quote):
4562         * select.c (Fown_selection_internal):
4563         * select.c (Fselection_owner_p):
4564         * select.c (Fselection_exists_p):
4565         * select.c (Fget_selection_internal):
4566         * specifier.c:
4567         * symbols.c:
4568         * symbols.c (Fintern):
4569         * symbols.c (Fintern_soft):
4570         * symbols.c (Funintern):
4571         * symbols.c (Fapropos_internal):
4572         * symbols.c (Fset_default):
4573         * syntax.c:
4574         * syntax.c (Fsyntax_table_p):
4575         * syntax.c (Fcopy_syntax_table):
4576         * syntax.c (Fset_syntax_table):
4577         * syntax.c (Fchar_syntax):
4578         * syntax.c (syntax_match):
4579         * syntax.c (Fmatching_paren):
4580         * syntax.c (Fforward_word):
4581         * syntax.c (scan_lists):
4582         * syntax.c (Fscan_lists):
4583         * syntax.c (Fscan_sexps):
4584         * syntax.c (Fparse_partial_sexp):
4585         * toolbar.c (Fcheck_toolbar_button_syntax):
4586         * tooltalk.doc:
4587         * window.c:
4588         * window.c (Fwindowp):
4589         * window.c (Fwindow_live_p):
4590         * window.c (Fwindow_point):
4591         * window.c (Fdelete_window):
4592         * window.c (Fnext_window):
4593         * window.c (Fprevious_window):
4594         * window.c (Fother_window):
4595         * window.c (window_loop):
4596         * window.c (Fget_lru_window):
4597         * window.c (Fsplit_window):
4598         * window.c (Fenlarge_window):
4599         * window.c (Fenlarge_window_pixels):
4600         * window.c (Fshrink_window):
4601         * window.c (Fshrink_window_pixels):
4602         * window.c (change_window_height):
4603         * window.c (Fwindow_configuration_p):
4604         * window.c (Fcurrent_window_configuration):
4605         * window.h:
4606         * casefiddle.c (casify_object):
4607         * casefiddle.c (Fupcase):
4608         * casefiddle.c (Fdowncase):
4609         * casefiddle.c (Fcapitalize):
4610         * casefiddle.c (Fupcase_initials):
4611         * casefiddle.c (casify_region_internal):
4612         * casefiddle.c (casify_region):
4613         * casefiddle.c (Fupcase_region):
4614         * casefiddle.c (Fdowncase_region):
4615         * casefiddle.c (Fcapitalize_region):
4616         * casefiddle.c (Fupcase_initials_region):
4617         * casefiddle.c (Fupcase_word):
4618         * casefiddle.c (Fdowncase_word):
4619         * casefiddle.c (Fcapitalize_word):
4620         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4621         Replace 0 with '\0' when working with bytes.
4622         Replace initial "(" with "\(" in docstrings.
4623
4624 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4625
4626         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4627
4628         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4629
4630 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4631
4632         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4633
4634 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4635
4636         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4637         correctly.
4638
4639 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4640
4641         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4642         (inhibit_auto_save_session): New variable.
4643         (vars_of_fileio): Declare and initialize them.
4644         * fileio.c (Fdo_auto_save): Don't create session file if
4645         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4646
4647 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4648
4649         * sgiplay.c (play_internal): C++ compilability.
4650         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4651         * callproc.c (Fold_call_process_internal):
4652         Remove unused vars `env', `first'.
4653         * scrollbar.c (update_scrollbar_instance):
4654         #### unused var `current_window'.
4655         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4656         etc. within #ifdef NOT_YET.
4657         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4658         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4659         * specifier.c (specifier_instance):
4660         #### unused var `tag'.
4661         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4662
4663 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4664
4665         * fns.c (Fbutlast):
4666         * fns.c (list_sort):
4667         * fns.c (Ffillarray):
4668         * fns.c (bytecode_nconc2):
4669         * fns.c (Fnconc):
4670         * fns.c (mapcar1):
4671         * fns.c (Fmapconcat):
4672         Be pedantically 64-bit correct.  For the time when someone will
4673         want to have a list with length > 2**32.
4674
4675         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4676         Work around MIPSpro compiler bug.
4677
4678         * process-unix.c (unix_kill_child_process): Add snarky comment.
4679         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4680
4681         * config.h.in: Oops, _getpt ==> _getpty
4682
4683 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4684
4685         * config.h.in:
4686         * regex.c:
4687         Use void*, not char*, as return type of alloca().
4688
4689         * alloc.c (free_marker): Side effect inside assert expression!
4690
4691 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4692
4693         * mule-charset.c (Fset_charset_ccl_program): To check
4694         if the given ccl program is valid, use setup_ccl_program()
4695         instead of CHECK_VECTOR().
4696         (Fmake_charset): Likewise.
4697
4698 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4699
4700         * faces.c (get_extent_fragment_face_cache_index):
4701         Fix cachel.merged_faces memory leak.
4702
4703 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4704
4705         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4706         Reset MSB of octets obtained by DECODE_SJIS
4707         because of the incompatibility with Emacs.
4708         (ccl_driver)<CCL_ENCODE_SJIS>:
4709         Set MSB of octets before passing them to
4710         ENCODE_SJIS because of the incompatibility
4711         with Emacs.
4712
4713 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4714
4715         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4716         (DECLARE_LRECORD): Undo the last change.
4717         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4718
4719 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4720
4721         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4722         the implementation to lrecord_implementations_table.
4723
4724 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4725
4726         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4727         initial value of `lrecord_type_##c_name' and
4728         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4729         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4730         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4731         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4732         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4733
4734 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4735
4736         * miscplay.c (sndcnv8S_2mono):
4737         (sndcnv2monounsigned):
4738         (sndcnvULaw_2linear):
4739         (sndcnv16swap):
4740         Remove implementation-defined behavior.
4741
4742 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4743
4744         * input-method-xlib.c: Warning suppression.
4745
4746 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4747
4748         * mule-ccl.c: Sync up with Emacs 21.0.90.
4749         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4750         Do nothing.
4751         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4752         Likewise.
4753         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4754         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4755         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4756         leading char belongs to official 2-dimensional charset.
4757         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4758         write the given character as is.  Otherwise,
4759         if it is a multibyte char, convert it by
4760         non_ascii_set_charptr_emchar, then write it.
4761         (CCL_WRITE_STRING): Likewise.
4762         (ccl_get_compiled_code): New function.
4763         (setup_ccl_program): When ccl_prog is invalid,
4764         return -1.
4765         (Fregister_code_conversion_map): New function.
4766         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4767
4768         * mule-ccl.h: Sync up with Emacs 21.0.90.
4769         (Fregister_ccl_program): export it.
4770
4771         * redisplay-msw.c (separate_textual_runs):
4772         If ccl program is not valid, don't do ccl conversion.
4773
4774         * redisplay-x.c (separate_textual_runs): Ditto.
4775
4776         * file-coding.c (Fmake_coding_system):
4777         When type is ccl and value is vector, register it
4778         with a proper symbol.  And checks whether the
4779         given ccl program is valid.
4780         (mule_decode): When calling ccl_driver, if src indicates
4781         NULL pointer, set an empty string instead.
4782         (mule_encode): Likewise.
4783
4784 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4785
4786         The following large batch of changes gets us back to a state of
4787         C++ compilability.  Extbyte is now a char, which means that
4788         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4789
4790         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4791
4792         * sound.c (Fplay_sound): Type correctness.
4793
4794         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4795         (x_get_window_property): Type correctness.
4796         (receive_incremental_selection): unsigned char ==> Extbyte
4797         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4798         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4799         (Fx_store_cutbuffer_internal): Type correctness.
4800
4801         * process-unix.c (try_to_initialize_subtty): Type correctness.
4802
4803         * objects-x.c (x_print_color_instance): Type correctness.
4804         (x_print_font_instance): Type correctness.
4805         (x_list_fonts): SExtbyte ==> Extbyte.
4806         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4807         (x_find_charset_font): SExtbyte ==> Extbyte.
4808         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4809         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4810         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4811         Use bufbyte_strcmp.
4812
4813         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4814         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4815         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4816         (BYTE_C0_P): Use bit ops for char-signedness safety.
4817         (BYTE_C1_P): Use bit ops for char-signedness safety.
4818         (CHARSET_BY_LEADING_BYTE):
4819         (CHARSET_BY_ATTRIBUTES):
4820         Always use inline function.
4821         Use type_checking_assert.
4822         Hide chlook.
4823
4824         * mule-charset.c (non_ascii_charptr_copy_char):
4825         Modify to work with both ASCII and non-ASCII characters.
4826         Improve docs and variable names.
4827         Replace over-clever fall-through switch with a simple loop.
4828         (Lstream_get_emchar_1):
4829         Replace over-clever fall-through switch with a simple loop.
4830
4831         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4832         Warning suppression.
4833
4834         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4835         the return value of Lstream_getc, which could be EOF as well.
4836
4837         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4838
4839         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4840         APIs can be used on Extbytes without casts.  Risky!
4841         (SExtbyte): Remove.
4842         (UExtbyte): Remove.
4843
4844         * input-method-xlib.c (XIM_init_device):
4845         Use Xlib.h instead of IntrinsicP.h.
4846         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4847         which will break in X11R7.
4848         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4849         to call XRegisterIMInstantiateCallback with correct types.
4850
4851         * gui-x.c (button_item_to_widget_value): Type correctness.
4852
4853         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4854
4855         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4856         (xbm_instantiate_1): Type correctness.
4857         (BUILD_GLYPH_INST):  Type correctness.
4858
4859         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4860
4861         * file-coding.c:
4862         (decode_coding_sjis):
4863         (decode_coding_big5):
4864         (decode_coding_ucs4):
4865         (decode_coding_utf8):
4866         (decode_coding_iso2022):
4867         (decode_coding_no_conversion):
4868         Make all decoding functions take an Extbyte * arg.
4869         (encode_coding_sjis):
4870         (encode_coding_big5):
4871         (encode_coding_ucs4):
4872         (encode_coding_utf8):
4873         (encode_coding_iso2022):
4874         (encode_coding_no_conversion):
4875         Make all encoding functions take a Bufbyte * arg.
4876         Use size_t instead of unsigned int for memory sizes.
4877         Only cast to unsigned char whenever dereferencing Extbyte *.
4878
4879         * doc.c (unparesseuxify_doc_string): Type correctness.
4880
4881         * console-x.c (split_up_display_spec):
4882         Rewrite without using details of internal string representation.
4883         (x_semi_canonicalize_device_connection): Type correctness.
4884
4885         * config.h.in:
4886         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4887         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4888         (HAVE_XFREE386): Removed.
4889
4890         * buffer.h (DEC_CHARPTR): `const' correctness.
4891         (bufbyte_strcmp): New.
4892         (bufbyte_memcmp): New.
4893
4894         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4895
4896         * buffer.h (XCHAR_OR_CHAR_INT):
4897         Always use inline function.
4898         Remove redundant type checking assert() - XINT will abort quite nicely.
4899
4900 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4901
4902         * search.c (Freplace_match): Set newtext to an empty string.
4903
4904 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4905
4906         * s/decosf1-3.h: Remove #include of stropts.h
4907         * s/ptx.h: Remove #include of stropts.h
4908         * s/usg5-4.h: Remove #include of stropts.h
4909         * sysproc.h:
4910         * config.h.in:
4911         Use stropts.h, not sys/stropts.h.
4912         Use strtio.h, not sys/strtio.h.
4913
4914 2000-10-04  Martin Buchholz <martin@xemacs.org>
4915
4916         * XEmacs 21.2.36 is released.
4917
4918 2000-09-21  Andy Piper  <andy@xemacs.org>
4919
4920         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4921         changes still involve copying the widget tree.
4922         (update_widget_face): make sure a change is register in the widget
4923         tree. Call update_tab_widget_face appropriately.
4924         (update_tab_widget_face): ditto.
4925         (x_tab_control_redisplay): make sure non-structural changes still
4926         involve copying the widget tree.
4927
4928 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4929
4930         * lread.c (locate_file): Check the path element is non-nil.
4931
4932 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4933
4934         * lisp.h: Warning suppression for SCO compilers.
4935
4936         * redisplay-tty.c (reset_tty_modes): Fix crash.
4937         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4938
4939 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4940
4941         Big signal/process handling overhaul.  Bugs fixed:
4942         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4943         M-x comint-kill-subjob should work for both values nil and t of
4944         process-connection-type. It was broken on most platforms.
4945         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4946         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4947         * process-unix.c: Signal/Process handling overhaul.
4948         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4949         (allocate_pty): Use all available modern methods of allocating
4950         ptys, falling back to old style BSD allocation as a last resort.
4951         Use allegedly more secure Unix98 pty allocation by default.
4952         (allocate_pty_the_old_fashioned_way): New. the last resort.
4953         (unix_create_process): Push ptem, ldterm, ttcompat where
4954         available.  Autoconfiscate.
4955         (try_to_initialize_subtty): New.
4956         (unix_kill_child_process): Proper signal handling for ptys on most
4957         platforms, using special knowledge of AIX, BSD, etc...
4958         (unix_create_process): Always disconnect_controlling_terminal() for
4959         subprocesses, whether using ptys or not.
4960         * process.h: Remove old getpt-dependent PTY code.
4961         * process.c (Fprocess_send_signal): New, obvious generic function.
4962         (decode_signal): New.
4963         (Finterrupt_process):
4964         (Fkill_process):
4965         (Fquit_process):
4966         (Fstop_process):
4967         (Fcontinue_process):
4968         (Fsignal_process): Use decode_signal.
4969         (process_send_signal):
4970         Many docstring corrections.
4971         Allow any signal to be sent to a process object.
4972         * config.h.in: Add symbols for big signal/process overhaul.
4973         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4974         * sysproc.h: Include process-related headers, where available:
4975         sys/stropts.h sys/strtio.h pty.h libutil.h
4976         * s/irix4-0.h:
4977         * s/irix5-0.h:
4978         * s/cygwin32.h:
4979         * s/gnu.h:
4980         * s/linux.h:
4981         * s/hpux.h:
4982         * s/aix3-1.h:
4983         Remove old S&M pty stuff.
4984         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4985         * systty.h: Simplify cpp hackery, improve comments.
4986         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4987
4988         * editfns.c (Fformat_time_string):
4989         Be a little more paranoid with the return value of ctime.
4990
4991         * fileio.c (check_executable):
4992         (check_writable):
4993         Use symbolic constants X_OK, W_OK.
4994
4995         * console-x.c (split_up_display_spec): Fix a warning.
4996
4997 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4998
4999         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5000         * ntproc.c (sys_spawnve): make_string ==> build_string
5001         Small clarity improvements.
5002
5003 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5004
5005         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5006
5007         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5008
5009         * config.h.in (HAVE_STRCASECMP): Remove.
5010
5011 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5012
5013         * redisplay-output.c (redisplay_output_pixmap):
5014         Cleaner and possibly more 64-bit correct code.
5015
5016 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5017
5018         * dumper.c (pdump_load_finish): move restoration of
5019         `noninteractive1' to emacs.c (main_1).
5020         * emacs.c (main_1): protect LISP-visible command-line flags
5021         from pdump_load().
5022
5023 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5024
5025         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5026         DUMP_TARGET instead of literal program names.
5027
5028 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5029
5030         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5031
5032 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5033
5034         * *: Spelling mega-patch
5035
5036 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5037
5038         * fns.c (bad_bad_turtle):
5039         Delete "Eek!" comment, since we fixed the bug to which it refers.
5040
5041 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5042
5043         * alloca.c: Replace REGISTER with register.
5044
5045 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5046
5047         * file-coding.c (ucs_to_char): Use countof.
5048
5049 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5050
5051         * file-coding.c: (ucs_to_char):
5052         (complex_vars_of_file_coding):
5053         Use countof instead of sizeof.
5054         Use CHECK_NATNUM instead of CHECK_INT.
5055
5056         * sysdep.c (strcasecmp): Remove.
5057         * device-x.c (ascii_strcasecmp): New.
5058         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5059         Avoid using non-standard non-portable strcasecmp.
5060
5061 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5062
5063         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5064         * font-lock.c: remove reference to emacsfns.h.
5065         * search.c: small doc improvement.
5066         * event-Xt.c: correct file names in comments.
5067         * console-x.h Correct file names in comments.
5068         * frame.c: Correct file names in comments.
5069         * event-stream.c: remove Energize from comments.
5070
5071 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5072
5073         * symeval.h (DEFERROR_STANDARD):
5074         (DEFERROR):
5075         (DEFSYMBOL):
5076         (DEFSYMBOL_NO_DUMP):
5077         (DEFSYMBOL_MULTIWORD_PREDICATE):
5078         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5079         (DEFKEYWORD):
5080         The construct &##name is not sensible C.
5081         Fixes compilation errors with Unixware native compiler.
5082
5083 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5084
5085         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5086         (next_frame_internal): Removed.  We now just have next_frame.
5087         (next_frame):
5088         Write a simpler and cleaner one-pass algorithm.
5089         Remove called_from_delete_device arg and #ifdefed-out code.
5090         (previous_frame):
5091         Renamed from prev_frame.  Update callers.
5092         Cleaned up to have an analogous implementation to next_frame.
5093         (other_visible_frames_internal): Remove the
5094         called_from_delete_device bogus arg, and hence, remove this
5095         function.  Just use other_visible_frames().
5096
5097         * window.c (Fnext_window):
5098         Prettify docstring.
5099         Since next_frame() is guaranteed to return a frame, remove check
5100         for nil inserted in previous patch.
5101         (Fprevious_window):
5102         Prettify docstring.
5103         Make code look more like Fnext_window.
5104         (window_loop):
5105         Respect the `console' arg when iterating through windows.
5106         Fixes bug: (get-buffer-window buffer t device) not respecting
5107         the `device' arg.
5108         This function needs more work, as others have pointed out.
5109
5110         * frame.h: Rename prev_frame to previous_frame.
5111         device_matches_console_spec no longer takes a `frame' arg.
5112
5113         * s/gnu.h:
5114         * s/linux.h:
5115         * s/hpux.h:
5116         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5117         From "Golubev I. N." <gin@mo.msk.ru>.
5118
5119         * make-src-depend: Fix typo.
5120
5121 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5122
5123         * window.c (Fnext_window):
5124         next_frame() might return nil, not a frame.
5125         Fixes this crash:
5126         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5127
5128         * frame.c (next_frame_internal):
5129         We've passed a frame if we've passed its device.
5130         Fixes this crash:
5131         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5132 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5133
5134 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5135
5136         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5137         Allow option to suppress accelerators in menu/dialog items.
5138         (populate_or_checksum_helper): Pass dialog title through above.
5139
5140 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5141
5142         * event-msw.c (mswindows_key_to_emacs_keysym):
5143         Add "pause" key, fix "menu" key.
5144
5145 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5146
5147         * eval.c (reinit_vars_of_eval):
5148         Increase max_lisp_eval_depth to 1000,
5149         required for thai-xtis.el to byte-compile under some circumstances.
5150
5151 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5152
5153         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5154         From Kenichi Handa.
5155
5156 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5157
5158         * make-src-depend: Make the generated Makefiles smaller.
5159
5160         * s/hpux.h (SETUP_SLAVE_PTY):
5161         Provide a %d in the format string for the errno argument.
5162
5163         * editfns.c (Ftemp_directory):
5164         Warning fix.
5165         Avoid buffer overrun on very long file name.
5166
5167         * input-method-xlib.c (XIM_init_device):
5168         6th parameter of XRegisterIMInstantiateCallback has different
5169         pointer types on different OSes, so simply cast to (void *).
5170
5171         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5172
5173         * sysdll.c (dll_open):
5174         shl_load will hang hard if passed a NULL filename.
5175         Simply return NULL for compatibility with dlopen.
5176         * sysdll.c: Conform to XEmacs coding standards.
5177
5178         * sysdep.c (get_pty_max_bytes):
5179         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5180
5181 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5182
5183         * tooltalk.c: Add #include <syssignal.h>
5184
5185 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5186
5187         * s/hpux.h: Don't use undefined function sigunblock().
5188
5189 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5190
5191         * config.h.in: Add HAVE_BALLOON_HELP.
5192         * emacs.c: Use HAVE_BALLOON_HELP.
5193         * Makefile.in.in (x_objs):
5194         Make Balloon Help conditional on finding shape.h.
5195
5196 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5197
5198         * syntax.c (regex_emacs_buffer_p): New variable.
5199         * syntax.h (regex_emacs_buffer_p): extern.
5200         * search.c (looking_at_1):
5201         (string_match_1):
5202         (fast_string_match):
5203         (search_buffer): Set regex_emacs_buffer_p.
5204         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5205         when before_dot, at_dot, after_dot.
5206
5207 2000-08-23  Andy Piper  <andy@xemacs.org>
5208
5209         * gui-x.c (popup_selection_callback): Only set action_occurred
5210         when we really have an image instance.
5211         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5212
5213 2000-08-23  Andy Piper  <andy@xemacs.org>
5214
5215         * gui-msw.c (mswindows_handle_gui_wm_command): set
5216         action_occurred.
5217         * gui-x.c (popup_selection_callback): ditto.
5218
5219         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5220         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5221         (struct Lisp_Image_Instance): add action_occurred flag.
5222
5223         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5224         (image_instance_changed): ditto.
5225         (reset_frame_subwindow_instance_cache): only unmap windows - do
5226         not remove them from the cache also.
5227
5228         * glyphs-widget.c (tab_control_update): better debug.
5229         (progress_gauge_update): ditto.
5230         (layout_update): ditto.
5231         (layout_instantiate): ditto.
5232         (tab_control_order_only_changed): cope with null pending items.
5233
5234         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5235         debug. Force selection of an item when an action occurred. Cope
5236         with null pending_items.
5237         (mswindows_progress_gauge_redisplay): better debug.
5238         * glyphs-x.c (x_tab_control_redisplay): ditto.
5239
5240         * redisplay.c (redisplay_frame): reset the frame cache if the
5241         frame is garbaged.
5242
5243         * window.c (Fset_window_configuration): potentially re-enable
5244         frame cache reset.
5245         (window_unmap_subwindows): need to finalize instances here since
5246         it is only used in mark_window_as_deleted.
5247
5248 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5249
5250         * nas.c (SndOpenDataForReading):
5251         nas.c (WaveOpenDataForReading):
5252         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5253         Somehow escaped from the 2000-08-14 patch.
5254
5255 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5256
5257         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5258         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5259
5260 2000-08-21  Andy Piper  <andy@xemacs.org>
5261
5262         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5263         window if it is not already displayed.
5264
5265         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5266         it is not already displayed.
5267
5268         * window.c (Fset_window_configuration): don't reset the frame
5269         cache.
5270
5271         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5272         instances from the frame cache if we are actually finalizing them.
5273         (reset_frame_subwindow_instance_cache): reset frame cache only
5274         after unmapping everything.
5275         (map_subwindow): set displayed flag after mapping.
5276
5277 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5278
5279         * data.c (indirect_function):
5280         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5281
5282         * eval.c (function_argcount):
5283         Use original function when signaling errors.
5284
5285 2000-08-18  Andy Piper  <andy@xemacs.org>
5286
5287         * frame.c (delete_frame_internal): use new
5288         free_frame_subwindow_instances name.
5289
5290         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5291         (add_tab_item): make return type correct.
5292         (mswindows_tab_control_instantiate): assert index of tab.
5293         (mswindows_tab_control_redisplay): Re-code to use
5294         gui_item_equal_sans_selected and gui_item_list_find_selected.
5295
5296         * glyphs-widget.c (tab_control_update): Correct comment.
5297
5298         * window.c (window_unmap_subwindows): use new
5299         unmap_subwindow_instance_cache_mapper.
5300         (window_unmap_subwindows_cache_mapper): deleted.
5301         (Fset_window_configuration): comparisons should now be with
5302         EQ. Preserve the subwindow instance cache across configuration
5303         changes.
5304         (allocate_window): ditto.
5305         (make_dummy_parent): ditto.
5306
5307         * glyphs.c (free_frame_subwindow_instances): rename from
5308         free_frame_subwindow_instance_cache. finalize all instances rather
5309         than just those in the display cache.
5310         (finalize_all_subwindow_instances): walk windows unmapping and
5311         finalizing subwindows.
5312         (unmap_subwindow_instance_cache_mapper): moved from
5313         window.c. Allow finalization as well as unmapping.
5314
5315         * gui.c (gui_item_list_find_selected): new function.
5316
5317         * gui.h (gui_item_list_find_selected): declare.
5318
5319         * glyphs-x.c (x_tab_control_redisplay): pick tab
5320         explicitly. Re-code to use gui_item_equal_sans_selected and
5321         gui_item_list_find_selected.
5322
5323         * glyphs-x.h: add lwlib-utils.h
5324
5325         * buffer.c (Frecord_buffer): undo previous change.
5326
5327 2000-08-09  Vin Shelton  <acs@xemacs.org>
5328
5329         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5330         possible.  Create temporary files more securely.  The patch was
5331         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5332         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5333         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5334         for details.
5335
5336 2000-08-07  Ben Wing  <ben@xemacs.org>
5337
5338         * getloadavg.c: remove duplicate (and windows-breaking)
5339         includes of fcntl.h and sys/file.h.
5340
5341         * nt.c: remove duplicate getloadavg() definition.
5342
5343         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5344         encodings.
5345
5346 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5347
5348         * eval.c (function_argcount): If function needs to be autoloaded
5349         actually use the loaded definition.
5350         GCPRO function.
5351
5352 2000-08-05  Ben Wing  <ben@xemacs.org>
5353
5354         * getloadavg.c: add prototype for getloadavg().  remove
5355         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5356         of the code).  remove duplicate header includes.
5357
5358         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5359
5360         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5361         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5362         useful load average.
5363
5364         * alloc.c (reinit_alloc_once_early): removed references to
5365         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5366         the lisp vars are the only things referencing the malloc_sbrk_*
5367         vars, and they were already if 0'd out.  these vars only exist
5368         in the older malloc.c, which is basically unused, and they're
5369         only for informational purposes.
5370
5371         * m\*.h: removed useless VIRT_ADDR_VARIES.
5372
5373         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5374
5375 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5376
5377         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5378         color if the image is a mono pixmap.
5379
5380 2000-07-30  Ben Wing  <ben@xemacs.org>
5381
5382         * Makefile.in.in (release):
5383         Remove stray @.
5384
5385         * buffer.c (directory_is_current_directory):
5386         * dired-msw.c (mswindows_get_files):
5387         * dired.c:
5388         * dired.c (Fdirectory_files):
5389         * dired.c (file_name_completion_stat):
5390         * dired.c (Ffile_attributes):
5391         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5392         preprocessor tricks, to avoid problems on some machines
5393         (e.g. SCO).
5394
5395         * callproc.c (egetenv): GC docs.
5396
5397         * console-msw.h:
5398         * console-msw.h (struct mswindows_dialog_id):
5399         * lrecord.h (lrecord_type):
5400         New object for use with MSW dialogs.
5401
5402         * console.h (struct console_methods):
5403         New enable/disable frame methods, for proper modal dialogs.
5404
5405         * device-msw.c (msprinter_default_printer): Fix to follow
5406         proper Mule conventions.
5407
5408         * device-msw.c:
5409         * device-msw.c (signal_open_printer_error):
5410         * device-msw.c (msprinter_init_device):
5411         * device-msw.c (ensure_not_printing):
5412         * device-msw.c (plist_get_margin):
5413         * device-msw.c (Fmsprinter_select_settings):
5414         * device-msw.c (finalize_devmode):
5415         * device-msw.c (Fmsprinter_settings_despecialize):
5416         * device-msw.c (signal_enum_priner_error):
5417         * extents.c (decode_extent):
5418         * extents.c (decode_map_extents_flags):
5419         * extents.c (decode_extent_at_flag):
5420         * extents.c (Fextent_at):
5421         * extents.c (Fextents_at):
5422         * extents.c (symbol_to_glyph_layout):
5423         [[[[2]]]] Use structured errors.
5424
5425         * dialog-msw.c:
5426         * dialog-msw.c (mswindows_is_dialog_msg):
5427         * dialog-msw.c (mark_mswindows_dialog_id):
5428         * dialog-msw.c (dialog_proc):
5429         * dialog-msw.c (handle_question_dialog_box):
5430         * dialog-msw.c (syms_of_dialog_mswindows):
5431         Define new object to clean up marking; use it as a dialog identifier.
5432         Call new delete-dialog-box-hook.
5433
5434         * dialog-x.c (dbox_selection_callback):
5435         * dialog-x.c (dbox_descriptor_to_widget_value):
5436         * dialog-x.c (x_make_dialog_box_internal):
5437         Call new delete-dialog-box-hook.
5438         Return an id.
5439
5440         * dialog.c:
5441         * dialog.c (syms_of_dialog):
5442         * dialog.c (vars_of_dialog):
5443         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5444
5445         * eval.c:
5446         * eval.c (signal_call_debugger):
5447         when noninteractive, output stack traces on the console instead
5448         of in a (never-seen) buffer.
5449
5450         * eval.c (signal_type_error):
5451         * eval.c (invalid_argument_2):
5452         * lisp.h:
5453         new funs for use w/structured errors.
5454
5455         * event-Xt.c:
5456         * event-Xt.c (x_to_emacs_keysym):
5457         * event-Xt.c (describe_event):
5458         * event-Xt.c (emacs_Xt_event_handler):
5459         * event-Xt.c (vars_of_event_Xt):
5460         * event-msw.c:
5461         * event-msw.c (mswindows_wnd_proc):
5462         * event-msw.c (vars_of_event_mswindows):
5463         rename {x,mswindows}-debug-events to debug-{}-events for
5464         consistency with other debug-foo variables.
5465
5466         * event-stream.c:
5467         document next-event more clearly.
5468
5469         * fileio.c (Ffile_name_directory):
5470         * fileio.c (Ffile_name_nondirectory):
5471         * fileio.c (Funhandled_file_name_directory):
5472         * fileio.c (file_name_as_directory):
5473         * fileio.c (Ffile_name_as_directory):
5474         * fileio.c (directory_file_name):
5475         * fileio.c (Fdirectory_file_name):
5476         * fileio.c (Fmake_temp_name):
5477         * fileio.c (Ffile_truename):
5478         * fileio.c (Fsubstitute_in_file_name):
5479         * fileio.c (expand_and_dir_to_file):
5480         * fileio.c (barf_or_query_if_file_exists):
5481         * fileio.c (check_executable):
5482         * fileio.c (Ffile_exists_p):
5483         * fileio.c (Ffile_writable_p):
5484         * fileio.c (Ffile_directory_p):
5485         * fileio.c (Ffile_regular_p):
5486         * fileio.c (Ffile_modes):
5487         * fileio.c (Ffile_newer_than_file_p):
5488         * fileio.c (Fverify_visited_file_modtime):
5489         * fileio.c (Fset_visited_file_modtime):
5490         * fileio.c (auto_save_1):
5491         (1). (2).
5492         fix up gcpro's.
5493
5494         * frame-msw.c:
5495         * frame-msw.c (mswindows_init_frame_1):
5496         * frame-msw.c (mswindows_enable_frame):
5497         * frame-msw.c (error_frame_unsizable):
5498         * frame-msw.c (msprinter_init_frame_1):
5499         * frame-msw.c (msprinter_init_frame_3):
5500         * frame-msw.c (console_type_create_frame_mswindows):
5501         (2).
5502         implement new enable/disable frame methods.
5503
5504         * frame-x.c:
5505         * frame-x.c (x_enable_frame):
5506         * frame-x.c (console_type_create_frame_x):
5507         implement new enable/disable frame methods.
5508
5509         * frame.c:
5510         * frame.c (Fdisable_frame):
5511         * frame.c (syms_of_frame):
5512         * frame.h (struct frame):
5513         implement new enable/disable frame methods/functions.
5514
5515         * general-slots.h:
5516         add initial-focus.
5517
5518         * glyphs-msw.c (mswindows_widget_instantiate):
5519         comment that initial-focus should be implemented.
5520
5521         * glyphs-widget.c:
5522         * glyphs-widget.c (check_valid_instantiator):
5523         * glyphs-widget.c (check_valid_orientation):
5524         * glyphs-widget.c (check_valid_tab_orientation):
5525         * glyphs-widget.c (check_valid_justification):
5526         * glyphs-widget.c (check_valid_border):
5527         * glyphs-widget.c (check_valid_callback):
5528         * glyphs-widget.c (check_valid_int_or_function):
5529         * glyphs-widget.c (check_valid_string_or_vector):
5530         * glyphs-widget.c (check_valid_item_list_1):
5531         * glyphs-widget.c (widget_validate):
5532         * glyphs-widget.c (combo_box_validate):
5533         * glyphs-widget.c (widget_instantiate):
5534         * glyphs-widget.c (syms_of_glyphs_widget):
5535         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5536         * glyphs-widget.c (image_instantiator_combo_box):
5537         * glyphs-widget.c (image_instantiator_scrollbar):
5538         * glyphs-widget.c (image_instantiator_tab_control):
5539         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5540         (2).
5541         support (unimplemented) keyword initial-focus.
5542         reindent long macros.
5543
5544         * glyphs-x.c (x_redisplay_widget):
5545         * glyphs-x.c (x_button_instantiate):
5546         * glyphs-x.c (x_button_redisplay):
5547         * glyphs-x.c (x_progress_gauge_instantiate):
5548         * glyphs-x.c (x_edit_field_instantiate):
5549         * glyphs-x.c (x_combo_box_instantiate):
5550         * glyphs-x.c (x_tab_control_instantiate):
5551         * glyphs-x.c (x_label_instantiate):
5552         * gui-x.c:
5553         * gui-x.c (button_item_to_widget_value):
5554         * gui-x.c (gui_items_to_widget_values_1):
5555         * gui-x.c (gui_item_children_to_widget_values):
5556         * gui-x.c (gui_items_to_widget_values):
5557         * gui-x.h:
5558         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5559         add new flag to gui-parsing routines to indicate whether
5560         accelerator specs should be supported.
5561
5562         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5563
5564         * glyphs.h (struct Lisp_Image_Instance):
5565         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5566         add initial-focus flag.
5567
5568         * gui.c:
5569         * gui.c (syms_of_gui):
5570         * gui.c (vars_of_gui):
5571         clean up menu-no-selection-hook.
5572
5573         * gui.h:
5574         support delete-dialog-box-hook.
5575
5576         * lread.c (Fload_internal):
5577         * lread.c (locate_file_in_directory_mapper):
5578         (1).
5579
5580         * lrecord.h:
5581         * lrecord.h (struct toolbar_button):
5582         * lrecord.h (syms_of_toolbar):
5583         document how to create a new object.
5584
5585         * menubar-msw.c (mswindows_char_is_accelerator):
5586         may be called on frames w/o menus.
5587
5588         * menubar.c (vars_of_menubar):
5589         clean up :filter docs.
5590
5591         * nt.c (readdir):
5592         * ntproc.c:
5593         (1).
5594
5595         * process-nt.c:
5596         * process-nt.c (validate_signal_number):
5597         * process-nt.c (signal_cannot_launch):
5598         * process-nt.c (nt_create_process):
5599         * process-nt.c (nt_send_process):
5600         * process-nt.c (nt_kill_child_process):
5601         * process-nt.c (nt_open_network_stream):
5602         * process-nt.c (syms_of_process_nt):
5603         (2).
5604         delete quote-handling.  call new lisp code that does it better.
5605
5606         * process-unix.c (connect_to_file_descriptor):
5607         * process-unix.c (allocate_pty):
5608         * process-unix.c (unix_send_process):
5609         * process-unix.c (unix_kill_child_process):
5610         * process-unix.c (unix_open_network_stream):
5611         * process-unix.c (unix_open_multicast_group):
5612         (1). (2).
5613
5614         * process.c:
5615         * process.c (Fstart_process_internal):
5616         (2).  need to canonicalize process path even if absolute.
5617
5618         * select-msw.c (symbol_to_ms_cf):
5619         * select-msw.c (ms_cf_to_symbol):
5620         * select-msw.c (cf_is_autofreed):
5621         * select-msw.c (mswindows_destroy_selection):
5622         * select.c:
5623         * select.c (syms_of_select):
5624         * select.h:
5625         support dibv5, fix bugs. (from Mike Alexander)
5626
5627         * select.c (Fget_selection_internal):
5628         * select.c (select_convert_out):
5629
5630         * sysdep.c:
5631         * sysdep.c (xemacs_stat):
5632         renamed.
5633
5634         * sysdep.c (mkdir):
5635         * sysdep.c (rmdir):
5636         but keep original stat() here because we provide encapsulation
5637         around these funs.
5638
5639         * sysfile.h:
5640         * sysfile.h (fstat):
5641         remove stat garbage.
5642
5643         * syswindows.h:
5644         fix X/MSW conflict.
5645         don't include tchar.h.  it's inappropriate because it makes
5646         compile-time distinctions when we want runtime distinctions.
5647         (we provide our own tchar replacements)
5648
5649         * toolbar.c:
5650         use default object printer for toolbar-button.
5651
5652         * unexcw.c:
5653         make sure we don't encapsulate.
5654
5655         * window.c (vars_of_window):
5656         emphasize that temp-buffer-show-hook is obsolete.
5657
5658 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5659
5660         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5661         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5662
5663         * events.c (Fevent_timestamp_lessp):
5664         Not 64-bit clean.  Use EMACS_INT, not int.
5665
5666 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5667
5668         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5669         unsigned int and changed the last enum to
5670         lrecord_type_last_built_in_type.
5671         (lrecord_implementations_table): changed prototype to know how
5672         long the array is supposed to be.
5673         (lrecord_type_count): new unsigned int to keep track of the
5674         current number of lisp lrecord types.
5675         (DEFINE_EXTERNAL_LRECORD):
5676         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5677         dynamic-modules to declare new lisp types. They are the same
5678         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5679         int for each new type, and increment lrecord_type_count by 1.
5680
5681         * alloc.c (lrecord_implementations_table): Changed to reference
5682         lrecord_type_last_built_in_type for the size of the array.
5683         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5684
5685 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5686
5687         * glyphs.h (check_valid_item_list): Renamed from
5688         check_valid_item_list_1.
5689
5690 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5691
5692         * select.c (Qselect_coerce): New.
5693         * select.c (Vselection_coercion_alist): New.
5694         * select.c (syms_of_select): Declare.
5695         * select.c (get-selection-internal): Use it.
5696         Use the new select-coerce functionality.
5697
5698         * select.c (select_coerce): New.
5699         * select.h (select_coerce): Declare.
5700         New function to coerce one type of data into another.
5701
5702 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5703
5704         * callproc.c (Fcall_process_internal):
5705         (Fcall_process_internal):
5706         * process-unix.c (unix_create_process):
5707         Save and restore the value of errno, so that error messages are accurate.
5708
5709 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5710
5711         * elhash.c (print_hash_table):
5712         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5713         Prettify docstrings and indentation.
5714
5715 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5716
5717         * window.c (Fwindow_pixel_edges): Subtract frame border and
5718         gutter size.
5719
5720 2000-07-31  Andy Piper  <andy@xemacs.org>
5721
5722         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5723         will acknowledge the change.
5724
5725         * glyphs.h: declare tab_control_order_only_changed.
5726
5727         * glyphs-x.c (x_tab_control_redisplay): use
5728         tab_control_order_only_changed.
5729
5730         * glyphs-widget.c (tab_control_order_only_changed): new function.
5731
5732         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5733         tab_control_order_only_changed.
5734
5735         * gui.c (gui_item_equal_sans_selected): new function.
5736         (gui_item_equal): use it.
5737
5738         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5739         :properties in favor of :items..
5740
5741         * glyphs-widget.c (check_valid_item_list): rename from
5742         check_valid_item_list_1.
5743         (check_valid_item_list_1): renamed.
5744         (combo_box_validate): deprecate :properties in favor of :items.
5745         (widget_instantiate): ditto.
5746         (tab_control_update): ditto.
5747         (image_instantiator_combo_box): ditto.
5748         (image_instantiator_tree_view): ditto.
5749         (image_instantiator_tab_control): ditto.
5750         (layout_post_instantiate): remove dead code.
5751
5752         * print.c (debug_print_no_newline): only write to debugger if in
5753         WIN32_NATIVE.
5754
5755         * elhash.c (Fmake_hash_table): update doc string.
5756
5757         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5758         messages whilst in GC. This at least stops XEmacs crashing but has
5759         the potential for wierd behaviour.
5760
5761 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5762
5763         * config.h.in:
5764         Make existence of s&m files optional.
5765
5766         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5767         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5768         * s/gnu.h: Remove HAVE_GETLOADAVG.
5769         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5770         * s/sol2.h: Remove HAVE_GETLOADAVG.
5771         * lisp.h: Remove getloadavg() declaration.
5772         * fns.c:
5773         Include <sys/loadavg.h> if available.
5774         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5775         * config.h.in:  Group together getloadavg()-related macros.
5776         Use only configure-time tests to detect getloadavg().
5777
5778 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5779
5780         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5781
5782 2000-07-25  Andy Piper  <andy@xemacs.org>
5783
5784         * syswindows.h: add tchar.h for native builds.
5785
5786         * frame.c (syms_of_frame): remove set-glyph-image.
5787
5788         * general-slots.h: add Qset_glyph_image.
5789
5790         * glyphs-widget.c (layout_update): add domain arg to
5791         set-glyph-image.
5792         (syms_of_glyphs_widget): remove set-glyph-image.
5793
5794 2000-07-23  Ben Wing  <ben@xemacs.org>
5795
5796         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5797         Vpopup_frame_list.
5798
5799 2000-07-22  Andy Piper  <andy@xemacs.org>
5800
5801         * symsinit.h: add syms_of_win32().
5802
5803         * gui-msw.c (syms_of_gui_mswindows): remove
5804         Fmswindows_shell_execute.
5805         (Fmswindows_shell_execute): moved to win32.c.
5806
5807         * emacs.c (main_1): add syms_of_win32 ().
5808
5809         * win32.c (init_potentially_nonexistent_functions): rewrite in
5810         compiler-friendly terms.
5811         (Fmswindows_shell_execute): move here from gui-msw.c.
5812         (syms_of_win32): new.
5813
5814         * device-msw.c (Fmswindows_printer_list): clean up args to
5815         EnumPrinters.
5816         Don't include tchar under cygwin or mingw.
5817         (msprinter_default_printer): make cygwin-friendly.
5818
5819 2000-07-21  Andy Piper  <andy@xemacs.org>
5820
5821         * glyphs-widget.c (image_instantiator_tree_view): use tab
5822         control's update function.
5823         (layout_property): new function. Retrieve items.
5824
5825         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5826         function. Re-populate the tree view from the pending items.
5827
5828         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5829         is designated the parent if the domain is an image instance. This
5830         is needed so that dirtiness can be cascade up the hierarchy and
5831         thus for layout children to be redisplayed correctly.
5832         (allocate_image_instance): rename glyph -> parent.
5833
5834         * redisplay.h: change redisplay_output_layout signature.
5835
5836         * redisplay-msw.c (mswindows_output_display_block): use domain
5837         arg.
5838
5839         * redisplay-x.c (x_output_display_block): use domain arg.
5840
5841 2000-07-10  Andy Piper  <andy@xemacs.org>
5842
5843         * window.c (Fset_window_configuration): add comment.
5844
5845         * redisplay-output.c (compare_runes):
5846         (redisplay_output_subwindow): redisplay rather than update subwindow.
5847         (redisplay_output_layout): ditto.
5848
5849         * redisplay-msw.c (mswindows_frame_output_end):
5850         (mswindows_frame_output_end): make defer window pos optional.
5851
5852         * lisp.h: add Flast.
5853
5854         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5855         normalize method. Change update method to be for changed
5856         instantiators. Add redisplay method. Change signature of layout
5857         method.
5858         (struct Lisp_Image_Instance): add instantiator.
5859         (IMAGE_INSTANCE_INSTANTIATOR): new.
5860         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5861         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5862         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5863
5864         * glyphs.c:
5865         (find_instantiator_differences): new function.
5866         (Fset_instantiator_property): new convenience function.
5867         (check_image_instance_structure): strictly check for vector
5868         instantiators.
5869         (normalize_image_instantiator): make non-static.
5870         (instantiate_image_instantiator): pass on dest_mask and use new
5871         signatures for image_instance_layout and friends.
5872         (mark_image_instance): mark the instantiator. Mark the subwindow
5873         face not the widget face.
5874         (image_instance_equal): add instantiator.
5875         (image_instance_hash): ditto.
5876         (allocate_image_instance): ditto.
5877         (Fset_image_instance_property): removed.
5878         (Fimage_instance_file_name): ditto.
5879         (Fcolorize_image_instance): ditto.
5880         (image_instance_layout): add offsets to be set.
5881         (update_image_instance): new function. update an image instance
5882         from its changed instantiator.
5883         (inherit_normalize): add dest_mask.
5884         (xbm_normalize): ditto.
5885         (xface_normalize): ditto.
5886         (xpm_normalize): ditto.
5887         (text_update): set_property -> update.
5888         (image_instantiate): use the glyph identity as a hash key, not the
5889         instantiator.
5890         (glyph_width): use new image_instance_layout signature.
5891         (glyph_ascent): ditto.
5892         (glyph_descent): ditto.
5893         (glyph_height): ditto.
5894         (glyph_query_geometry): ressurrect.
5895         (glyph_layout): ditto.
5896         (redisplay_subwindow): update -> redisplay.
5897         (syms_of_glyphs): add Fset_instantiator_property.
5898         (image_instantiator_format_create): set_property -> update.
5899
5900         * glyphs-x.c:
5901         (autodetect_normalize): add dest_maks to signature.
5902         (x_redisplay_subwindow): update -> redisplay.
5903         (x_redisplay_widget): ditto.
5904         (x_button_redisplay): ditto.
5905         (x_progress_gauge_redisplay): ditto.
5906         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5907         stacking order.
5908         (console_type_create_glyphs_x): update -> redisplay.
5909         (image_instantiator_format_create_glyphs_x): ditto.
5910
5911         * glyphs-widget.c:
5912         (check_valid_instantiator): disallow glyphs in the instantiator,
5913         they must now be vectors.
5914         (check_valid_instantiator_list): ditto.
5915         (glyph_instantiator_to_glyph): use internal symbol rather than
5916         intern.
5917         (widget_update): renamed from widget_set_property. Call cascaded
5918         update methods.
5919         (redisplay_widget): renamed from update_widget.
5920         (widget_layout): image_instance_layout now takes position as well
5921         as size.
5922         (widget_normalize): ditto.
5923         (widget_instantiate): ditto.
5924         (tab_control_query_geometry) ditto.:
5925         (tab_control_update): renamed from tab_control_set_property.
5926         (progress_gauge_update): set_property -> update.
5927         (layout_normalize): rewrite so that child instantiators are
5928         normalized also.
5929         (layout_update): new function. Create glyphs from the normalized
5930         children and cope with any other layout keywords. We do not
5931         instantiate children here that will be take care of by
5932         redisplay_output_layout.
5933         (layout_instantiate): call layout_update and not much else.
5934         (layout_post_instantiate): not sure whether this is needed
5935         anymore.
5936         (layout_query_geometry): query glyph geometry rather than
5937         image_instance geometry.
5938         (layout_layout): set offsets from pass in parameters. Use glyph
5939         geometry and layout functions rather than image instance ones.
5940         (native_layout_layout): ditto.
5941         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5942         (image_instantiator_widget): set_property -> update.
5943         (image_instantiator_buttons): ditto.
5944         (image_instantiator_progress_guage): ditto.
5945         (image_instantiator_tab_control): ditto.
5946         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5947         (image_instantiator_layout): add update method.
5948
5949         * glyphs-msw.c (bmp_normalize):
5950         (mswindows_resource_normalize): add dest_mask so that it can be
5951         proprogated by layout_normalize.
5952         (begin_defer_window_pos): make optional because it may not be the
5953         right thing to do and it introduces differences with X.
5954         (mswindows_unmap_subwindow): ditto.
5955         (mswindows_map_subwindow): ditto.
5956         (mswindows_redisplay_subwindow): renamed from
5957         mswindows_update_subwindow.
5958         (mswindows_redisplay_widget): ditto.
5959         (mswindows_button_redisplay): renamed from
5960         mswindows_button_update. Update is now what the instantiation
5961         function does for a changed instantiator.
5962         (mswindows_progress_gauge_instantiate): set the progress value
5963         here if appropriate.
5964         (mswindows_tab_control_redisplay): cope with re-ordering of the
5965         members of the tab widget by simply selecting the new top
5966         widget. This makes things appear ok if you click on a tab.
5967         (mswindows_combo_box_instantiate): image_instance_layout now takes
5968         position as well as size.
5969         (mswindows_progress_gauge_redisplay): renamed from
5970         mswindows_progress_gauge_update.
5971         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5972         (image_instantiator_format_create_glyphs_mswindows): ditto.
5973
5974         * glyphs-eimage.c (jpeg_normalize):
5975         (gif_normalize):
5976         (png_normalize):
5977         (tiff_normalize): add dest_mask so that it can be proprogated by
5978         layout_normalize.
5979
5980         * elhash.c:
5981         (print_hash_table):
5982         (hash_table_weakness_validate):
5983         (decode_hash_table_weakness):
5984         (Fhash_table_weakness):
5985         (Fhash_table_type):
5986         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5987
5988         * console.h (struct console_methods): move update_* to
5989         redisplay_*.
5990
5991 2000-07-20  Ben Wing  <ben@xemacs.org>
5992
5993         * *.[ch] (XSETOBJ): remove unused middle argument.
5994         lisp-disunion.h: correct wrap_object() to one argument.
5995
5996 2000-07-15  Ben Wing  <ben@xemacs.org>
5997
5998         * s/cygwin32.h:
5999         * s/cygwin32.h (CYGWIN_CONV_PATH):
6000         Add missing logb prototype for v1.1.
6001         Use post-b20 names and alias to pre-b20 names when pre-b20.
6002
6003         * s/windowsnt.h: [5].
6004
6005 2000-07-15  Ben Wing  <ben@xemacs.org>
6006
6007         * Makefile.in.in (x_objs):
6008         * Makefile.in.in (sheap_objs):
6009         * Makefile.in.in (objs):
6010         added win32.o, cosmetic cleanups.
6011
6012         * alloc.c (Fmake_byte_code):
6013         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6014         etc. macros which declare their own args now.
6015
6016         * alloc.c (syms_of_alloc):
6017         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6018
6019         * buffer.c:
6020         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6021
6022         * buffer.c (Fget_file_buffer):
6023         Fixed GCPRO problem.
6024
6025         * buffer.c (get_truename_buffer):
6026         Fixed comment about GC checking.
6027
6028         * buffer.c (syms_of_buffer):
6029         Undeclared those dedicated frame funs.
6030         [2].
6031
6032         * buffer.h:
6033         Define convenience macros for internal/external conversions.
6034         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6035         and Qenvironment_variable_encoding for cleaner code.
6036
6037         * bufslots.h:
6038         Remove dedicated-frame; in lisp.
6039
6040         * bytecode.c (funcall_compiled_function):
6041         [1].
6042
6043         * bytecode.c (syms_of_bytecode):
6044         [2].
6045
6046         * console-msw.c:
6047         * console-msw.c (mswindows_show_console): Rewrote.
6048
6049         * console-msw.c (Fmswindows_debugging_output): New.
6050         Sends to OutputDebugString (special MSWin debugger interface).
6051
6052         * console-msw.c (Fmswindows_message_box):
6053         Fixed stupid bugs so it works when called from kill-emacs.
6054
6055         * console-msw.c (syms_of_console_mswindows):
6056         Declare Fmswindows_debugging_output.
6057
6058         * console-msw.h:
6059         New MSWin prototypes.
6060
6061         * console-msw.h (struct mswindows_frame):
6062         New entry last-click-mods for improved button-modifier support.
6063
6064         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6065         New struct entry `popup' with corresponding accessor.
6066
6067         * console-x.c:
6068         * console-x.c (split_up_display_spec):
6069         * console-x.c (get_display_arg_connection):
6070         * console-x.c (x_semi_canonicalize_console_connection):
6071         * console-x.c (x_canonicalize_device_connection):
6072         [[[6]]]: Change char to more specific type.
6073         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6074
6075         * console-x.c (x_semi_canonicalize_console_connection):
6076         * console-x.c (x_canonicalize_device_connection):
6077         [[[9]]]: Fix up error signalling to use new structured error system.
6078
6079         * console-x.h:
6080         [[[4]]]: Define codesys aliases:
6081         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6082         Qx_color_name_encoding, Qx_display_name_encoding.
6083
6084         * console.h (struct console_methods):
6085         New method make_dialog_box_internal supersedes older
6086         popup_dialog_box method.
6087
6088         * data.c:
6089         Define many new errors, part of new structured errors.
6090
6091         * data.c (init_errors_once_early):
6092         * data.c (syms_of_data):
6093         [2].
6094
6095         * device-msw.c (mswindows_init_device):
6096         [[[5]]]: Cleanup to support NT 3.51.
6097
6098         * device-msw.c (decode_devmode): Cleanup.
6099
6100         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6101         * device-msw.c (mswindows_handle_print_dialog_box):
6102         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6103         * device-msw.c (syms_of_device_mswindows):
6104         Delete the dialog box primitives recently introduced by Kirill and
6105         instead interface to general dialog box interface.
6106
6107         * device-x.c:
6108         * device-x.c (compute_x_app_name):
6109         * device-x.c (x_init_device):
6110         * device-x.c (Fx_valid_keysym_name_p):
6111         * device-x.c (Fx_set_font_path):
6112         [6].
6113         [7].
6114
6115         * device.h (wrap_device): New.
6116         First of its kind; meant to replace XSETDEVICE.
6117
6118         * dialog-msw.c: Many file-dialog symbols.
6119
6120         * dialog-msw.c (mswindows_register_popup_frame): New.
6121         * dialog-msw.c (mswindows_is_dialog_msg): New.
6122         For supporting kbd traversal in dialog boxes.
6123
6124         * dialog-msw.c (dialog_proc):
6125         Support hitting ESC in dialogs.
6126
6127         * dialog-msw.c (struct):
6128         Common dialog box errors.
6129
6130         * dialog-msw.c (handle_file_dialog_box): New.
6131         Add file dialog code.
6132
6133         * dialog-msw.c (handle_question_dialog_box):
6134         Redo existing code to support new question dialog syntax.
6135
6136         * dialog-msw.c (console_type_create_dialog_mswindows):
6137         We support new dialog console method.
6138
6139         * dialog-msw.c (syms_of_dialog_mswindows):
6140         * dialog-msw.c (vars_of_dialog_mswindows):
6141         New file dialog symbols, vars.
6142
6143         * dialog-x.c:
6144         * dialog-x.c (maybe_run_dbox_text_callback):
6145         * dialog-x.c (dbox_descriptor_to_widget_value):
6146         * dialog-x.c (x_make_dialog_box_internal):
6147         * dialog-x.c (console_type_create_dialog_x):
6148         Mule-ize entire file.
6149         Redo to support question dialog syntax.
6150         [6].
6151
6152         * dialog.c:
6153         * dialog.c (Fmake_dialog_box_internal):
6154         * dialog.c (syms_of_dialog):
6155         Kill old popup-dialog-box, replace with new primitive.
6156         Just call device method or signal error.
6157
6158         * eldap.c (Fldap_open):
6159         * eldap.c (Fldap_search_basic):
6160         * eldap.c (Fldap_add):
6161         * eldap.c (Fldap_modify):
6162         [1].
6163         [7].
6164
6165         * emacs.c:
6166         * emacs.c (make_arg_list_1):
6167         * emacs.c (make_arg_list):
6168         Mule-ize call to dll_init().
6169         [6].
6170         [8].
6171
6172         * emacs.c (make_argc_argv):
6173         * emacs.c (free_argc_argv):
6174         * emacs.c (init_cmdargs):
6175         * emacs.c (main_1):
6176         * emacs.c (Fkill_emacs):
6177         * emacs.c (Fdump_emacs):
6178         Update comments about what can be used in syms_* etc.
6179         Call init_win32() when necessary.
6180         Fix up MS Win dialog box in kill-buffer to actually work right.
6181         [7].
6182
6183         * eval.c:
6184         * eval.c (For):
6185         * eval.c (Fand):
6186         * eval.c (Fprogn):
6187         * eval.c (Fprog1):
6188         * eval.c (Fprog2):
6189         * eval.c (FletX):
6190         * eval.c (Flet):
6191         * eval.c (condition_case_3):
6192         * eval.c (Feval):
6193         * eval.c (function_argcount):
6194         * eval.c (funcall_lambda):
6195         [1].
6196
6197         * eval.c (type_error): New.
6198         * eval.c (maybe_type_error): New.
6199         * eval.c (continuable_type_error): New.
6200         * eval.c (maybe_continuable_type_error): New.
6201         * eval.c (type_error_with_frob): New.
6202         * eval.c (maybe_type_error_with_frob): New.
6203         * eval.c (continuable_type_error_with_frob): New.
6204         * eval.c (maybe_continuable_type_error_with_frob): New.
6205         New functions for use with structured errors.
6206
6207         * event-Xt.c:
6208         * event-Xt.c (x_event_to_emacs_event):
6209         Buttons are now modifiers too.
6210
6211         * event-Xt.c (emacs_Xt_current_event_timestamp):
6212         Implement new event method.
6213         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6214
6215         * event-msw.c:
6216         * event-msw.c (ntpipe_shove_writer): [5].
6217         * event-msw.c (mswindows_enqueue_mouse_button_event):
6218         * event-msw.c (mswindows_drain_windows_queue):
6219         * event-msw.c (mswindows_wnd_proc): [7].
6220         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6221         * event-msw.c (mswindows_modifier_state):
6222         Throughout: support new button modifiers.
6223
6224         * event-msw.c (emacs_mswindows_current_event_timestamp):
6225         Implement new event method.
6226         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6227
6228         * event-stream.c:
6229         * event-stream.c (event_stream_current_event_timestamp): New.
6230         * event-stream.c (maybe_kbd_translate): New functionality.
6231         * event-stream.c (vars_of_event_stream):
6232         Document new kbd-translate-table functionality.
6233
6234         * event-stream.c (Fcurrent_event_timestamp): New.
6235         New primitive for use in fabricated events.
6236         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6237
6238         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6239
6240         * events.c:
6241         * events.c (Fmake_event):
6242         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6243         [1].
6244         [9].
6245
6246         * events.c (format_event_object): fix gcc warnings.
6247
6248         * events.c (Fevent_timestamp): Document new primitives.
6249
6250         * events.c (TIMESTAMP_HALFSPACE): New.
6251
6252         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6253         comparing timestamps correctly (half-space algorithm).
6254
6255         * events.c (Fevent_modifier_bits): Doc fix.
6256
6257         * events.c (Fevent_modifiers): Major doc addition.
6258         * events.c (event_x_y_pixel_internal): Typo fix.
6259         * events.c (syms_of_events): Declare new primitives.
6260
6261         * events.h:
6262         Update long comment for button modifiers, timestamps.
6263
6264         * events.h (struct event_stream):
6265         New current_event_timestamp method.
6266
6267         * extents.c:
6268         * extents.c (extent_in_region_p):
6269         * extents.c (decode_extent):
6270         * extents.c (Fset_extent_parent):
6271         * extents.c (decode_map_extents_flags):
6272         Fix gcc warnings.
6273         [9].
6274
6275         * extents.c (struct extent_at_arg):
6276         * extents.c (decode_extent_at_flag):
6277         * extents.c (extent_at_mapper):
6278         * extents.c (extent_at_bytind):
6279         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6280         * extents.c (Fextents_at): New primitive. [9].
6281         * extents.c (symbol_to_glyph_layout): [9].
6282         Support new primitive `extents-at'.
6283
6284
6285         * extents.c (get_text_property_bytind):
6286         extent_at_bytind has another arg.
6287         [9].
6288
6289         * extents.c (syms_of_extents): New primitive.
6290
6291         * file-coding.c (Fmake_coding_system): [1].
6292         * file-coding.c (subsidiary_coding_system): fix gcc warning
6293         * file-coding.c (syms_of_file_coding): [2].
6294
6295         * fileio.c (Fexpand_file_name):
6296         * fileio.c (Fsysnetunam):
6297         * fileio.c (Ffile_exists_p):
6298         * fileio.c (Ffile_executable_p):
6299         * fileio.c (Fverify_visited_file_modtime):
6300         Clean up GCPROing.
6301
6302         * fileio.c (syms_of_fileio): [2].
6303
6304         * filelock.c (lock_file_1):
6305         * filelock.c (current_lock_owner):
6306         * filelock.c (lock_if_free):
6307         * filelock.c (lock_file):
6308         * filelock.c (unlock_file):
6309         Clean up GCPROing.
6310
6311         * fns.c (concat): Fix gcc warning.
6312
6313         * fns.c (Fmember):
6314         * fns.c (Fold_member):
6315         * fns.c (Fmemq):
6316         * fns.c (Fold_memq):
6317         * fns.c (memq_no_quit):
6318         * fns.c (Fassoc):
6319         * fns.c (Fold_assoc):
6320         * fns.c (Fassq):
6321         * fns.c (Fold_assq):
6322         * fns.c (assq_no_quit):
6323         * fns.c (Frassoc):
6324         * fns.c (Fold_rassoc):
6325         * fns.c (Frassq):
6326         * fns.c (Fold_rassq):
6327         * fns.c (rassq_no_quit):
6328         * fns.c (Fdelete):
6329         * fns.c (Fold_delete):
6330         * fns.c (Fdelq):
6331         * fns.c (Fold_delq):
6332         * fns.c (delq_no_quit):
6333         * fns.c (Fremassoc):
6334         * fns.c (Fremassq):
6335         * fns.c (remassq_no_quit):
6336         * fns.c (Fremrassoc):
6337         * fns.c (Fremrassq):
6338         * fns.c (remrassq_no_quit):
6339         * fns.c (Freverse):
6340         * fns.c (mapcar1):
6341         [1].
6342
6343         * frame-msw.c (mswindows_init_frame_1):
6344         * frame-msw.c (mswindows_delete_frame):
6345         Register popups with dialog code so keyboard traversing works.
6346
6347         * frame-tty.c (tty_raise_frame_no_select): [1].
6348
6349         * frame-x.c:
6350         * frame-x.c (x_set_frame_text_value):
6351         * frame-x.c (x_set_frame_properties):
6352         * frame-x.c (x_create_widgets):
6353         [7].
6354
6355         * frame.c:
6356         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6357
6358         * frame.h (wrap_frame): New.
6359         Macro like wrap_device.
6360
6361         * general.c:
6362         * general.c (SYMBOL):
6363         * general.c (syms_of_general):
6364         Major reorg.  This is now just a wrapper and symbols themselves
6365         are listed in general-slots.h.
6366
6367         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6368         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6369
6370         * glyphs-msw.c (mswindows_native_layout_instantiate):
6371         Add DS_CONTROL so keyboard traversal will work.
6372
6373         * glyphs-widget.c:
6374         * glyphs-widget.c (syms_of_glyphs_widget):
6375         Move some symbols to general-slots.h.
6376
6377         * glyphs-x.c:
6378         * glyphs-x.c (xbm_instantiate_1):
6379         * glyphs-x.c (x_xbm_instantiate):
6380         * glyphs-x.c (x_xface_instantiate):
6381         * glyphs-x.c (autodetect_instantiate):
6382         * glyphs-x.c (cursor_font_instantiate):
6383         * glyphs-x.c (x_update_widget):
6384         * glyphs-x.c (x_widget_instantiate):
6385         * glyphs.c (bitmap_to_lisp_data):
6386         * glyphs.c (pixmap_to_lisp_data):
6387         [7].
6388
6389         * glyphs.c (syms_of_glyphs):
6390         [2].
6391
6392         * gui-x.c:
6393         * gui-x.c (print_widget_value):
6394         * gui-x.c (menu_separator_style_and_to_external):
6395         * gui-x.c (add_accel_and_to_external):
6396         * gui-x.c (button_item_to_widget_value):
6397         * gui-x.c (gui_items_to_widget_values_1):
6398         * gui-x.c (gui_items_to_widget_values):
6399         * gui-x.c (syms_of_gui_x):
6400         * gui-x.c (vars_of_gui_x):
6401         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6402         [9].
6403
6404         * gui-x.h:
6405         Muleize, prototype changes matching gui-x.c.
6406
6407         * gui.c:
6408         * gui.c (separator_string_p):
6409         * gui.c (gui_item_add_keyval_pair):
6410         * gui.c (make_gui_item_from_keywords_internal):
6411         * gui.c (signal_too_long_error):
6412         * gui.c (parse_gui_item_tree_item):
6413         * gui.c (syms_of_gui):
6414         * gui.c (vars_of_gui):
6415         * gui.h:
6416         menu-no-selection-hook moved here (used by MSWin).
6417         Move some symbols to general-slots.h.
6418         [6].
6419         [9].
6420
6421         * insdel.c (get_buffer_pos_char):
6422         * insdel.c (get_buffer_range_char):
6423         Add GC comments.
6424
6425         * keymap.c (keymap_lookup_directly):
6426         * keymap.c (keymap_store):
6427         * keymap.c (ensure_meta_prefix_char_keymapp):
6428         * keymap.c (describe_map):
6429         * keymap.h:
6430         Support new button modifiers.
6431
6432         * lisp-disunion.h (wrap_object):
6433         * lisp-disunion.h (XSETOBJ):
6434         Rename make_obj to wrap_object.
6435
6436         * lisp-union.h:
6437         * lisp-union.h (make_int):
6438         * lisp-union.h (make_char):
6439         Support wrap_object.
6440
6441         * lisp.h:
6442         * lisp.h (LIST_LOOP):
6443         * lisp.h (EXTERNAL_LIST_LOOP):
6444         * lisp.h (LIST_LOOP_2):
6445         * lisp.h (EXTERNAL_LIST_LOOP_1):
6446         * lisp.h (EXTERNAL_LIST_LOOP_2):
6447         * lisp.h (EXTERNAL_LIST_LOOP_3):
6448         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6449         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6450         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6451         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6452         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6453         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6454         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6455         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6456         * lisp.h (struct Lisp_Symbol):
6457         * lisp.h (maybe_continuable_error_with_frob):
6458         Fix up section comments.
6459         Add new types for char to indicate usage.
6460         Delete symbols auto-generated from general-slots.h.
6461         Add prototypes for structured error functions.
6462         Add long comments describing looping macros and change interface
6463         so that lvalues are automatically declared.
6464         Add NO_DECLARE macro in case callers want to declare lvalues
6465         themselves.
6466
6467         * lread.c (read_syntax_error):
6468         * lread.c (continuable_read_syntax_error):
6469         * lread.c (read_structure):
6470         * lread.c (sequence_reader):
6471         * lread.c (read_list_conser):
6472         * lread.c (read_compiled_function):
6473         Rename syntax_error and continuable_syntax_error to avoid clash
6474         with same-named structured error functions.
6475
6476         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6477         * menubar-msw.c (populate_menu_add_item):
6478         * menubar-msw.c (populate_or_checksum_helper):
6479         [5].
6480         [9].
6481
6482         * menubar-x.c:
6483         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6484         Mule-ize whole file.
6485
6486         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6487
6488         * mule-charset.c (Fmake_charset):
6489         * mule-wnnfns.c (Fwnn_set_param):
6490         [1].
6491
6492         * ntproc.c (create_child):
6493         * ntproc.c (Fwin32_set_current_locale):
6494         Add comments portending doom.
6495
6496         * objects-msw.c:
6497         * objects-msw.c (old_font_enum_callback_2):
6498         * objects-msw.c (font_enum_callback_1):
6499         * objects-msw.c (mswindows_enumerate_fonts):
6500         [5].
6501
6502         * objects-x.c:
6503         * objects-x.c (allocate_nearest_color):
6504         * objects-x.c (x_parse_nearest_color):
6505         * objects-x.c (x_initialize_color_instance):
6506         * objects-x.c (x_print_color_instance):
6507         * objects-x.c (x_finalize_color_instance):
6508         * objects-x.c (x_valid_color_name_p):
6509         * objects-x.c (x_initialize_font_instance):
6510         * objects-x.c (x_print_font_instance):
6511         * objects-x.c (valid_x_font_name_p):
6512         * objects-x.c (truename_via_FONT_prop):
6513         * objects-x.c (truename_via_random_props):
6514         * objects-x.c (truename_via_XListFonts):
6515         * objects-x.c (x_font_truename):
6516         * objects-x.c (x_font_instance_truename):
6517         * objects-x.c (x_font_instance_properties):
6518         * objects-x.c (x_list_fonts):
6519         * objects-x.c (x_find_charset_font):
6520         Mule-ize entire file.
6521         [7].
6522
6523         * objects-x.h:
6524         Mule-verify.
6525
6526         * print.c:
6527         * print.c (std_handle_out_external):
6528         * print.c (debug_print_no_newline):
6529         * print.c (syms_of_print):
6530         Output to all debugger kinds in debug-print.
6531         Fix console-output code under MSWin to actually work.
6532
6533         * process-nt.c (send_signal):
6534         * process-nt.c (nt_create_process):
6535         Use newer Unicode macros.
6536
6537         * process-unix.c (unix_create_process):
6538         * process-unix.c (unix_canonicalize_host_name):
6539         * process-unix.c (unix_open_network_stream):
6540         [7].
6541
6542         * scrollbar-x.c:
6543         Mule-verify.
6544
6545         * search.c (syms_of_search):
6546         [2].
6547
6548         * select-msw.c (mswindows_destroy_selection):
6549         Use LIST_LOOP_2.
6550
6551         * select-x.c (symbol_to_x_atom):
6552         [7].
6553
6554         * select.c (syms_of_select):
6555         [2].
6556
6557         * sound.c (Fplay_sound_file):
6558         [7].
6559
6560         * specifier.c:
6561         * specifier.c (decode_specifier_type):
6562         * specifier.c (Fvalid_specifier_locale_type_p):
6563         * specifier.c (check_valid_locale_or_locale_type):
6564         * specifier.c (decode_locale):
6565         * specifier.c (decode_locale_type):
6566         * specifier.c (decode_locale_list):
6567         * specifier.c (check_valid_domain):
6568         * specifier.c (decode_specifier_tag_set):
6569         * specifier.c (Fcanonicalize_tag_set):
6570         * specifier.c (Fdefine_specifier_tag):
6571         * specifier.c (Fspecifier_tag_predicate):
6572         * specifier.c (check_valid_inst_list):
6573         * specifier.c (check_valid_spec_list):
6574         * specifier.c (decode_how_to_add_specification):
6575         * specifier.c (check_modifiable_specifier):
6576         * specifier.c (specifier_add_spec):
6577         * specifier.c (boolean_validate):
6578         * specifier.c (display_table_validate):
6579         [9].
6580
6581         * specifier.c (syms_of_specifier):
6582         Move some symbols to general-slots.h.
6583         [2].
6584
6585         * symbols.c:
6586         * symbols.c (Fmapatoms):
6587         * symbols.c (Fapropos_internal):
6588         Add GCPROs.
6589
6590         * symbols.c (set_default_buffer_slot_variable):
6591         * symbols.c (set_default_console_slot_variable):
6592         [1].
6593
6594         * symbols.c (defsymbol_massage_name_1):
6595         * symbols.c (defkeyword_massage_name):
6596         * symbols.c (deferror_1):
6597         * symbols.c (deferror):
6598         * symbols.c (deferror_massage_name_and_message):
6599         * symeval.h:
6600         * symeval.h (DEFSYMBOL):
6601         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6602
6603         * symbols.c (syms_of_symbols):
6604         [2].
6605
6606         * symsinit.h:
6607         * symsinit.h (init_win32): New.
6608         Also new is syms_of_dialog_mswindows.
6609
6610         * syswindows.h:
6611         Add new Unicode macros, missing Cygwin wide-char functions,
6612         convenience conversion macros for Qmswindows_tstr, macros for
6613         encapsulating required MSWin <-> Cygwin filename conversions,
6614         prototype for dynamically-extracted (not in NT 3.51) functions.
6615
6616         * toolbar-x.c:
6617         Mule-verify.
6618
6619         * tooltalk.c (Fadd_tooltalk_message_arg):
6620         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6621         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6622         [7].
6623
6624         * tooltalk.c (syms_of_tooltalk):
6625         [2].
6626
6627         * unexnt.c:
6628         * unexnt.c (unexec):
6629         Fix up headers, declaration of unexec() to be more standard.
6630
6631 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6632
6633         * offix.h: Revert change to guard macros - they're used in offix.c!
6634
6635 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6636
6637         * lisp.h: Defsubred Fdelete.
6638
6639         * console-msw.h:  (msprinter_default_printer): Added.
6640
6641         * console-msw.c (msprinter_canonicalize_console_connection):
6642         (msprinter_canonicalize_device_connection): Added.
6643
6644         * device-msw.c (msprinter_default_printer):
6645         (Fmswingows_get_default_printer):
6646         (signal_enum_priner_error):
6647         (Fmswingows_printer_list): Added.
6648
6649 2000-07-19  Martin Buchholz <martin@xemacs.org>
6650
6651         * XEmacs 21.2.35 is released.
6652
6653 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6654
6655         * select-x.c (x_handle_selection_request):
6656         Text selected in xemacs and pasted into xterm failed to appear.
6657         Spelling fixes and cosmetic changes.
6658
6659 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6660
6661         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6662         XEmacs frame (fix for doubling chars in dialog boxes).
6663
6664 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6665
6666         * select.c (select_convert_in, select_convert_out):
6667         Don't call intern() every time.
6668
6669         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6670         * select.c (vars_of_select): Initialise them.
6671
6672 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6673
6674         * select.c (selection-coercible-types): New.
6675
6676         * select.c (own-selection-internal):
6677         * select.c (get-selection-internal):
6678         MULE bug fix - these should default to COMPOUND_TEXT and not
6679         STRING for MULE. I think.
6680
6681         * select.c (select_convert_out): Use selection-coercible-types
6682         to find types that we can attempt to perform coercions on.
6683
6684 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6685
6686         * mule-wnnfns.c:
6687         * mule-canna.c:
6688         Add coding: cookie to identify encoding.
6689
6690         * mule-canna.c (CANNA_mode_keys): make static.
6691         Use proper prototypes, even for functions of no arguments.
6692         Remove external prototype for Fding().
6693
6694         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6695
6696         * select.c (syms_of_select): Add missing DEFSUBR.
6697
6698 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6699
6700         * select.c (get_selection_internal, own_selection_internal):
6701         Make the type default to STRING, rather than placing a nil type
6702         into Vselection_alist.
6703
6704 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6705
6706         * gpmevent.c (tty_selection_exists_p):
6707         * gpmevent.c (tty_own_selection):
6708         Updated parameter lists.
6709
6710 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6711
6712         * select.h (selection-alist): Removed declaration.
6713
6714         * select.h (get_local_selection):
6715         * select.c (get_local_selection):
6716         Made static.
6717
6718         * select.h (convert_selection): Removed declaration.
6719         * select.c (convert_selection): Removed.
6720         This function belongs in Lisp.
6721
6722         * select.h (select_convert_in): Declare.
6723         * select.h (select_convert_out): Declare.
6724         * select.c (select_convert_in): New.
6725         * select.c (select_convert_out): New.
6726         New conversion functions for other files to call.
6727
6728         * select.h (select_notify_buffer_kill): Declare.
6729         * select.c (select_notify_buffer_kill): New.
6730         New functions that get called from kill-buffer.
6731
6732         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6733         X-specific lisp code.
6734
6735         * select.h: Declare some of the lisp-visible functions for
6736         external use.
6737
6738         * select.c (clean_local_selection_data): Removed. This was
6739         a disgusting function, and previously should have been in
6740         select-x.c in any case. The functionality is now provided
6741         in select-convert-from-integer (select.el).
6742
6743         * select.c (available-selection-types): Fixed stupidity where
6744         INTEGER and ATOM got added twice. Also add STRING when we see an
6745         extent.
6746
6747         * select.c (get-selection-internal): Removed symbol stripping. No
6748         longer causes conversion when data comes from the internal cache.
6749
6750         * select.c (syms_of_select): Added new functions.
6751
6752         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6753         error checking - previously this called abort!
6754
6755         * select-x.c (x_own_selection): Changed comment.
6756
6757         * select-x.c (x_handle_selection_request): Use select_convert_out.
6758         Don't mess with selection-alist; it's an internal variable of select.c.
6759
6760         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6761
6762         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6763         rather than messing with selection-alist.
6764
6765         * select-msw.c (mswindows_get_foreign_selection):
6766         Use TO_INTERNAL_FORMAT rather than hacking.
6767
6768 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6769
6770         * process-unix.c (unix_open_multicast_group):
6771         (unix_open_multicast_group): Remove useless casts.
6772
6773 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6774
6775         * sound.c (Fplay_sound): Fix `unused variable' warning.
6776
6777         * emacs.c (main): Use correct type for _environ on SCO5.
6778
6779 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6780
6781         * console.h (own_selection_method):
6782         * console.h (selection_exists_p_method):
6783         * console.h (available_selection_types_method): New.
6784         * console.h (register_selection_data_type_method): New.
6785         * console.h (selection_data_type_name): New.
6786
6787         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6788         function & alist to track GlobalAlloc()'d handles that need
6789         releasing when the clipboard data gets replaced or emptied.
6790
6791         * event-msw.c (mswindows_wnd_proc): Call it.
6792
6793         * lisp.h, general.c (Qappend): New symbol representing a
6794         `how-to-add' mode.
6795
6796         * select.c (own-selection-internal):
6797         * select.c (selection-exists-p):
6798         * select.c (available-selection-types): New.
6799         * select.c (register-selection-data-type): New.
6800         * select.c (selection-data-type-name): New.  New functions to deal
6801         with device-specific selection data formats.
6802         * select.c (selection-converter-out-alist): Renamed.
6803         * select.c (selection-converter-in-alist): New.
6804         * select.c (selection-appender-alist): New.  Added new alists.
6805         * select.c (syms_of_select, vars_of_select): Added new symbols &
6806         variables.
6807         * select.c (get_local_selection): Split.
6808         * select.c: Removed spurious type checking - selections may now be
6809         of any type, not just strings.
6810         * select.c (own-selection-internal):
6811
6812         * select.h, select.c (convert_selection): New. Created
6813         convert_selection() function based on get_local_selection().
6814         * select.h, select.c (QCF_*): New symbols representing mswindows
6815         clipboard formats.
6816         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6817         symbols representing `how-to-add' modes.
6818
6819         * select-msw.c (x_sym_p): New.
6820         * select-msw.c (symbol_to_ms_cf): New.
6821         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6822         symbols & clipboard formats. Can also handle string names.
6823         * select-msw.c (mswindows_own_selection):
6824         * select-msw.c (mswindows_selection_exists_p):
6825         Added `data-type' parameter. Use it.
6826         * select-msw.c (mswindows_available_selection_types): New.
6827         * select-msw.c (mswindows_register_selection_data_type): New.
6828         * select-msw.c (mswindows_selection_data_type_name): New.
6829         * select-msw.c (mswindows_own_selection):
6830         * select-msw.c (mswindows_get_foreign_selection):
6831         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6832         * select-msw.c (console_create_select_mswindows): Added new methods.
6833         * select-msw.c (mswindows_destroy_selection): New.
6834         * select-msw.c (Vhandle_alist): New list.
6835         * select-msw.c (mswindows_own_selection):
6836
6837         * select-x.c (x_own_selection):
6838         * select-x.c (x_selection_exists_p):
6839         * select-x.c: Added some comments about maybe using new
6840         functionality.
6841         * select-x.c (x_own_selection):
6842
6843         * specifier.c: Remove definition of Qappend (now in general.c)
6844         * specifier.c (syms_of_specifier): Remove Qappend.
6845
6846 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6847
6848         * config.h.in: Add socklen_t.
6849
6850         * s/decosf4-0.h: No special compiler flags needed or desired.
6851         In particular, undefine _BSD for DEC OSF 4.0.
6852
6853 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6854
6855         * redisplay-msw.c (msprinter_frame_output_end): Added.
6856         (console_type_create_redisplay_mswindows): Referred the above.
6857
6858         * frame.c (setup_frame_without_minibuffer): Do not create a
6859         default minibuffer frame on a printer device.
6860
6861         * frame-msw.c (apply_dc_geometry): Added.
6862         (msprinter_start_page):
6863         (msprinter_init_frame_3):
6864         (msprinter_eject_page): Use it.
6865
6866         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6867         and removed residual duplex and orientation properties.
6868
6869 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6870
6871         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6872
6873         * unexalpha.c: Remove system prototypes from C sources!
6874
6875 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6876
6877         * eval.c: Remove references to M-x edit-options in DEFUNs for
6878         `defvar' and `defconst'.
6879
6880 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6881
6882         * config.h.in: Remove SMART_INCLUDE hackery.
6883
6884         PostgreSQL hacking:
6885         * config.h.in: Don't use SMART_INCLUDE.
6886
6887         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6888         * inline.c: Simply #include "postgresql.h"
6889         * postgresql.c:
6890         - Don't use SMART_INCLUDE
6891         - Use simply "const".
6892         - Use standard doc string conventions.
6893         - Use correct type for result of PQstatus.
6894
6895 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6896
6897         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6898
6899         C++ compilation changes.
6900         * config.h.in (EXTERN_C): Define.
6901         * config.h.in (not): This is also a C++ keyword.
6902         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6903         * cm.c: Use EXTERN_C.
6904         * redisplay-tty.c: Use EXTERN_C.
6905         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6906
6907 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6908
6909         * general.c: Remove duplicate definition for Qfunction.
6910
6911 2000-07-08  Ben Wing  <ben@xemacs.org>
6912
6913         * device-msw.c (msprinter_init_device):
6914         * device-msw.c (sync_printer_with_devmode):
6915         * device-msw.c (handle_devmode_changes):
6916         * device-msw.c (print_dialog_worker):
6917         * device-msw.c (Fmsprinter_apply_settings):
6918         * device-msw.c (hash_devmode):
6919         * device-msw.c (Fmsprinter_settings_despecialize):
6920         use Qmswindows_tstr, not Qctext.
6921
6922         * vm-limit.c (check_memory_limits):
6923         avoid infinite loop printing warning messages.
6924
6925 2000-07-05  Craig Lanning  <lanning@scra.org>
6926
6927         * Makefile.in.in: Add support for including the Windows resources
6928         when building with the cygwin and mingw targets.
6929
6930         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6931         not set or not correct.
6932         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6933         (init_initial_directory): Don't try to use $PWD on the
6934         WIN32_NATIVE target.
6935
6936         * s\cygwin32.h:
6937         [[Add -mwindows to eliminate console window.]] not required --ben
6938         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6939         (MAIL_USE_POP): removed; now handled by configure.
6940
6941         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6942         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6943         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6944         (MAIL_USE_POP): removed; now handled by configure.
6945         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6946         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6947         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6948         constant string.
6949         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6950         up from <winsock.h> via systime.h.
6951         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6952         (getpagesize): from Dan Holmsand, added.
6953         Added #endif which was left dangling by Ben's mega patch; added
6954         comment to help prevent this in the future.
6955
6956         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6957
6958 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6959
6960         * console-msw.h (struct mswindows_device): Removed unnecessary
6961         cached device geometry values.
6962         Added update_tick and an accessor macro.
6963         (Lisp_Devmode): Added lrecord declaration.
6964         (struct msprinter_device): Contain devmode as a Lisp object.
6965         Added mswindows_get_selected_frame_hwnd();
6966
6967         * console.h (struct console_methods): Indentation nitpicking.
6968
6969         * device-msw.c (mswindows_init_device): Do not initialize geometry
6970         cache. Initialize update tick.
6971         (mswindows_device_system_metrics): Ask the device for its geometry.
6972         (global_free_2_maybe):
6973         (devmode_to_hglobal):
6974         (handle_printer_changes):
6975         (ensure_not_printing):
6976         (print_dialog_worker):
6977         (Fmsprinter_print_setup_dialog):
6978         (Fmsprinter_print_dialog):
6979         (plist_get_margin):
6980         (plist_set_margin):
6981         (Fmsprinter_page_setup_dialog): Added functions.
6982         (sync_printer_with_devmode):
6983         (handle_devmode_changes):
6984         (Fmsprinter_get_settings):
6985         (Fmsprinter_select_settings):
6986         (Fmsprinter_apply_settings):
6987         (allocate_devmode):
6988         (Fmsprinter_settings_copy):
6989         (Fmsprinter_settings_despecialize):
6990         (print_devmode):
6991         (finalize_devmode):
6992         (equal_devmode):
6993         (hash_devmode): Added functions
6994         (syms_of_device_mswindows): Init devmode lrecord class.
6995
6996         * device.h: Added an exfun for find-device.
6997
6998         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6999         geometry; although, recreate the device compatible DC.
7000
7001         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7002         (msprinter_init_frame_3):
7003         (msprinter_frame_property):
7004         (msprinter_internal_frame_property_p):
7005         (msprinter_frame_properties):
7006         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7007         print job properties (will move to device settings).
7008
7009         * lisp.h: Added symbols.
7010
7011         * general.c (syms_of_general): Declared them.
7012
7013         * hash.c (string_hash): Added.
7014
7015         * lrecord.h (lrecord_type): Added devmode lrecord type.
7016
7017 2000-07-02  Mike Sperber <mike@xemacs.org>
7018
7019         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7020         FreeBSD 4.0.
7021
7022 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7023
7024         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7025         integer.
7026
7027 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7028
7029         * data.c (Fstring_to_number): Don't recognize floating point if
7030         base is not 10.
7031
7032 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7033
7034         * glyphs-widget.c (tab_control_query_geometry):
7035         (widget_query_geometry):
7036         (button_query_geometry):
7037         * glyphs.c (text_query_geometry):
7038         Enforce type correctness.
7039
7040 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7041
7042         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7043         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7044
7045 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7046
7047         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7048         conflicts with gcc's fixincluded version of FOO.h.
7049
7050         * glyphs.h (image_instance_geometry): Remove trailing `,'
7051
7052 2000-06-08  Mike Alexander  <mta@arbortext.com>
7053
7054         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7055         (shove_thread): Don't write the same output twice
7056         (make_ntpipe_output_stream): Increase priority of shove thread
7057         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7058         chance to run
7059         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7060         it.
7061
7062 2000-06-12  Ben Wing  <ben@xemacs.org>
7063
7064         * s\mingw32.h (sigset):
7065         * s\windowsnt.h (sigset):
7066         rename msw_ to mswindows_ for consistency with general convention.
7067
7068 2000-06-12  Ben Wing  <ben@xemacs.org>
7069
7070         * console-msw.c:
7071         * console-msw.c (mswindows_get_console_hwnd):
7072         * console-msw.c (mswindows_ensure_console_allocated):
7073         * console-msw.c (mswindows_hide_console):
7074         * console-msw.c (mswindows_show_console):
7075         * console-msw.c (mswindows_ensure_console_buffered):
7076         * console-msw.c (mswindows_output_console_string):
7077         * console-msw.c (mswindows_windows9x_p):
7078         * console-msw.h:
7079         * device-msw.c (mswindows_get_workspace_coords):
7080         * device-msw.c (mswindows_device_system_metrics):
7081         * dialog-msw.c (mswindows_popup_dialog_box):
7082         * event-msw.c (mswindows_wnd_proc):
7083         * frame-msw.c (mswindows_size_frame_internal):
7084         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7085         * menubar-msw.c (displayable_menu_item):
7086         * menubar-msw.c (mswindows_char_is_accelerator):
7087         * nt.c:
7088         * nt.c (mswindows_sigset):
7089         * nt.c (mswindows_sigrelse):
7090         * nt.c (mswindows_sigpause):
7091         * nt.c (mswindows_raise):
7092         * nt.c (timer_proc):
7093         * ntproc.c:
7094         * ntproc.c (find_child_console):
7095         * ntproc.c (sys_kill):
7096         * print.c:
7097         * print.c (std_handle_out_external):
7098         * process-nt.c (find_child_console):
7099         * process-nt.c (send_signal_the_95_way):
7100         * process-nt.c (ensure_console_window_exists):
7101         * process-nt.c (nt_create_process):
7102         * syssignal.h:
7103         rename msw_ to mswindows_ for consistency with general convention.
7104
7105         * emacs.c:
7106         * dumper.c:
7107         include nt.h, not syswindows.h.
7108
7109         * nt.c (mswindows_fstat):
7110         * nt.c (mswindows_stat):
7111         prefix mswindows_ instead of attempting to directly override the
7112         library functions.  fix declarations.
7113
7114         * nt.h:
7115         include syswindows.h.  move some sysdep.h stuff here.
7116
7117         * ntheap.h:
7118         include syswindows.h, not <windows.h>.
7119
7120         * ntplay.c:
7121         clean up headers.
7122
7123         * sysdep.c:
7124         clean up headers.
7125
7126         * sysdep.c (sys_fstat):
7127         * sysdep.c (sys_stat):
7128         call mswindows versions when appropriate.
7129
7130         * sysdep.h:
7131         move mswin decls to nt.h.
7132
7133         * syswindows.h:
7134         add long comment describing appropriate use of the various windows
7135         headers.
7136
7137 2000-06-11  Ben Wing  <ben@xemacs.org>
7138
7139         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7140
7141 2000-06-10  Ben Wing  <ben@xemacs.org>
7142
7143         * Makefile.in.in (release):
7144         Correction to make sure xemacs.exe always dumped when correct.
7145
7146         * alloca.c:
7147         * balloon_help.c:
7148         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7149
7150         * buffer.c (set_buffer_internal):
7151         [[[[2]]]]: Remove HAVE_FEP code.
7152
7153         * buffer.c (init_initial_directory):
7154         [3].
7155
7156         * bytecode.c:
7157         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7158         individual files.
7159
7160         * callproc.c:
7161         * callproc.c (call_process_cleanup):
7162         * callproc.c (Fold_call_process_internal):
7163         * callproc.c (child_setup):
7164         * callproc.c (getenv_internal):
7165         * callproc.c (init_callproc):
7166         * callproc.c (vars_of_callproc):
7167         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7168         __CYGWIN32__ -> CYGWIN.
7169         DOS_NT -> WIN32_NATIVE.
7170         Remove MSDOS support/references, converting to WIN32_NATIVE
7171           where correct.
7172         __MINGW32__ -> MINGW.
7173         Fix windows.h includes.
7174         Remove bogus HAVE_NTGUI.
7175
7176         * config.h.in:
7177         [2].
7178
7179         * console-msw.c:
7180         mswindows_message_outputted added for use in allowing startup
7181         errors on the console to be seen.
7182
7183         * console-msw.c (msw_ensure_console_allocated):
7184         * console-msw.c (msw_output_console_string):
7185         * console-msw.c (DHEADER):
7186         * console-msw.c (DOPAQUE_DATA):
7187         * console-msw.c (DEVENT):
7188         * console-msw.c (DCONS):
7189         * console-msw.c (DCONSCDR):
7190         * console-msw.c (DSTRING):
7191         * console-msw.c (DVECTOR):
7192         * console-msw.c (DSYMBOL):
7193         * console-msw.c (DSYMNAME):
7194         Fix warnings.
7195
7196         * console-stream.c (stream_init_console):
7197         Fix text/binary problems.
7198
7199         * device-msw.c:
7200         * device-msw.c (mswindows_finish_init_device):
7201         * device-msw.c (mswindows_delete_device):
7202         [1].
7203
7204         * device.c (handle_asynch_device_change):
7205         [3].
7206
7207         * dgif_lib.c:
7208         * dgif_lib.c (DGifOpenFileName):
7209         * dgif_lib.c (DGifOpenFileHandle):
7210         * dgif_lib.c (DGifGetLine):
7211         * dgif_lib.c (DGifGetPixel):
7212         Added config.h/lisp.h, fix up includes.
7213         [1].
7214
7215         * dired-msw.c:
7216         [4].
7217
7218         * dired.c:
7219         * dired.c (file_name_completion):
7220         * dired.c (Ffile_attributes):
7221         * dired.c (syms_of_dired):
7222         [1].
7223
7224         * dumper.c:
7225         * dumper.c (pdump_file_unmap):
7226         * dumper.c (pdump_load):
7227         [1].
7228
7229         * editfns.c:
7230         * editfns.c (Ftemp_directory):
7231         * editfns.c (user_login_name):
7232         * editfns.c (Fuser_real_login_name):
7233         * editfns.c (get_home_directory):
7234         [1].
7235
7236         * elhash.c (finish_marking_weak_hash_tables):
7237         [[[[5]]]]: Fix GCC warnings.
7238
7239         * emacs.c:
7240         * emacs.c (mswindows_handle_hardware_exceptions):
7241         * emacs.c (make_arg_list_1):
7242         * emacs.c (main_1):
7243         * emacs.c (Fkill_emacs):
7244         * emacs.c (Fdump_emacs):
7245         [1].
7246         Fix problems with nested crashes, add long comment.
7247
7248         * event-Xt.c (init_event_Xt_late):
7249         [1].
7250
7251         * event-msw.c:
7252         * event-msw.c (mswindows_dde_callback):
7253         * event-msw.c (mswindows_handle_sticky_modifiers):
7254         * event-msw.c (mswindows_wnd_proc):
7255         [1].
7256         [5].
7257
7258         * events.c (character_to_event):
7259         [1].
7260
7261         * fileio.c:
7262         * fileio.c (Ffile_name_directory):
7263         * fileio.c (Ffile_name_nondirectory):
7264         * fileio.c (directory_file_name):
7265         * fileio.c (Fexpand_file_name):
7266         * fileio.c (Fsubstitute_in_file_name):
7267         * fileio.c (Ffile_name_absolute_p):
7268         * fileio.c (check_executable):
7269         * fileio.c (Ffile_readable_p):
7270         * fileio.c (Ffile_accessible_directory_p):
7271         * fileio.c (Ffile_modes):
7272         * fileio.c (Funix_sync):
7273         * fileio.c (vars_of_fileio):
7274         [1]. [4].
7275
7276         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7277
7278         Expand getdefdir defn.
7279         Fix bogus rename() comment.
7280
7281         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7282         to use standard XEmacs include files, e.g. sysfile.h, rather
7283         than system-specific includes.
7284
7285         * fns.c:
7286         * fns.c (Fsubseq):
7287         [5]. [6].
7288
7289         * frame.c (vars_of_frame):
7290         [1].
7291
7292         * getloadavg.c:
7293         * getloadavg.c (getloadavg):
7294         [1]. [6].
7295         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7296         (We don't use it elsewhere in the code; just add a comment.)
7297
7298         * gif_io.c:
7299         [6].
7300         Add config.h.
7301
7302         * glyphs-msw.c:
7303         * glyphs-msw.c (mswindows_resource_instantiate):
7304         [1].
7305
7306         * glyphs-x.c (x_native_layout_instantiate):
7307         [5].
7308
7309         * gui-msw.c (Fmswindows_shell_execute):
7310         [1].
7311
7312         * insdel.c:
7313         [4].
7314
7315         * lisp.h:
7316         [4]. [5].
7317
7318         * lread.c (locate_file_in_directory_mapper):
7319         [1].
7320
7321         * lstream.c:
7322         [4].
7323
7324         * mem-limits.h:
7325         * mem-limits.h (get_lim_data):
7326         [1].
7327
7328         * menubar-msw.c:
7329         [4].
7330
7331         * ndir.h:
7332         [1].
7333
7334         * nt.c:
7335         * nt.c (getwd):
7336         * nt.c (closedir):
7337         * nt.c (rva_to_section):
7338         * nt.c (mswindows_executable_type):
7339         [1]. [6].
7340         Fix closedir() defn.
7341
7342         * nt.h:
7343         [[[[8]]]]: *_OK defs moved to sysfile.h.
7344
7345         * ntproc.c:
7346         [6]. [7].
7347
7348         * objects-x.c:
7349         [4].
7350
7351         * print.c:
7352         * print.c (std_handle_out_external):
7353         [1]. [4].
7354
7355         * process-nt.c:
7356         * process-nt.c (nt_create_process):
7357         [6].
7358         try to fix process quoting somewhat.
7359
7360         * process-unix.c (unix_create_process):
7361         [1].
7362
7363         * process.c:
7364         * process.c (vars_of_process):
7365         Add Vnull_device.
7366
7367         * process.h:
7368         [1].
7369
7370         * realpath.c:
7371         * realpath.c (xrealpath):
7372         [1].
7373
7374         * redisplay-tty.c (init_tty_for_redisplay):
7375         [3].
7376
7377         * redisplay.c:
7378         [4]. [6].
7379
7380         * scrollbar-msw.c:
7381         [4].
7382
7383         * sheap.c:
7384         * sheap.c (more_static_core):
7385         * sheap.c (report_sheap_usage):
7386         [5]. [6].
7387
7388         * signal.c:
7389         * signal.c (alarm_signal):
7390         [1]. [6].
7391
7392         * sound.c:
7393         [6].
7394
7395         * strftime.c:
7396         * strftime.c (zone_name):
7397         [1]. [5].
7398
7399         * symsinit.h (init_sunpro):
7400         [1].
7401
7402         * syscommctrl.h:
7403         commctrl.h not in Cygwin b20.1.
7404
7405         * sysdep.c:
7406         * sysdep.c (endif):
7407         * sysdep.c (sys_subshell):
7408         * sysdep.c (init_baud_rate):
7409         * sysdep.c (emacs_get_tty):
7410         * sysdep.c (emacs_set_tty):
7411         * sysdep.c (tty_init_sys_modes_on_device):
7412         * sysdep.c (init_system_name):
7413         * sysdep.c (sys_open):
7414         * sysdep.c (interruptible_open):
7415         * sysdep.c (sys_fopen):
7416         * sysdep.c (sys_mkdir):
7417         * sysdep.c (sys_rename):
7418         * sysdep.c (get_process_times_1):
7419         [1]. [6].
7420
7421         * sysdep.h:
7422         [1].
7423
7424         * sysdir.h:
7425         * sysdir.h (DIRENTRY_NONEMPTY):
7426         [1]. [6].
7427
7428         * sysdll.c (dll_init):
7429         * sysdll.h:
7430         [1].
7431
7432         * sysfile.h:
7433         [1]. [6]. [8].
7434         added text/binary defs.
7435
7436         * sysfloat.h:
7437         [1].
7438
7439         * sysproc.h:
7440         * sysproc.h (EDESTADDRREQ):
7441         * sysproc.h (poll_fds_for_input):
7442         [1]. [6].
7443
7444         * syspwd.h:
7445         [6].
7446
7447         * syssignal.h:
7448         [1].
7449
7450         * systime.h:
7451         [1]. [6].
7452
7453         * systty.h:
7454         [1].
7455
7456         * syswindows.h:
7457         [1].
7458         Always define WIN32_LEAN_AND_MEAN.
7459
7460         * unexcw.c (unexec):
7461         [5].
7462
7463         * unexec.c:
7464         * unexec.c (copy_text_and_data):
7465         * unexec.c (adjust_lnnoptrs):
7466         [1].
7467
7468         * unexnt.c:
7469         * unexnt.c (_start):
7470         [1].
7471
7472 2000-06-07  Ben Wing  <ben@xemacs.org>
7473
7474         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7475         was used only as a model.  We've long since extracted any useful
7476         logic or code out of this. (I just did an exhaustive search.)
7477
7478         * s\msdos.h: Removed.
7479
7480         * s\windows95.h: Removed.
7481
7482 2000-06-10  Ben Wing  <ben@xemacs.org>
7483
7484         * s\cygwin32.h:
7485         [1]. [5].
7486         Don't use extern with fun defs.
7487
7488         * s\mingw32.h:
7489         [1]. [7].
7490         Remove nt\inc include.
7491         Remove getdisk, getdefdir. (The former is unused, the latter
7492         expanded in fileio.h.)
7493
7494         * s\windowsnt.h:
7495         * s\windowsnt.h (WIN32_NATIVE):
7496         * s\windowsnt.h (HAVE_STRCASECMP):
7497         [1]. [7].
7498         Add long comment about preprocessor changes.
7499         Remove getdisk, getdefdir. (The former is unused, the latter
7500         expanded in fileio.h.)
7501
7502 2000-06-10  Ben Wing  <ben@xemacs.org>
7503
7504         * m\arm.h:
7505         * m\delta.h:
7506         * m\intel386.h:
7507         * m\sequent.h:
7508         * m\template.h:
7509         * m\windowsnt.h:
7510         [1].
7511         Remove bogus/unused NO_SOCK_SIGIO.
7512
7513 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7514
7515         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7516         not an Emchar.
7517
7518 2000-06-04  Mike Sperber <mike@xemacs.org>
7519
7520         * casetab.c (set_case_table): For `set-standard-case-table',
7521         actually deposit the new case tables where the rest of XEmacs can
7522         see them.
7523
7524 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7525
7526         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7527
7528 2000-06-05  Ben Wing  <ben@xemacs.org>
7529
7530         * callproc.c (child_setup): Don't do close_load_descs() under
7531         MS Windows.  Put in a comment explaining why.
7532
7533 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7534
7535         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7536         Toolkit shell" which breaks `kill-compilation' on Windows NT
7537         native, retaining STDERR handling improvements.
7538
7539 2000-06-01  Andreas Jaeger  <aj@suse.de>
7540
7541         * s/s390.h: Support for S390, based on a patch by Martin
7542         Schwidefsky <schwidefsky@de.ibm.com>.
7543
7544 2000-05-30  Andy Piper  <andy@xemacs.org>
7545
7546         * window.c (allocate_window):
7547         (make_dummy_parent):
7548         (Fset_window_configuration): use new hashtable type.
7549
7550         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7551         (struct image_instantiator_methods):
7552         (struct Lisp_Image_Instance): make instance geometry signed.
7553
7554         * glyphs.c (instantiate_image_instantiator):
7555         (image_instance_query_geometry):
7556         (image_instance_layout):
7557         (image_instance_layout):
7558         (query_string_geometry):
7559         (text_query_geometry):
7560         (image_instantiate):
7561         (image_instantiate):
7562         (cache_subwindow_instance_in_frame_maybe):
7563         (subwindow_query_geometry): make instance geometry signed.
7564
7565         * glyphs-widget.c (widget_query_geometry):
7566         (widget_layout):
7567         (button_query_geometry):
7568         (tree_view_query_geometry):
7569         (tab_control_query_geometry):
7570         (layout_query_geometry):
7571         (layout_layout):
7572         (native_layout_layout): make instance geometry signed.
7573
7574 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7575
7576         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7577         constant.
7578
7579         * general.c (syms_of_general): Add Qfull_assoc symbol.
7580
7581         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7582         correctly.
7583         (decode_weak_list_type): Decode full-assoc type.
7584         (encode_weak_list_type): Encode full-assoc type.
7585         (Fmake_weak_list): Update doc string.
7586
7587 2000-05-30  Andy Piper  <andy@xemacs.org>
7588
7589         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7590
7591         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7592         (decode_hash_table_weakness): ditto.
7593         (Fhash_table_weakness): ditto.
7594         (Fhash_table_type): ditto.
7595         (finish_marking_weak_hash_tables): ditto.
7596         (hash_table_weakness_validate): ditto.
7597         (syms_of_elhash): ditto.
7598
7599 2000-05-28  Martin Buchholz <martin@xemacs.org>
7600
7601         * XEmacs 21.2.34 is released.
7602
7603 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7604
7605         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7606         start cache.
7607         (updating_line_start_cache): Gone.
7608         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7609         generic code to force a minimum of 1 line laid out in the
7610         CMOTION_DISP case.
7611
7612 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7613
7614         * glyphs.c (instantiate_image_instantiator): Check for initialized
7615         height & width no longer special cases IMAGE_NOTHING.
7616         (nothing_instantiate): Set height and width of instance.
7617
7618 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7619
7620         * unexelf.c (unexec): Search for ".data" section.
7621         Initialize new_data2_offset from old_data_index.
7622         Remove redundant check for ElfW.
7623
7624 2000-05-23  Andy Piper  <andy@xemacs.org>
7625
7626         * glyphs.c (get_image_instantiator_governing_domain): allow more
7627         specific domains as the governing domain rather than expecting an
7628         exact match. This fixes problems with layouts.
7629
7630 2000-05-22  Andy Piper  <andy@xemacs.org>
7631
7632         * redisplay-output.c (compare_runes): check for non-images
7633
7634         * glyphs.c (set_glyph_dirty_p): ditto.
7635         (update_glyph_cachel_data): ditto.
7636
7637         * glyphs-widget.c (layout_post_instantiate): ditto.
7638         (layout_post_instantiate): ditto.
7639
7640         * event-msw.c (mswindows_wnd_proc): warning removal.
7641
7642 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7643
7644         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7645
7646         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7647
7648         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7649
7650         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7651         (mswindows_executable_type): mingw32 now has enough headers for
7652         this to work.
7653
7654 2000-05-20  Andy Piper  <andy@xemacs.org>
7655
7656         * console-msw.c (mswindows_output_last_error): ; -> ,
7657
7658 2000-05-12  Andy Piper  <andy@xemacs.org>
7659
7660         * console-msw.c (FROB): compare ints with ints.
7661
7662 2000-05-11  Andy Piper  <andy@xemacs.org>
7663
7664         * glyphs-x.c (x_finalize_image_instance): make minimal build
7665         happy.
7666
7667 2000-05-20  Ben Wing  <ben@xemacs.org>
7668
7669         * event-Xt.c:
7670         * event-Xt.c (vars_of_event_Xt):
7671         move modifier-keys-are-sticky to event-stream.c.
7672
7673         * event-msw.c:
7674         * event-msw.c (mswindows_enqueue_mouse_button_event):
7675         * event-msw.c (key_needs_default_processing_p):
7676         * event-msw.c (XEMSW_LCONTROL):
7677         * event-msw.c (mswindows_handle_sticky_modifiers):
7678         * event-msw.c (FROB):
7679         * event-msw.c (clear_sticky_modifiers):
7680         * event-msw.c (output_modifier_keyboard_state):
7681         * event-msw.c (output_alt_keyboard_state):
7682         * event-msw.c (mswindows_wnd_proc):
7683         * event-msw.c (mswindows_modifier_state):
7684         * event-msw.c (emacs_mswindows_handle_magic_event):
7685         implement sticky modifiers.
7686
7687         * event-stream.c:
7688         * event-stream.c (vars_of_event_stream):
7689         move modifier-keys-are-sticky here.
7690
7691         * lisp.h:
7692         add CHECK_FUNCTION.
7693
7694         * rangetab.c:
7695         implement map-range-table.
7696
7697
7698 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7699
7700         * redisplay-tty.c (reset_tty_modes):
7701         (tty_redisplay_shutdown): Adjust argument type to
7702         tty_frame_output_end.
7703
7704 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7705
7706         * eval.c (Fbacktrace): Don't output a line with only right
7707         parenthesis.
7708
7709 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7710
7711         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7712         (Fpq_reset_poll): Ditto.
7713
7714 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7715
7716         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7717
7718 2000-05-16  Ben Wing  <ben@xemacs.org>
7719
7720         * buffer.c:
7721         * buffer.c (dfc_convert_to/from_internal_format):
7722         * buffer.c (reinit_vars_of_buffer):
7723         Fix conversion functions to allow reentrancy.
7724
7725         * console-msw.c:
7726         * console-msw.c (mswindows_output_last_error):
7727         New fun, generally useful -- output a human-readable
7728         version of GetLastError() on the console.
7729
7730         * console-msw.h:
7731         * console-msw.h (struct mswindows_frame):
7732         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7733
7734         * console-stream.c (stream_output_begin):
7735         * console-stream.c (stream_output_end):
7736         * console-stream.c (stream_output_vertical_divider):
7737         * console-stream.c (stream_clear_region):
7738         * console-stream.c (stream_flash):
7739         * console-stream.c (console_type_create_stream):
7740         Delete blank stream methods, not needed.
7741
7742         * console.h (struct console_methods):
7743         Split begin/end methods into window and frame.
7744
7745         * event-msw.c:
7746         * event-msw.c (mswindows_handle_paint):
7747         * event-msw.c (output_alt_keyboard_state):
7748         * event-msw.c (mswindows_wnd_proc):
7749         * event-msw.c (vars_of_event_mswindows):
7750         Comment about problems with ignored-expose.
7751         Define mswindows-debug-events; not really implemented.
7752
7753         * frame-msw.c (mswindows_init_frame_1):
7754         random cleanups.
7755
7756         * glyphs-msw.c:
7757         * glyphs-msw.c (begin_defer_window_pos):
7758         * glyphs-msw.c (mswindows_unmap_subwindow):
7759         * glyphs-msw.c (mswindows_map_subwindow):
7760         * glyphs-msw.c (mswindows_resize_subwindow):
7761         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7762
7763         * glyphs.c (make_image_instance_1):
7764         Fix crash.
7765
7766         * gutter.c (Fredisplay_gutter_area):
7767         Use new begin/end methods.
7768
7769         * lisp.h (Dynarr_new2):
7770         New creation fun.
7771
7772         * redisplay-msw.c:
7773         * redisplay-msw.c (mswindows_frame_output_begin):
7774         * redisplay-msw.c (mswindows_frame_output_end):
7775         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7776         New begin/end methods -- handle DeferWindowPos.
7777
7778         * redisplay-output.c (redisplay_move_cursor):
7779         * redisplay-output.c (redraw_cursor_in_window):
7780         * redisplay-output.c (redisplay_update_line):
7781         * redisplay-output.c (redisplay_output_window):
7782         New begin/end methods.
7783
7784         * redisplay-tty.c:
7785         * redisplay-tty.c (tty_frame_output_begin):
7786         * redisplay-tty.c (tty_frame_output_end):
7787         * redisplay-tty.c (console_type_create_redisplay_tty):
7788         New begin/end methods.
7789
7790         * redisplay-x.c:
7791         * redisplay-x.c (x_window_output_begin):
7792         * redisplay-x.c (x_window_output_end):
7793         * redisplay-x.c (console_type_create_redisplay_x):
7794         New begin/end methods.
7795
7796         * redisplay.c (redisplay_frame):
7797         * redisplay.c (Fredisplay_echo_area):
7798         New begin/end methods.
7799         use MAYBE_DEVMETH for clear_frame; it may not exist.
7800
7801         * window.h (WINDOW_XFRAME):
7802         WINDOW_XFOO macros -- get locale and decode struct pointer.
7803
7804
7805 2000-05-12  Ben Wing  <ben@xemacs.org>
7806
7807         * emacs.c:
7808         * emacs.c (ensure_no_quitting_from_now_on):
7809         * emacs.c (fatal_error_signal):
7810         * emacs.c (mswindows_handle_hardware_exceptions):
7811         * emacs.c (main):
7812         * emacs.c (Fkill_emacs):
7813         * emacs.c (shut_down_emacs):
7814         * emacs.c (assert_failed):
7815         various improvements in fatal error handling.
7816
7817         * eval.c:
7818         move preparing_for_armageddon to emacs.c.
7819
7820         * lisp.h:
7821         declare fatal_error_in_progress.
7822
7823         * print.c:
7824         * print.c (std_handle_out_external):
7825         * print.c (std_handle_out_va):
7826         * print.c (stderr_out):
7827         * print.c (stdout_out):
7828         use console under mswin when no standard output.
7829         don't do code conversion during fatal error.
7830
7831         * scrollbar.c (Fscrollbar_page_up):
7832         * scrollbar.c (Fscrollbar_page_down):
7833         fix missing else.  reindent.
7834
7835 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7836
7837         Emergency fix.
7838
7839         * glyphs.h (GLYPH_CACHEL_DESCENT):
7840         (GLYPH_CACHEL_DESCENT):
7841         (GLYPH_CACHEL_DESCENT):
7842         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7843         used in case these are inline functions.
7844         Use more absurd values to error check.
7845
7846         include window.h for error check functions.
7847
7848 2000-05-11  Ben Wing  <ben@xemacs.org>
7849
7850         * cmdloop.c (Freally_early_error_handler):
7851         Display message box under windows; otherwise, message will disappear
7852         before it can be viewed.
7853
7854         * console-msw.c:
7855         * console-msw.c (Fmswindows_message_box):
7856         * console-msw.c (FROB):
7857         * console-msw.c (syms_of_console_mswindows):
7858         Define new fun `mswindows-message-box'.
7859         #### I will merge this into `popup-dialog-box'; just give me
7860         a bit of time.
7861
7862         * general.c:
7863         * general.c (syms_of_general):
7864         Some new symbols used in `mswindows-message-box'.
7865
7866         * glyphs.c:
7867         * glyphs.c (Fset_image_instance_property):
7868         put warning in this fun.
7869
7870         * glyphs.h:
7871         * glyphs.h (GLYPH_CACHEL_WIDTH):
7872         * glyphs.h (GLYPH_CACHEL_ASCENT):
7873         * glyphs.h (GLYPH_CACHEL):
7874         * glyphs.h (GLYPH_CACHEL_GLYPH):
7875         define error-checking versions to try to catch a bug i've seen --
7876         redisplay gets in an infinite loop because the glyph width of the
7877         continuation glyph is 65535.
7878
7879         * lisp.h:
7880         Extern message-box stuff.
7881
7882         * window.c (allocate_window):
7883         * window.c (make_dummy_parent):
7884         * window.c (Fset_window_configuration):
7885         Use EQUAL not EQ for subwindow caches to make them work a bit
7886         better. (Something is still very broken.)
7887
7888
7889 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7890
7891         * glyphs.c (image_instantiate): Suppress gcc warnings.
7892         (Fmake_image_instance): Fix doc string.
7893         * specifier.c (Fmake_specifier): Ditto.
7894
7895 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7896
7897         * paths.h.in (PATH_LOCK): Removed.
7898         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7899         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7900
7901 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7902
7903         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7904         Document (featurep '(and xemacs 21.02)).
7905
7906 2000-05-09  Ben Wing  <ben@xemacs.org>
7907
7908         * buffer.c (complex_vars_of_buffer):
7909         update modeline-format doc.
7910
7911         * device.h:
7912         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7913
7914         * emacs.c:
7915         timeline of all released versions of Emacs, for use in creating
7916         authorship comments and in synching up.
7917
7918         * glyphs-widget.c (image_instantiator_buttons):
7919         * glyphs-widget.c (image_instantiator_edit_fields):
7920         * glyphs-widget.c (image_instantiator_combo_box):
7921         * glyphs-widget.c (image_instantiator_scrollbar):
7922         * glyphs-widget.c (image_instantiator_progress_guage):
7923         * glyphs-widget.c (image_instantiator_tree_view):
7924         * glyphs-widget.c (image_instantiator_tab_control):
7925         * glyphs-widget.c (image_instantiator_labels):
7926         * glyphs-widget.c (image_instantiator_layout):
7927         * glyphs-widget.c (image_instantiator_native_layout):
7928         rename decode_domain method to governing_domain.
7929
7930         * glyphs.c:
7931         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7932         * glyphs.c (add_entry_to_device_ii_format_list):
7933         make sure we don't put an entry more than once into the list.
7934         * glyphs.c (check_instance_cache_mapper):
7935         *************************************************************
7936         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7937         HAVE BEEN GETTING.
7938         *************************************************************
7939         * glyphs.c (get_image_instantiator_governing_domain):
7940         clean up, expand on new concept of governing domain.
7941         * glyphs.c (instantiate_image_instantiator):
7942         * glyphs.c (allocate_image_instance):
7943         use governing_domain instead of cache_domain in naming.
7944         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7945         * glyphs.c (make_image_instance_1):
7946         * glyphs.c (Fmake_image_instance):
7947         allow for any domain (not just device), and process the
7948         governing domain correctly.  very big doc fix.
7949         * glyphs.c (Fimage_instance_domain):
7950         new primitive, to retrieve the governing domain of an image instance.
7951         * glyphs.c (image_instantiate):
7952         use new governing_domain stuff.  this fixes a crash you could get
7953         by instantiating certain widget glyphs in frame locales. (should
7954         signal an error instead of crashing.)
7955         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7956         * glyphs.c (Fglyphp): clean up doc.
7957         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7958         * glyphs.c (syms_of_glyphs):
7959         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7960         * glyphs.c (image_instantiator_format_create): add some comments about
7961         bogus code.
7962         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7963         for current-display-table. (Apparently Hrjove implemented in 1998 a
7964         design I wrote up in 1996, but didn't update the doc string.)
7965
7966         * glyphs.h: clean up a doc string.
7967         * glyphs.h (governing_domain):
7968         * glyphs.h (struct image_instantiator_methods):
7969         changes for governing_domain stuff.
7970
7971         * gutter.c:
7972         * gutter.c (Fgutter_specifier_p):
7973         * gutter.c (Fgutter_size_specifier_p):
7974         * gutter.c (Fgutter_visible_specifier_p):
7975         * objects.c:
7976         * objects.c (Fcolor_specifier_p):
7977         * objects.c (Ffont_specifier_p):
7978         * objects.c (Fface_boolean_specifier_p):
7979         doc strings moved to make-*-specifier.
7980
7981         * redisplay.c (add_disp_table_entry_runes_1):
7982         * redisplay.c (generate_fstring_runes):
7983         * redisplay.c (screen):
7984         add random comments and doc strings.
7985
7986         * specifier.c:
7987         * specifier.c (Fmake_specifier):
7988         major overhaul of this doc string.
7989
7990         * specifier.c (Fvalid_specifier_domain_p):
7991         comment about the bogosity of image instances being domains.
7992         * specifier.c (decode_domain):
7993         now non-static, used in glyphs.c.
7994         * specifier.c (specifier_instance):
7995         comment about the bogosity of image instances being domains.
7996         * specifier.c (Fgeneric_specifier_p):
7997         move doc string to make-generic-specifier.
7998         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7999         rebackslashify.
8000
8001         * specifier.h:
8002         * specifier.h (DOMAIN_FRAME):
8003         * specifier.h (DOMAIN_LIVE_P):
8004         * specifier.h (DOMAIN_XDEVICE):
8005         rebackslashify.
8006         add comments about problems with these macros.
8007         prototype for decode_domain.
8008
8009         * toolbar.c:
8010         * toolbar.c (Ftoolbar_specifier_p):
8011         move doc string to `make-toolbar-specifier'.
8012
8013         * window.c (window_unmap_subwindows_cache_mapper):
8014         *************************************************************
8015         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8016         HAVE BEEN GETTING.
8017         *************************************************************
8018
8019 2000-05-09  Andy Piper  <andy@xemacs.org>
8020
8021         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8022
8023         * window.c (Fset_window_configuration): reset the frame subwindow
8024         cache and re-initialize the window subwindow caches.
8025
8026         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8027
8028 2000-05-09  Ben Wing  <ben@xemacs.org>
8029
8030         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8031         DWORD.
8032
8033 2000-04-26  Mike Woolley  <mike@bulsara.com>
8034
8035         * ntheap.c: Changed recreate_heap to limit the amount reserved
8036         for the heap to that which is actually available. Also now
8037         displays a message box (with some dignostics) in the event that
8038         it still can't start.
8039
8040 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8041
8042         * callproc.c (Fold_call_process_internal): GCPRO path
8043
8044 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8045
8046         Patch by Bill Perry.
8047
8048         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8049         back data instead of #ifdef.
8050         (Fscrollbar_page_down): ditto.
8051
8052 2000-05-07  Ben Wing  <ben@xemacs.org>
8053
8054         * buffer.h:
8055         Kludge for defining Qmswindows_tstr.
8056
8057         * nt.c:
8058         * nt.c (open_input_file):
8059         * nt.c (open_output_file):
8060         * nt.c (rva_to_section):
8061         * nt.c (mswindows_executable_type):
8062         Move all memory-mapped-file routines here (some were in unexnt.c,
8063         which is bad because they are used by process-nt.c, and unexnt
8064         won't be around when portable dumping).  Synched the above routines
8065         with FSF 20.6.
8066
8067         * nt.h:
8068         Removed ifdef'd out bogus code.
8069         Fixed some prototypes.
8070
8071         * nt.h (file_data):
8072         * nt.h (OFFSET_TO_RVA):
8073         * nt.h (RVA_TO_OFFSET):
8074         * nt.h (RVA_TO_PTR):
8075         Moved the memory-mapped-file structures, macros and prototypes
8076         here, to parallel nt.c.  ntheap.h should really be removed
8077         entirely, and it's a non-portable-dumper specific file.
8078
8079         * ntheap.h (round_to_next):
8080         Moved the memory-mapped-file structures, macros and prototypes
8081         to nt.h.
8082
8083         * ntproc.c (compare_env):
8084         Moved rva_to_section and mswindows_executable_type to nt.c.
8085         Moved compare_env to process-nt.c.
8086         ntproc.c will die, one day.
8087
8088         * ntproc.c (sys_spawnve):
8089         Account for win32_ -> mswindows_.
8090
8091         * process-nt.c:
8092         * process-nt.c (struct nt_process_data):
8093         * process-nt.c (ensure_console_window_exists):
8094         * process-nt.c (compare_env):
8095         * process-nt.c (nt_create_process):
8096         * process-nt.c (nt_kill_process_by_pid):
8097         * process-nt.c (syms_of_process_nt):
8098         * process-nt.c (vars_of_process_nt):
8099         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8100         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8101         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8102         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8103         Move compare_env here from ntproc.c.
8104
8105         * process.c (Fprocess_send_region):
8106         Takes an optional fourth argument, BUFFER, which should fix some
8107         problems with call-process.
8108
8109         * syscommctrl.h:
8110         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8111
8112         * syswindows.h:
8113         Move ICC_BAR_CLASSES to syscommctrl.h.
8114         Add preliminary macros for MSWindows/Mule.  More to come.
8115
8116         * unexnt.c:
8117         * unexnt.c (unexec):
8118         open_output_file moved to nt.c.
8119
8120
8121 2000-05-05  Andy Piper  <andy@xemacs.org>
8122
8123         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8124         instance from the frame cache also since GC may catch up too late
8125         to make frame deletion sane.
8126
8127 2000-05-04  Andy Piper  <andy@xemacs.org>
8128
8129         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8130         (x_finalize_image_instance): ungcpro on deletion.
8131
8132         * glyphs.c (image_instantiator_format_create): give pointers a
8133         query geometry method so that the geometry is at least set.
8134
8135         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8136         initialize layouts if using widgets.
8137
8138 2000-05-03  Andy Piper  <andy@xemacs.org>
8139
8140         * nt.c: remove bogus reference to sysmmsystem.h
8141
8142         * gui-x.c (popup_selection_callback): fix no selection abort.
8143
8144 2000-05-02  Andy Piper  <andy@xemacs.org>
8145
8146         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8147         (mswindows_widget_instantiate): ditto.
8148
8149         * glyphs-widget.c (initialize_widget_image_instance): initialize
8150         children correctly.
8151         (widget_instantiate): cope with children and items in the same
8152         instance.
8153
8154         * glyphs.c (mark_image_instance): cope with children as a first
8155         class member.
8156         (image_instance_equal): ditto.
8157         (image_instance_hash): ditto.
8158         (image_instance_changed): ditto.
8159
8160 2000-04-30  Andy Piper  <andy@xemacs.org>
8161
8162         * glyphs.c (subwindow_query_geometry): new function. Return some
8163         defaults.
8164         (subwindow_instantiate): don't assign dimensions if none have been
8165         given.
8166         (image_instantiator_format_create): add subwindow_query_geometry.
8167         (print_image_instance): cope with layouts as widgets.
8168
8169 2000-04-29  Andy Piper  <andy@xemacs.org>
8170
8171         * frame.c (delete_frame_internal): call
8172         free_frame_subwindow_instance_cache so that all subwindows are
8173         finalized before their parent.
8174         (mark_frame): remove subwindow_cachels.
8175         (Fmake_frame): remove subwindow_cachel manipulation.
8176         (allocate_frame_core): subwindow_instance_cache is a weak list.
8177         (delete_frame_internal): set subwindow_instance_cache to nil.
8178
8179         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8180         finalization safe.
8181         (mswindows_finalize_image_instance): use the device
8182         not the domain as the domain may have died already.
8183
8184         * glyphs-x.c (x_finalize_image_instance): ditto.
8185         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8186         HEIGHT.
8187
8188         * redisplay-output.c (redisplay_unmap_subwindows): update for
8189         subwindow instance cache as a weak list.
8190         (redisplay_unmap_subwindows_maybe): ditto.
8191         (redisplay_unmap_subwindows_except_us): ditto.
8192
8193         * glyphs.c (unmap_subwindow): error checking will check the domain
8194         so don't deal with it here. Don't use cachels anymore.
8195         (map_subwindow): ditto.
8196         (update_subwindow_cachel_data): remove old accessor names.
8197         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8198         (Fresize_subwindow): don't update cachel.
8199         (mark_subwindow_cachels):
8200         (update_subwindow_cachel_data):
8201         (add_subwindow_cachel):
8202         (get_subwindow_cachel_index):
8203         (update_subwindow_cachel):
8204         (reset_subwindow_cachels):
8205         (mark_subwindow_cachels_as_not_updated): deleted.
8206         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8207         subwindow instance to the frame cache.
8208         (find_matching_subwindow): update for subwindow instance cache as
8209         a weak list.
8210         (update_widget_instances): ditto.
8211         (image_instance_type_to_mask):inlined.
8212         (free_frame_subwindow_instance_cache): new function. finalize all
8213         subwindows that are instantiated.
8214
8215         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8216         of cachel information.
8217         (IMAGE_INSTANCE_DISPLAY_X):
8218         (IMAGE_INSTANCE_DISPLAY_Y):
8219         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8220         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8221         (XIMAGE_INSTANCE_DISPLAY_X):
8222         (XIMAGE_INSTANCE_DISPLAY_Y):
8223         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8224         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8225         remove subwindow_cachel structure and function references.
8226         (image_instance_type_to_mask): inline from glyphs.c
8227
8228         * redisplay.c (redisplay_frame): remove subwindow_cachel
8229         references.
8230
8231         * frame.h (struct frame): remove subwindow_cachels.
8232         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8233
8234         * frameslots.h: add subwindow_instance_cache.
8235
8236         * window.c (replace_window): check subwindow cache of replacement.
8237         (window_unmap_subwindows_cache_mapper):
8238         (window_unmap_subwindows): new functions. Unmap all subwindows
8239         cached on this window.
8240         (mark_window_as_deleted): unmap all subwindows.
8241
8242 2000-04-27  Andy Piper  <andy@xemacs.org>
8243
8244         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8245
8246         * glyphs-widget.c (widget_layout): return something.
8247         (layout_layout): return something. Fail if not initialized.
8248         (layout_query_geometry): ditto.
8249         (image_instantiator_native_layout): new function. Initialized the
8250         native layout type.
8251         (widget_instantiate): don't do layout stuff here.
8252
8253         * glyphs.c (instantiate_image_instantiator): reorded calling or
8254         instantiate and post_instantiate with layout in between.
8255         (image_instance_layout): be more selective about deciding whether
8256         the layout has been done or not.
8257
8258         * glyphs.h (struct image_instantiator_methods): return a value
8259         from layout_method.
8260
8261 2000-04-26  Andy Piper  <andy@xemacs.org>
8262
8263         * glyphs.c (allocate_image_instance): make initial width and
8264         height unspecified. Set initialized to 0.
8265
8266         * syscommctrl.h new file. Encapsulates commctrl.h.
8267
8268         * syswindows.h new file. Encapsulates windows.h.
8269
8270         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8271         * nt.c: ditto.
8272         * console-msw.h: ditto.
8273
8274         * redisplay-tty.c (tty_output_display_block): remove layout references.
8275
8276         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8277         window handle rather than just the frame.
8278
8279         * glyphs.c (mark_image_instance): remove layout references.
8280         (print_image_instance): ditto.
8281         (image_instance_equal): ditto.
8282         (image_instance_hash): ditto.
8283         (decode_image_instance_type): ditto.
8284         (encode_image_instance_type): ditto.
8285         (image_instantiate): ditto.
8286         (allocate_glyph): ditto.
8287         (Fimage_instance_height): ditto.
8288         (Fimage_instance_width): ditto.
8289         (update_subwindow): ditto.
8290
8291         * redisplay-x.c (x_output_display_block): recode for layouts as
8292         widgets.
8293
8294         * redisplay-output.c (redisplay_output_layout): recode for layouts
8295         as widgets.
8296         (compare_runes): remove layout references.
8297
8298         * redisplay-msw.c (mswindows_output_display_block): recode for
8299         layouts as widgets.
8300
8301         * glyphs-widget.c (image_instantiator_layout): remove
8302         layout_possible_dest_types.
8303         (layout_possible_dest_types): deleted.
8304
8305         * glyphs.h (image_instance_type): remove layout references.
8306         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8307         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8308         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8309
8310 2000-04-25  Andy Piper  <andy@xemacs.org>
8311
8312         * glyphs-widget.c (image_instantiator_buttons):
8313         (image_instantiator_edit_fields):
8314         (image_instantiator_combo_box):
8315         (image_instantiator_scrollbar):
8316         (image_instantiator_progress_guage):
8317         (image_instantiator_tree_view):
8318         (image_instantiator_tab_control):
8319         (image_instantiator_labels):
8320         (image_instantiator_layout): call default post_instantiate method.
8321         (widget_post_instantiate): new function. Simply lays out the
8322         widgets.
8323
8324         * glyphs.h (struct image_instantiator_methods): add
8325         post_instantiate method.
8326
8327         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8328         method calls.
8329
8330 2000-04-23  Andy Piper  <andy@xemacs.org>
8331
8332         * glyphs.h (struct image_instantiator_methods): add
8333         decode_domain_method.
8334         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8335         derived from the domain.
8336         (IMAGE_INSTANCE_FRAME): new accessor.
8337         (XIMAGE_INSTANCE_FRAME): ditto.
8338
8339         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8340         instead of _SUBWINDOW_FRAME.
8341         (finalize_image_instance): ditto.
8342         (Fimage_instance_foreground): ditto.
8343         (Fimage_instance_background): ditto.
8344         (image_instantiate): ditto.
8345         (update_subwindow_cachel): ditto.
8346         (update_subwindow): ditto.
8347         (unmap_subwindow): ditto.
8348         (map_subwindow): ditto
8349         (subwindow_instantiate): ditto.
8350         * glyphs-msw.c (mswindows_update_widget): ditto.
8351         (mswindows_progress_gauge_instantiate): ditto.
8352         (mswindows_tab_control_update): ditto.
8353         * glyphs-x.c (x_update_widget): ditto.
8354         (x_widget_instantiate): ditto.
8355         (x_tab_control_instantiate): ditto.
8356         (x_tab_control_update): ditto.
8357         * event-msw.c (mswindows_wnd_proc): ditto
8358
8359         * glyphs-widget.c (image_instantiator_layout): use
8360         subwindow_decode_domain.
8361         (image_instantiator_buttons): ditto.
8362         (image_instantiator_edit_fields): ditto.
8363         (image_instantiator_combo_box): ditto.
8364         (image_instantiator_scrollbar): ditto.
8365         (image_instantiator_progress_guage): ditto.
8366         (image_instantiator_tree_view): ditto.
8367         (image_instantiator_tab_control): ditto.
8368         (image_instantiator_labels): ditto.
8369         (image_instantiator_layout): ditto.
8370
8371         * glyphs.c: add instance error checking to many functions.
8372         (instantiate_image_instantiator): decode device from cache_domain.
8373         (image_instantiate): partially rewrite by using
8374         decode_image_instantiator_domain to determine what domain the
8375         instance needs to be cached in.
8376         (decode_image_instantiator_domain): new function. Determine what
8377         domain the image needs to be cached in.
8378         (check_window_subwindow_cache): new error checking function.
8379         (check_instance_cache_mapper): ditto.
8380         (check_image_instance_structure): ditto.
8381         (subwindow_decode_domain): new function. Encodes a window as a
8382         subwindow's cache domain.
8383         (image_instantiator_format_create): use it for text and
8384         subwindows.
8385
8386 2000-04-21  Andy Piper  <andy@xemacs.org>
8387
8388         * glyphs.c (image_instance_device): new function.
8389         (image_instance_frame): new function.
8390         (image_instance_window): new function.
8391         (image_instance_live_p): new function.
8392
8393         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8394         cache to nil.
8395
8396         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8397         (IMAGE_INSTANCE_DOMAIN): new accessor.
8398         (XIMAGE_INSTANCE_DOMAIN): ditto.
8399
8400         * glyphs-x.c (x_finalize_image_instance): device->domain.
8401
8402         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8403         (mswindows_finalize_image_instance): ditto.
8404
8405         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8406         (gif_instantiate): ditto.
8407         (png_instantiate): ditto.
8408         (tiff_instantiate): ditto.
8409
8410         * glyphs.c (instantiate_image_instantiator): use domain rather
8411         than device.
8412         (mark_image_instance): device -> domain.
8413         (print_image_instance): ditto.
8414         (finalize_image_instance): ditto.
8415         (image_instance_equal): ditto.
8416         (allocate_image_instance): ditto.
8417         (Fcolorize_image_instance): ditto.
8418         (query_string_geometry): ditto.
8419         (image_instantiate): ditto
8420         (query_string_font): ditto.
8421         (image_instantiate): ditto.
8422         (update_subwindow): ditto.
8423         (unmap_subwindow): ditto.
8424         (map_subwindow): ditto.
8425         (subwindow_instantiate): ditto.
8426
8427         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8428         (DOMAIN_FRAME): ditto.
8429         (DOMAIN_WINDOW): ditto.
8430         (DOMAIN_LIVE_P): ditto.
8431         (XDOMAIN_DEVICE): ditto.
8432         (XDOMAIN_FRAME): ditto.
8433         (XDOMAIN_WINDOW): ditto.
8434
8435         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8436         a valid specifier domain.
8437
8438 2000-04-19  Andy Piper  <andy@xemacs.org>
8439
8440         * glyphs-widget.c (syms_of_glyphs_widget): remove
8441         widget-callback-current-channel.
8442         (vars_of_glyphs_widget): ditto.
8443         * glyphs.h: ditto
8444
8445         * gui.c (get_gui_callback): revert to previous behaviour.
8446
8447 2000-04-18  Andy Piper  <andy@xemacs.org>
8448
8449         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8450         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8451         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8452
8453         * glyphs.c (image_instance_equal): add margin_width.
8454         (image_instance_hash): ditto.
8455
8456         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8457         (layout_query_geometry): ditto.
8458         (layout_layout): ditto.
8459         (syms_of_glyphs_widget): add margin-width.
8460         (image_instantiator_layout): allow margin-width.
8461
8462         * glyphs.c (update_widget_instances): make a normal function.
8463         (syms_of_glyphs): remove Qupdate_widget_instances.
8464         * glyphs.h: ditto.
8465
8466         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8467         so that we don't corrupt ideas about the last event or
8468         command. Remove widget-callback-current-channel fiddling.
8469         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8470
8471 2000-05-01  Martin Buchholz <martin@xemacs.org>
8472
8473         * XEmacs 21.2.33 is released.
8474
8475 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8476
8477         * make-src-depend: Allow dots in header file name.
8478
8479 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8480
8481         * mule-charset.h (struct charset_lookup): Add
8482         next_allocated_1_byte_leading_byte and
8483         next_allocated_2_byte_leading_byte.
8484         * mule-charset.c: Move above two variables so that those values
8485         will be dumped.
8486
8487 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8488
8489         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8490         when string length is zero.
8491         (find_charsets_in_emchar_string): Ditto.
8492
8493 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8494
8495         * lisp.h: extern Qdialog and Qmenubar.
8496
8497         * gui-x.c: added events.h.
8498                 also fixed typo which made the file uncompilable.
8499
8500         * general.c: Added Qmenubar and Qdialog
8501
8502 2000-04-28  Ben Wing  <ben@xemacs.org>
8503
8504         * frame-msw.c (mswindows_init_frame_1):
8505         * frame-msw.c (mswindows_mark_frame):
8506         * event-msw.c (mswindows_enqueue_dispatch_event):
8507         * console-msw.h:
8508         * console-msw.h (struct mswindows_frame):
8509         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8510         there are now three hash tables for callbacks.
8511         mswindows_enqueue_dispatch_event is no longer static.
8512
8513         * dialog-x.c (maybe_run_dbox_text_callback):
8514         * dialog-x.c (dbox_descriptor_to_widget_value):
8515         switch to new cons3 form for callbacks.
8516
8517         * glyphs-msw.c (mswindows_register_gui_item):
8518         * glyphs-msw.c (mswindows_widget_instantiate):
8519         * glyphs-msw.c (add_tree_item):
8520         * glyphs-msw.c (add_tab_item):
8521         new image instance parameter, so it can be passed to callback-ex.
8522         respect :callback-ex as well as :callback.
8523
8524         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8525         add :callback-ex.
8526
8527         * glyphs.c (print_image_instance):
8528         prettify, e.g. now prints widget type.
8529
8530         * gui-x.h:
8531         certain funs have new image instance parameter.
8532
8533         * gui.c:
8534         * gui.c (get_gui_callback):
8535         * gui.c (gui_item_add_keyval_pair):
8536         * gui.c (gui_item_init):
8537         * gui.c (gui_add_item_keywords_to_plist):
8538         * gui.c (mark_gui_item):
8539         * gui.c (gui_item_hash):
8540         * gui.c (gui_item_equal):
8541         * gui.c (copy_gui_item):
8542         * gui.c (syms_of_gui):
8543         recognize callback-ex in a number of places.
8544         also, fix the annoying "can't get out of yes-no dialog" bug.
8545
8546         * gui.h:
8547         * gui.h (struct Lisp_Gui_Item):
8548         recognize callback-ex in a number of places.
8549
8550         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8551         new parameter in button_item_to_widget_value.
8552
8553         * glyphs-x.c (x_update_widget):
8554         * glyphs-x.c (x_button_instantiate):
8555         * glyphs-x.c (x_button_update):
8556         * glyphs-x.c (x_progress_gauge_instantiate):
8557         * glyphs-x.c (x_edit_field_instantiate):
8558         * glyphs-x.c (x_combo_box_instantiate):
8559         * glyphs-x.c (x_tab_control_instantiate):
8560         * glyphs-x.c (x_label_instantiate):
8561         new image instance parameter in various places.
8562
8563         * event-Xt.c:
8564         * event-Xt.c (enqueue_Xt_dispatch_event):
8565         this fun gets exported.
8566
8567         * gui-msw.c:
8568         * gui-msw.c (mswindows_handle_gui_wm_command):
8569         handle both :callback and :callback-ex, and generate our own
8570         event because it's one of the callback-ex arguments.
8571
8572         * gui-x.c:
8573         * gui-x.c (popup_selection_callback):
8574         handle both :callback and :callback-ex, and generate our own
8575         event because it's one of the callback-ex arguments.
8576         * gui-x.c (button_item_to_widget_value):
8577         * gui-x.c (gui_items_to_widget_values_1):
8578         * gui-x.c (gui_item_children_to_widget_values):
8579         * gui-x.c (gui_items_to_widget_values):
8580         new image instance parameter in various places.
8581
8582         * fns.c (Freplace_list):
8583         fix small typo in doc string.
8584
8585         * lisp.h:
8586         declare enqueue_Xt_dispatch_event.
8587
8588 2000-04-28  Ben Wing  <ben@xemacs.org>
8589
8590         * buffer.c:
8591         * buffer.c (Frecord_buffer):
8592         * buffer.c (syms_of_buffer):
8593         delete record-buffer-hook.
8594
8595         * fns.c:
8596         * fns.c (Freplace_list):
8597         * fns.c (syms_of_fns):
8598         new primitive replace-list.
8599
8600         * frameslots.h:
8601         slot for old buffer-alist.
8602
8603         * lisp.h:
8604         exfun replace-list.
8605
8606         * redisplay.c:
8607         * redisplay.c (redisplay_frame):
8608         * redisplay.c (syms_of_redisplay):
8609         * redisplay.c (vars_of_redisplay):
8610         new hook buffer-list-changed-hook.
8611         call it.
8612
8613 2000-04-27  Ben Wing  <ben@xemacs.org>
8614
8615         * extents.h: extern in_modeline_generation.
8616
8617         * redisplay.c (generate_formatted_string_db): set
8618         in_modeline_generation.
8619
8620         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8621         flags if in modeline generation.  otherwise frame-modified-tick
8622         is ticked far too often.
8623         Declare in_modeline_generation.
8624
8625 2000-04-26  Ben Wing  <ben@xemacs.org>
8626
8627         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8628         option.
8629         (vars_of_emacs): add quick-build as an error-checking option.
8630         A bit kludgy, but there doesn't seem much point in creating
8631         a real var for this.
8632
8633         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8634
8635 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8636
8637         * redisplay.h (struct display_line): Add a new variable,
8638         line_continuation.
8639
8640         * redisplay.c (create_text_block): Set dl->line_continuation if
8641         the line continues.
8642         (create_string_text_block): Ditto.
8643         (regenerate_window_incrementally): Use line_continuation instead
8644         of searching continuation glyph.
8645         (add_margin_runes): Call add_glyph_rune.
8646         (add_glyph_rune): Handle margin glyph.
8647
8648 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8649
8650         * filelock.c (fill_in_lock_file_name):
8651         ANSIfy.
8652         Check for IS_ANY_SEP instead of '/'.
8653         (lock_file_1):
8654         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8655         Never check errno without first seeing that system call failed.
8656         (unlock_file): Add GCPRO.
8657         (Flock_buffer): Fix docstring.
8658         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8659
8660 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8661
8662         * sysdep.c (get_pty_max_bytes):
8663         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8664         strings longer than 252 bytes.
8665
8666         * md5.c: Unconditionally include ANSI header <limits.h>
8667
8668         * glyphs-x.c (convert_EImage_to_XImage):
8669         * lisp-union.h (union Lisp_Object):
8670         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8671
8672 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8673
8674         * filelock.c (current_lock_owner): Remove unused variable o, p.
8675
8676 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8677
8678         * callint.c: Remove multiply defined symbol Qlet
8679         (syms_of_callint): ditto.
8680
8681 2000-04-14  Andy Piper  <andy@xemacs.org>
8682
8683         * general.c (syms_of_general): add last-command, this-command, let
8684         and funcall.
8685
8686         * lisp.h: declare various symbols.
8687
8688         * glyphs.h: declare Qwidget_callback_current_channel;
8689
8690         * glyphs-widget.c (syms_of_glyphs_widget): add
8691         Qgui_callback_current_channel.
8692         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8693
8694         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8695         widget-callback-current-channel when invoking the interactive
8696         arg. Also bind last-command and next-command when invoking the
8697         widget updates.
8698         * gui-x.c (popup_selection_callback): ditto.
8699
8700         * gui.c (get_gui_callback): massage args so that we are always
8701         calling eval. This allows us to add our own variable bindings
8702         outside.
8703
8704         * glyphs-x.c (x_button_instantiate): use
8705         gui_items_to_widget_values since this is GC safe.
8706         (x_progress_gauge_instantiate): ditto.
8707         (x_edit_field_instantiate): ditto.
8708         (x_label_instantiate): ditto.
8709
8710         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8711         (emacs_Xt_event_widget_focus_out): new function
8712         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8713         focus.
8714         (emacs_Xt_event_add_widget_actions): new function. add focus
8715         functions as actions.
8716         (init_event_Xt_late): use it.
8717
8718 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8719
8720         * event-stream.c (Fdispatch_event): Doc fix.
8721
8722 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8723
8724         * postgresql.c: Remove all references to PQsetenv*.
8725
8726         * postgresql.h: Remove references to PGsetenvHandler object.
8727         * lrecord.h (lrecord_type): Ditto.
8728
8729 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8730
8731         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8732         real_heigh and real_width members, and accessor macros for these.
8733
8734         * glyphs-msw.c (init_image_instance_geometry): New function.
8735         (init_image_instance_from_dibitmap): Use it.
8736         (mswindows_resource_instantiate): Use it.
8737         (init_image_instance_from_xbm_inline): Use it.
8738         (mswindows_initialize_image_instance_mask): Use real bitmap
8739         geometry.
8740         (mswindows_create_resized_bitmap): Ditto.
8741         (mswindows_create_resized_mask): Ditto.
8742
8743         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8744         and bitmap to their surface size.
8745
8746 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8747
8748         * process-unix.c (unix_send_process): Guard against process MIA
8749         after Faccept_process_output.
8750
8751 2000-04-11  Ben Wing  <ben@xemacs.org>
8752
8753         * eval.c (unbind_to_hairy): fix brokenness introduced by
8754         nanosecond speed improvements.
8755
8756 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8757
8758         * sunplay.c (init_device): To play sounds correctly, the device
8759         apparently needs to be initialized at least once by XEmacs.  Make
8760         it so.
8761
8762 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8763
8764         * redisplay.c (add_margin_runes): Add text image glyph
8765           handling.
8766
8767 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8768
8769         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8770         gcc is newer than 2.5.
8771
8772 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8773
8774         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8775
8776         * fns.c (size_bit_vector):
8777         * alloc.c (size_vector):
8778         (make_vector_internal):
8779         (make_bit_vector_internal):
8780         (sweep_bit_vectors_1):
8781         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8782
8783 2000-04-06  Andy Piper  <andy@xemacs.org>
8784
8785         * gmalloc.c (malloc): undo previous change.
8786         (malloc): ditto.
8787         (free): ditto.
8788         (realloc): ditto.
8789
8790 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8791
8792         * line-number.c (buffer_line_number): Revert to former version.
8793
8794 2000-04-06  Andy Piper  <andy@xemacs.org>
8795
8796         * gmalloc.c (malloc): add error checking.
8797         (malloc): ditto.
8798         (free): ditto.
8799         (realloc): ditto.
8800
8801         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8802         button_item_to_widget_value arg.
8803
8804         * glyphs-x.c (x_button_instantiate): add extra
8805         button_item_to_widget_value arg.
8806         (x_progress_gauge_instantiate): ditto.
8807         (x_edit_field_instantiate): ditto.
8808         (x_label_instantiate): ditto.
8809
8810         * gui-x.c (gui_items_to_widget_values_1): add extra
8811         button_item_to_widget_value arg.
8812         (button_item_to_widget_value): add extra menu_item_p arg.
8813
8814         * gui-x.h: change signature of button_item_to_widget_value.
8815
8816         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8817         button_item_to_widget_value arg.
8818
8819 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8820
8821         * buffer.h (struct buffer): auto_save_modified should be long.
8822
8823 2000-04-05  Andy Piper  <andy@xemacs.org>
8824
8825         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8826         type.
8827         (button_query_geometry): give a little more room so that athena
8828         buttons fit.
8829
8830 2000-04-05  Andy Piper  <andy@xemacs.org>
8831
8832         * faces.c (complex_vars_of_faces): The widget face should inherit
8833         the font of the gui-element face.
8834
8835 2000-04-04  Andy Piper  <andy@xemacs.org>
8836
8837         * glyphs-x.c (x_button_update): new function. unconditionally
8838         update a button's state when the instance is dirty.
8839         (image_instantiator_format_create_glyphs_x): add x_button_update.
8840         (x_widget_instantiate): remove old resize cruft.
8841
8842 2000-04-02  Andy Piper  <andy@xemacs.org>
8843
8844         * frame.c (change_frame_size_1): The introduction of gutters means
8845         that we need to allow 0 as a potential frame dimension.
8846
8847 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8848
8849         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8850         image glyph if allow_cursor.
8851         (add_hscroll_rune): Don't allow cursor to border glyph.
8852         (create_text_block): Ditto.
8853
8854         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8855         text not in buffer.
8856         (redisplay_output_layout): Call ensure_face_cachel_complete for
8857         text image glyph.
8858
8859
8860 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8861
8862         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8863
8864         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8865         not in buffer
8866
8867         * redisplay-tty.c (tty_output_display_block): Delete the routine
8868         for text image glyph
8869         * redisplay-x.c (x_output_display_block): ditto
8870         * redisplay-msw.c (mswindows_output_display_block): ditto
8871
8872 2000-02-02  Mike Alexander  <mta@arbortext.com>
8873
8874         Note: Some of these were committed by accident as part of other
8875         patches.
8876
8877         * regex.c (regex_compile): Avoid compiler warnings.
8878
8879         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8880
8881         * nt.h: Declare term_ntproc correctly.
8882
8883         * nt.c: Remove incorrect declaration of get_home_directory which
8884         is declared correctly in lisp.h.
8885
8886         * keymap.c (get_keyelt): Avoid compiler warnings.
8887         (raw_lookup_key_mapper): Avoid compiler warnings.
8888
8889         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8890
8891         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8892
8893         * filemode.c (mode_string): Avoid compiler warnings.
8894
8895         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8896         avoid warning.
8897
8898         * events-mod.h: Undef some things that winuser.h defines differently.
8899
8900         * data.c (Faset): Avoid compiler warnings.
8901
8902         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8903
8904 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8905
8906         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8907         Fall through to simple beep on error.
8908         Replace "extern" by real header file.
8909
8910         * linuxplay.c: Use nativesound.h
8911         (play_sound_data): Return error code. Be less verbose on error.
8912
8913         * sunplay.c: Use nativesound.h
8914         (play_sound_data): Return error code. Be less verbose on error.
8915
8916         * ntplay.c: Use nativesound.h
8917         (play_sound_data): Return fake error code
8918
8919         * sgiplay.c: Use nativesound.h
8920         (play_sound_data): Return error code
8921
8922         * hpplay.c: Use nativesound.h, partially implement
8923         new error code. Break compilation until finished.
8924         (play_sound_data): error code.
8925
8926         * nativesound.h (play_sound_file):
8927           (play_sound_data): Prototype in new header.
8928
8929 2000-03-31  Andy Piper  <andy@xemacs.org>
8930
8931         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8932         for toggle and radio buttons.
8933         (image_instantiator_buttons): use it.
8934
8935 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8936
8937         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8938         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8939         found. Scrollbar event probably belonged to some old config.
8940
8941 2000-03-31  Andy Piper  <andy@xemacs.org>
8942
8943         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8944         than 1.
8945         (initialize_widget_image_instance): default layout to
8946         LAYOUT_HORIZONTAL rather than 0.
8947         (widget_instantiate): reverse the item list at the end rather than
8948         every iteration.
8949         (layout_layout): re-code for the border text at the front of the
8950         item list rather than at the end.
8951         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8952         provided by the user.
8953         (widget_query_geometry): comment.
8954
8955 2000-03-30  Andy Piper  <andy@xemacs.org>
8956
8957         * glyphs-widget.c (image_instantiator_layout): allow standard
8958         widget keywords in layouts.
8959
8960         * gutter.c (output_gutter): cope with nil gutter contents.
8961
8962         * frame.c (Fset_frame_properties): add gutter docs.
8963
8964 2000-03-29  Andy Piper  <andy@xemacs.org>
8965
8966         * toolbar-msw.c (TBSTYLE_FLAT): add.
8967         (mswindows_output_toolbar): minor fiddling.
8968
8969 2000-03-29  Andy Piper  <andy@xemacs.org>
8970
8971         * gutter.c (output_gutter): force gutter size recalculation if
8972         what we are trying to display won't fit.
8973         (update_gutter_geometry): new function. A per-gutter version of
8974         update_frame_gutter_geometry.
8975         (update_frame_gutter_geometry): use it.
8976         (redraw_exposed_gutter): add extra debugging output.
8977
8978 2000-03-28  Mike Alexander  <mta@arbortext.com>
8979
8980         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8981         (pdump_file_unmap): Implement it on Windows
8982         (pdump_file_get): Save alocated handles for pdump_file_unmap
8983
8984 2000-03-28  Andy Piper  <andy@xemacs.org>
8985
8986         * gui.c (get_gui_callback): treat Quit specially.
8987
8988 2000-03-27  Andy Piper  <andy@xemacs.org>
8989
8990         * glyphs.c (image_instantiate): be careful to check in the same
8991         way we assigned.
8992
8993 2000-03-27  Didier Verna  <didier@xemacs.org>
8994
8995         * config.h.in: define the proper SMART_INCLUDE macro.
8996         handle renaming of `foo_h_path' to `foo_h_file'.
8997
8998         * database.c: ditto.
8999
9000         * emacs.c: ditto.
9001
9002         * linuxplay.c: ditto.
9003
9004         * terminfo.c: ditto.
9005
9006         * tooltalk.h: ditto.
9007
9008 2000-03-27  Andy Piper  <andy@xemacs.org>
9009
9010         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9011         gets updated whenever the face might have changed.
9012
9013 2000-03-26  Mike Alexander  <mta@arbortext.com>
9014
9015         * dumper.c (pdump_resource_free): Fix the comment.
9016
9017 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9018
9019         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9020
9021 2000-03-22  Mike Alexander  <mta@arbortext.com>
9022
9023         * dumper.c: Include Windows headers on Windows
9024         (pdump_resource_free): Add a body to the function
9025         (pdump_load): exe_name -> exe_path and add some comments.
9026
9027 2000-03-25  Mike Alexander  <mta@arbortext.com>
9028
9029         * gui.c (copy_gui_item_tree): Return a value in all cases
9030
9031 2000-03-21  Didier Verna  <didier@xemacs.org>
9032
9033         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9034         lwlib/config.h.in.
9035         (SMART_INCLUDE): new macro.
9036         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9037         the proper location.
9038
9039         * postgresql.c: use it.
9040
9041         * inline.c: ditto.
9042
9043 2000-03-24  Andy Piper  <andy@xemacs.org>
9044
9045         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9046         do this.
9047
9048 2000-03-24  Andy Piper  <andy@xemacs.org>
9049
9050         * redisplay-output.c (compare_runes): use image_instance_changed
9051         to detect changes. Do not depend on glyphs_changed, only depend on
9052         dirtiness.
9053          (redisplay_output_layout): add debug messages.
9054         (compare_runes): ditto.
9055
9056         * glyphs.h: declare new functions.
9057         (struct Lisp_Image_Instance): remove percent and associated
9058         accessors.
9059
9060         * gui.h: declare new copying functions.
9061
9062         * gui.c (copy_gui_item_tree): new function.
9063         (copy_gui_item): new function.
9064         (gui_item_id_hash): revert to standard hash.
9065         (gui_item_hash): ditto.
9066         (gui_item_hash_internal): deleted.
9067         (mark_gui_item): mark value.
9068         (gui_item_add_keyval_pair): add value.
9069         (gui_item_init): ditto.
9070         (gui_add_item_keywords_to_plist): ditto.
9071         (gui_item_equal): ditto.
9072         (syms_of_gui): add Q_value.
9073
9074         * glyphs-x.c (x_progress_gauge_update): use pending items and
9075         value for setting the state.
9076         (x_update_widget): don't set items from pending here.
9077
9078         * glyphs-widget.c (update_widget): update items here.
9079         (progress_gauge_set_property): use items for storing value. Put
9080         new value in pending items.
9081
9082         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9083         items for new value. Convert percent -> value.
9084         (mswindows_tab_control_update): don't update items here.
9085
9086         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9087         (update_subwindow): ditto.
9088         (image_instance_changed): new function. Compare hash values and
9089         past and present widget items.
9090         (image_instantiate): We more careful about where we instantiate
9091         things.
9092         (image_instantiate): add error checking.
9093
9094         * gutter.c (syms_of_gutter): use -hook.
9095
9096 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9097
9098         * console-tty.c (Fset_console_tty_input_coding_system): Use
9099         Qkeyboard.
9100         (Fset_console_tty_output_coding_system): Use Qterminal.
9101         (tty_init_console): Use Qkeyboard and Qterminal.
9102
9103 2000-03-21  Ben Wing  <ben@xemacs.org>
9104
9105         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9106         From Mike Alexander <mta@arbortext.com>.
9107
9108 2000-03-21  Ben Wing  <ben@xemacs.org>
9109
9110         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9111         process brokenness.  Proper implementation to come.
9112         * callproc.c:
9113         Rename call-process-internal to old-call-process-internal.
9114         New impl. in process.el.
9115
9116 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9117
9118         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9119
9120 2000-03-20  Andy Piper  <andy@xemacs.org>
9121
9122         * glyphs.c (full_list_hash): make hashes of the same elements in
9123         different orders return different values.
9124
9125 2000-03-20  Martin Buchholz <martin@xemacs.org>
9126
9127         * XEmacs 21.2.32 is released.
9128
9129 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9130
9131         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9132         (DFC_MALLOC_USE_CONVERTED_DATA):
9133         Add aliasing-safe casts to allow use with char* or unsigned char*
9134         lvalues.
9135
9136         * eldap.c (Fldap_open):
9137         (Fldap_search_basic):
9138         (Fldap_add):
9139         (Fldap_modify):
9140         Make C++-compilable.
9141         Make sure GCPRO'ed variables are initialized.
9142         Use temp variables to avoid repeated calls to Flength.
9143
9144 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9145
9146         * sysfile.h:
9147         Make sure PATH_MAX is always defined.
9148         Include limits.h for PATH_MAX.
9149         Deprecate use of MAXPATHLEN.
9150
9151 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9152
9153         * emacs.c: Add reinit_vars_of_fileio.
9154         * symsinit.h: Add reinit_vars_of_fileio.
9155         * fileio.c (reinit_vars_of_fileio): New.
9156         * fileio.c (Fmake_temp_name):
9157         Initialize temp_name random number from microseconds to make
9158         collisions even less likely.  Initialize always at process startup
9159         time.  (make-temp-name) used to return the same file name twice in
9160         a row when PDUMP.
9161         Random stylistic fiddling.
9162         Comment fixes.
9163
9164 2000-03-20  Andy Piper  <andy@xemacs.org>
9165
9166         * glyphs.c (image_instantiate): allow text glyphs to be
9167         instantiated in the minibuffer window.
9168
9169 2000-03-19  Andy Piper  <andy@xemacs.org>
9170
9171         * glyphs.c (image_instance_hash): be careful about which items we
9172         hash on.
9173
9174         * glyphs-widget.c (tab_control_set_property): record into pending
9175         items rather than the actual items.
9176
9177         * glyphs-x.c (x_update_widget): use pending items to update with.
9178
9179         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9180         to update with.
9181
9182         * glyphs.c (mark_image_instance): mark pending items.
9183
9184         * window.c (Fset_window_configuration): record the buffer.
9185         (Fselect_window): totally revert previous change which breaks many
9186         things.
9187
9188 2000-03-18  Andy Piper  <andy@xemacs.org>
9189
9190         * glyphs-msw.c (mswindows_tab_control_update): force selected
9191         item.
9192
9193         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9194         window domain cache, otherwise we get inconsistencies at
9195         startup. There is something fishy at startup which can lead to the
9196         minibuffer being the selected window when the gutter content is
9197         instantiated.
9198
9199         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9200         gcpros.
9201         (parse_gui_item_tree_children): ditto.
9202         (parse_gui_item_tree_item): ditto.
9203
9204         * glyphs.c (Fupdate_widget_instances): return something.
9205
9206 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9207
9208         * window.c (Fselect_window): Undo 2000-03-17 change.
9209
9210 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9211
9212         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9213         against v7.0 libraries.  Insta-coredump city until the postgres
9214         folks fix it.
9215
9216 2000-03-17  Andy Piper  <andy@xemacs.org>
9217
9218         * faces.c (complex_vars_of_faces): don't give the widget face an
9219         inherited background pixmap.
9220
9221         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9222         selected item.
9223
9224         * event-stream.c (Fdispatch_non_command_events): return something.
9225
9226         * gutter.c (output_gutter): use widget face.
9227         (clear_gutter): ditto.
9228
9229         * NEWS: adjust again.
9230
9231         * window.c (Fselect_window): make sure this runs to completion to
9232         avoid oddities with Fset_window_configuration.
9233         (Fcurrent_window_configuration): in general do not save the
9234         minibuffer as the selected window.
9235
9236         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9237
9238 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9239
9240         * emacs.c (Frunning_temacs_p): Revert previous patch.
9241         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9242
9243 2000-03-16  Andy Piper  <andy@xemacs.org>
9244
9245         * glyphs-x.c (x_tab_control_update): if no widget values then
9246         return.
9247
9248         * NEWS: update for new features.
9249
9250         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9251         synthetic event to the native system.
9252         (reinit_vars_of_event_Xt): set force_event_pending to
9253         emacs_Xt_force_event_pending.
9254
9255         * events.h (struct event_stream): add force_event_pending.
9256
9257         * specifier.c (recompute_one_cached_specifier_in_window): add
9258         comment.
9259
9260         * redisplay.c (redisplay_frame): don't call
9261         update_frame_subwindows. Reset subwindow cachels when
9262         subwindows_changed, removing this was an optimization too far.
9263
9264         * redisplay-output.c (compare_runes): reorganize so that we catch
9265         glyph changes when we want them. Set optimize_output when this
9266         would help layouts.
9267         (redisplay_output_layout): remove frame_really_changed, use
9268         optimize_output instead.
9269
9270         * redisplay-msw.c (mswindows_output_display_block): reset
9271         optimize_output after outputting a glyph.
9272         * redisplay-x.c (x_output_display_block): ditto.
9273         * redisplay-tty.c (tty_output_display_block): ditto.
9274
9275         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9276         functions.
9277         (gutter_specs_changed): do specific gutter positions.
9278         (top_gutter_specs_changed): new function. Only update the
9279         specified gutter specs.
9280         (bottom_gutter_specs_changed): ditto.
9281         (left_gutter_specs_changed): ditto.
9282         (right_gutter_specs_changed): ditto.
9283
9284         * gui.c (gui_item_hash_internal): new function, does a real hash.
9285         (gui_item_id_hash): use it.
9286         (gui_item_hash): hash the eval'ed gui_item.
9287
9288         * gui-x.c (popup_selection_callback): send an eval event to call
9289         Fupdate_widget_instances.
9290
9291         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9292         to call Fupdate_widget_instances.
9293
9294         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9295         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9296
9297         * glyphs.c: (update_frame_subwindows): deleted.
9298         (Fupdate_widget_instances): new function for updating the dirty
9299         state of widgets that might have changed.
9300         (syms_of_glyphs): add Qupdate_widget_instances.
9301         (full_list_hash): hash a list completely.
9302         (image_instance_hash): use it for items and properties.
9303
9304         * frame-msw.c (mswindows_size_frame_internal): remove unused
9305         variable.
9306
9307         * faces.h (struct face_cachel): fix comment.
9308
9309         * event-stream.c (Fdispatch_non_command_events): new
9310         function. Process non-command events, forcing an event cycle
9311         beforehand.
9312         (syms_of_event_stream): declare.
9313         (event_stream_force_event_pending): new function. Force an event
9314         on the native event queue so that an event cycle will occur next
9315         time we check.
9316
9317         * event-msw.c:
9318         (struct ntpipe_shove_stream):
9319         (mswindows_enqueue_dispatch_event):
9320         (mswindows_dequeue_dispatch_event):
9321         (mswindows_cancel_dispatch_event):
9322         (mswindows_pump_outstanding_events):
9323         (mswindows_drain_windows_queue):
9324         (mswindows_handle_paint):
9325         (mswindows_wnd_proc):
9326         (mswindows_key_to_emacs_keysym):
9327         (get_process_input_waitable):
9328         (emacs_mswindows_delete_stream_pair): re-indent file.
9329         (mswindows_need_event): do not process further fds if the windows
9330         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9331         fixes the 100% cpu problem.
9332         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9333
9334 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9335
9336         * alloc.h: New.
9337         * dumper.h: New.
9338         * dumper.c: New.
9339
9340         * emacs.c: Moved dump file searching to dumper.c.
9341         (Frunning_temacs_p): Fixed.
9342
9343         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9344         last_lrecord_type_index_assigned.
9345
9346 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9347
9348         * symsinit.h: Added reinit parameter to init_console_stream
9349         declaration.
9350
9351         * lisp.h: Added file parameter to pdump_load declaration.
9352
9353         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9354         support.  Added dump file searching.
9355
9356         * config.h.in: Added EMACS_PROGNAME.
9357
9358         * console-stream.c (init_console_stream): Fix reinitialisation
9359         when running from temacs.
9360
9361         * alloc.c (pdump): Add id support.
9362         (pdump_load): Add file parameter and signature/id support.
9363
9364         * Makefile.in.in: Add full pdump support.
9365
9366 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9367
9368         * postgresql.c: Update documentation to reflect latest code
9369         status.
9370         (print_result): Show tuple counts in printed representation when
9371         appropriate.
9372         (Fpq_put_nbytes): MULE-ize.
9373         (Fpq_get_line_async): Ditto.
9374
9375 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9376
9377         * postgresql.c (Fpq_lo_import): Fix return value.
9378         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9379
9380 2000-03-13  Ben Wing  <ben@xemacs.org>
9381
9382         * alloc.c (pdump_load):
9383         Fix compile warning under mswin.
9384
9385 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9386
9387         * postgresql.c: Mule-ization, bug fixes.
9388         Use PG_CODING to encapsulate coding system name changes.
9389         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9390         (pg-coding-system): Create.
9391
9392         (Fpq_conn_defaults): Mule-ize.
9393         (Fpq_connectdb): Mule-ize & bug fix.
9394         (Fpq_connect_start): Mule-ize.
9395         (Fpq_set_client_encoding): Mule-ize.
9396         (Fpq_finish): Document `DEAD' connection status.
9397         (Fpq_clear): Ditto.
9398         (Fpq_pgconn): Mule-ize.
9399         (Fpq_exec): Mule-ize & bug fix.
9400         (Fpq_send_query): Ditto.
9401         (Fpq_get_result): Ditto.
9402         (Fpq_res_status): Mule-ize.
9403         (Fpq_result_error_message): Mule-ize.
9404         (Fpq_ntuples): fix comments.
9405         (Fpq_fname): Mule-ize.
9406         (Fpq_fnumber): Mule-ize.
9407         (Fpq_ftype): fix comments.
9408         (Fpq_get_value): Mule-ize.
9409         (Fpq_cmd_status): Ditto.
9410         (Fpq_cmd_tuples): Ditto.
9411         (Fpq_oid_value): Ditto.
9412         (Fpq_notifies): Ditto.
9413         (Fpq_lo_import): Ditto.
9414         (Fpq_lo_export): Ditto.
9415         (Fpq_get_line): Ditto.
9416         (Fpq_put_line): Mule-ize and bug fix.
9417         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9418
9419 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9420
9421         * postgresql.c (vars_of_postgresql): Mule-ize.
9422         (Fpq_conn_defaults): Ditto.
9423
9424 2000-03-12  Ben Wing  <ben@xemacs.org>
9425
9426         * alloc.c (Fmake_byte_code):
9427         * alloc.c (debug_string_purity_print):
9428         * alloc.c (pdump_backtrace):
9429         * alloc.c (pdump_get_indirect_count):
9430         * alloc.c (pdump_register_sub):
9431         * alloc.c (pdump_register_object):
9432         * alloc.c (pdump_register_struct):
9433         * alloc.c (pdump_dump_data):
9434         * alloc.c (pdump_reloc_one):
9435         Minor cleanups.
9436
9437         * console-msw.c:
9438         * console-msw.c (GetConsoleHwnd):
9439         * console-msw.c (msw_hide_console):
9440         * console-msw.c (msw_show_console):
9441         * console-msw.c (msw_ensure_console_buffered):
9442         * console-msw.c (msw_output_console_string):
9443         * console-msw.c (console_type_create_mswindows):
9444
9445         a) Added functions to manipulate the console window for use with
9446         shell support.
9447
9448         b) Added support for writing text to the console, which is now
9449         used under Windows when xemacs is not being run non-interactively,
9450         to write text that would otherwise be destined for stdout because
9451         under these circumstances, text written to stdout tends to
9452         disappear and not be seen.
9453
9454         * console-msw.h:
9455         * event-Xt.c:
9456         * event-Xt.c (x_event_to_emacs_event):
9457         * event-Xt.c (describe_event_window):
9458         * events-mod.h (XEMACS_MOD_CONTROL):
9459         * events.c:
9460         * events.c (Fmake_event):
9461         * events.c (character_to_event):
9462         * events.c (event_to_character):
9463         * events.c (format_event_object):
9464         * events.c (Fevent_modifiers):
9465         * events.h:
9466         * events.h (struct key_data):
9467         * events.h (struct button_data):
9468         * events.h (struct misc_user_data):
9469         * frame-x.c (Fcde_start_drag_internal):
9470         * frame-x.c (Foffix_start_drag_internal):
9471         * gpmevent.c (Freceive_gpm_event):
9472         * keymap.c:
9473         * keymap.c (bucky_sym_to_bucky_bit):
9474         * keymap.c (control_meta_superify):
9475         * keymap.c (make_key_description):
9476         * keymap.c (keymap_lookup_directly):
9477         * keymap.c (create_bucky_submap):
9478         * keymap.c (keymap_store):
9479         * keymap.c (define_key_check_and_coerce_keysym):
9480         * keymap.c (define_key_parser):
9481         * keymap.c (define_key_alternate_name):
9482         * keymap.c (Fdefine_key):
9483         * keymap.c (raw_lookup_key_mapper):
9484         * keymap.c (struct map_keymap_unsorted_closure):
9485         * keymap.c (map_keymap_unsorted_mapper):
9486         * keymap.c (map_keymap_sort_predicate):
9487         * keymap.c (map_keymap_sorted):
9488         * keymap.c (accessible_keymaps_mapper_1):
9489         * keymap.c (where_is_recursive_mapper):
9490         * keymap.c (describe_map_mapper):
9491         * keymap.c (describe_map_sort_predicate):
9492         * keymap.c (describe_map):
9493         * keymap.c (complex_vars_of_keymap):
9494         And a number of other files, the key modifier preprocessor
9495         constants that xemacs uses have names that conflict with constants
9496         defined under MS Windows for other purposes, so they were renamed
9497         to begin with the prefix XEMACS_. The variables that hold such
9498         modifiers were changed to consistently be of type int to fix
9499         various compile warnings.
9500
9501         * console.c (complex_vars_of_console):
9502         * device.c:
9503         * device-msw.c:
9504         * device-msw.c (mswindows_finish_init_device):
9505         * device-msw.c (msw_get_workspace_coords):
9506         * device-msw.c (mswindows_device_system_metrics):
9507         and various other files, added support for a new
9508         device property called offset-workspace which returns the position
9509         of the upper left corner of the workspace area and goes along with
9510         the existing size-workspace property.
9511
9512         * dialog-msw.c:
9513         * dialog-msw.c (push_bufbyte_string_as_unicode):
9514         * dialog-msw.c (mswindows_popup_dialog_box):
9515         Added support for XEmacs-style accelerator specifications in
9516         button text.  Note: I didn't add support for this under X Windows,
9517         and somebody needs to do this.
9518
9519         * dialog.c:
9520         * dialog.c (Fpopup_dialog_box):
9521         Documented the support for accelerators that was just mentioned.
9522
9523         editfns.c (get_home_directory): Changed behavior under Windows
9524         when HOME not defined; former behavior was irretrievably broken.
9525
9526         * emacs.c:
9527         * emacs.c (main_1):
9528         * emacs.c (main):
9529         * minibuf.c (clear_echo_area_internal):
9530         * minibuf.c (echo_area_append):
9531         * print.c:
9532         * print.c (std_handle_out_external):
9533         * print.c (std_handle_out_va):
9534         * print.c (fatal):
9535         * print.c (write_string_to_stdio_stream):
9536         * print.c (output_string):
9537         * print.c (debug_print):
9538         * print.c (debug_backtrace):
9539         * print.c (debug_short_backtrace):
9540         Cleaned up the code that prints text to stdout so that this can be
9541         changed to output into a console window instead under MS Windows,
9542         as described above.
9543
9544         * eval.c:
9545         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9546         * eval.c (internal_catch):
9547         * eval.c (unwind_to_catch):
9548         * eval.c (throw_or_bomb_out):
9549         * eval.c (condition_case_1):
9550         * eval.c (signal_1):
9551         * eval.c (check_error_state_sanity):
9552         * eval.c (call_with_suspended_errors_1):
9553         * eval.c (call_with_suspended_errors):
9554         * eval.c (reinit_vars_of_eval):
9555         Added code to catch throw loops and check for a pesky bug that may
9556         be gone now.
9557
9558         * event-msw.c:
9559         * event-msw.c (key_needs_default_processing_p):
9560         * event-msw.c (mswindows_wnd_proc):
9561         * event-msw.c (mswindows_modifier_state):
9562         * event-msw.c (emacs_mswindows_quit_p):
9563         * event-msw.c (vars_of_event_mswindows):
9564         a) Added support for using the alt key to select menu items as is
9565         standard under MS Windows.  This is controlled using the variable
9566         menu-accelerator-enabled, just like under X Windows.  There is an
9567         option on the options menu to turn this support on.  I really
9568         think that it should be on by default under Windows, but I'm not
9569         going to make this change yet.
9570
9571         b)  Added support for dynamic display size changes under Windows.
9572
9573         * event-stream.c:
9574         * event-stream.c (maybe_echo_keys):
9575         * event-stream.c (Fnext_event):
9576         * event-stream.c (command_builder_find_leaf):
9577         * event-stream.c (lookup_command_event):
9578         * event-stream.c (execute_command_event):
9579         * event-stream.c (pre_command_hook):
9580         * event-stream.c (post_command_hook):
9581         * event-stream.c (syms_of_event_stream):
9582         * event-stream.c (vars_of_event_stream):
9583         * event-stream.c (complex_vars_of_event_stream):
9584         * events.h (struct command_builder):
9585
9586         a) Tried to clean up a little bit the horribly written x-specific
9587         accelerator code that crept into this file.  I moved this code
9588         into menubar-x.c where it belongs. I also needed to move the
9589         command builder structure into the file events.h because it is
9590         accessed directly by this accelerator code.  What I didn't do, but
9591         which should be done at some point, is to properly abstract this
9592         code using device methods instead of the kludgy way that it
9593         currently hooks into the event code.
9594
9595         b) Added the lisp variables this-command-properties and
9596         last-command- properties, which should be used to synchronize two
9597         adjacent commands in preference to playing games with the variable
9598         this-command, which is typically what happens.
9599
9600         c) Added some slightly nasty code to hook into the lisp support
9601         for shifted- motion-key selection.  This is actually necessary for
9602         somewhat complicated reasons, which are described in
9603         simple.el. (NB: I think the proper thing would be to have the code
9604         that calls the pre and post command hooks also call out to generic
9605         lisp functions in simple.el, where all built-in stuff could be
9606         added.  I will think about this more.)
9607
9608         * event-unixoid.c (poll_fds_for_input):
9609         * lread.c (readchar):
9610         * redisplay-tty.c (tty_clear_frame):
9611         * redisplay-x.c (x_get_gc):
9612         * signal.c (interrupt_signal):
9613         And a whole bunch of other files: fixed up places that printed
9614         directly to stderr to instead call the function stderr_out so that
9615         the changes I made under Windows work correctly.
9616
9617         * filemode.c (mode_string):
9618         Warning fixes.
9619
9620         * frame-msw.c:
9621         * frame-msw.c (mswindows_size_frame_internal):
9622         Fixed the computation of frame size and position to keep the frame
9623         within the workspace area, rather than within the physical
9624         dimensions of the screen, so that the frame doesn't overlap window
9625         manager decorations, such as the start menu and toolbar, typically
9626         at the bottom of the screen.
9627
9628         * frame.c (vars_of_frame):
9629         Changed the default frame title format under MS Windows to consist
9630         of buffername-XEmacs, which is standard under MS Windows.  I think
9631         it might be a good idea to change this everywhere because I think
9632         it is superior to the current frame title format, but this is the
9633         kind of change that is likely to cause some people to get annoyed,
9634         so I'm not making it.
9635
9636         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9637
9638         * gui-msw.c (mswindows_handle_gui_wm_command):
9639         Fixed compile warnings.
9640
9641         * gui-x.c:
9642         * gui-x.c (strdup_and_add_accel):
9643         * gui-x.c (button_item_to_widget_value):
9644         * gui-x.h:
9645         Added code to automatically put an accelerator onto the beginning
9646         of menu items that don't have one as is now the standard, and is
9647         described more later.  Also fixed things so that the menu item
9648         name can be an evaluated expression, again a new standard.
9649
9650         * gui.c:
9651         * gui.c (gui_item_add_keyval_pair):
9652         * gui.c (make_gui_item_from_keywords_internal):
9653         * gui.c (gui_add_item_keywords_to_plist):
9654         * gui.c (gui_item_accelerator):
9655         * gui.c (gui_name_accelerator):
9656         * gui.c (gui_item_included_p):
9657         * gui.c (gui_item_display_flush_left):
9658         * gui.c (gui_item_display_flush_right):
9659         * gui.c (parse_gui_item_tree_item):
9660         * gui.c (parse_gui_item_tree_children):
9661         * gui.c (parse_gui_item_tree_list):
9662         Mule-ized.  Cleanup.  GCPRO addition.
9663
9664         * line-number.c (buffer_line_number):
9665         * lisp.h:
9666         * lisp.h (EMACS_INT_MAX):
9667         Added the manifest constant EMACS_INT_MIN corresponding to the
9668         existing constant EMACS_INT_MAX.  This is partially to fix compile
9669         warnings under Windows, and partly for cleanliness.
9670
9671         * menubar-msw.c:
9672         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9673         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9674         * menubar-msw.c (displayable_menu_item):
9675         * menubar-msw.c (populate_menu_add_item):
9676         * menubar-msw.c (populate_or_checksum_helper):
9677         * menubar-msw.c (populate_menu):
9678         * menubar-msw.c (update_frame_menubar_maybe):
9679         * menubar-msw.c (prune_menubar):
9680         * menubar-msw.c (msw_char_is_accelerator):
9681         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9682         * menubar-msw.c (mswindows_handle_wm_command):
9683         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9684         * menubar-msw.c (mswindows_handle_wm_initmenu):
9685         * menubar-msw.c (mswindows_update_frame_menubars):
9686         * menubar-msw.c (mswindows_free_frame_menubars):
9687         * menubar-msw.c (mswindows_popup_menu):
9688         Fixed a bug in handling accelerators where an extra character
9689         would be displayed in the menu item.  Also generalized the
9690         function displayable_menu_item because it is now used by the
9691         dialog box code as well.  And finally, added code in the functions
9692         that create the menubar to extract a list of accelerators for the
9693         top level menubar, which is used in the event code to determine
9694         whether a particular alt-key combination should be used to invoke
9695         a menu item, or should be passed through to access the standard
9696         XEmacs keymap binding for this key combination.
9697
9698         Much needed GCPROing.
9699
9700         * menubar-x.c:
9701         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9702         * menubar-x.c (menu_item_descriptor_to_widget_value):
9703         * menubar-x.c (restore_in_menu_callback):
9704         * menubar-x.c (x_popup_menu):
9705         * menubar-x.c (menu_move_up):
9706         * menubar-x.c (menu_move_down):
9707         * menubar-x.c (menu_move_left):
9708         * menubar-x.c (menu_move_right):
9709         * menubar-x.c (menu_select_item):
9710         * menubar-x.c (command_builder_operate_menu_accelerator):
9711         * menubar-x.c (menu_accelerator_junk_on_error):
9712         * menubar-x.c (command_builder_find_menu_accelerator):
9713         * menubar-x.c (Faccelerate_menu):
9714         * menubar.h:
9715         Moved a whole bunch of code here that was previously in
9716         event-stream.c as described above.  There is also code connected
9717         to the new standard of adding an accelerator to the beginning of
9718         menu items that don't have one as described above and below.
9719
9720         * menubar.c:
9721         * menubar.c (menu_parse_submenu_keywords):
9722         * menubar.c (Fmenu_find_real_submenu):
9723         * menubar.c (Fnormalize_menu_item_name):
9724         * menubar.c (syms_of_menubar):
9725         * menubar.c (vars_of_menubar):
9726         * menubar.c (complex_vars_of_menubar):
9727
9728         a) Cleaned up a bunch of documentation and improved it.
9729
9730         b) XEmacs now automatically adds an accelerator onto the beginning
9731         of any menu items that don't have one.  I did this because there
9732         will inevitably be some menu items on the main menubar that don't
9733         have accelerators on them because the package that adds that
9734         particular menu item hasn't yet been fixed up to have accelerators
9735         in them and it looked rather strange to have some items with and
9736         some items without accelerators, especially since even in items
9737         without accelerators, you can, at least under windows, still
9738         access the item through an accelerator corresponding to the first
9739         character in the item's name.  If people don't like this behavior,
9740         I can add a variable to turn it off optionally, but I'm not sure
9741         this is a good idea because we really do need to have accelerators
9742         on all of the menu items, and if a package doesn't like the
9743         accelerators being put on the first character, then it should put
9744         the accelerators where they belong.
9745
9746         c) I made a behavior change, which is that the descriptor that
9747         specifies the text of the menu item, which formerly was just a
9748         string, can now also be an evaluated expression.  This makes this
9749         descriptor parallel with all of the others, which could also be
9750         evaluated expressions.  This also obviates the need for the
9751         keyword :label, which was previously listed in the documentation
9752         as unimplemented, and which was for the same purpose.
9753
9754         d) GCPROing.
9755
9756         * ntproc.c:
9757         * ntproc.c (new_child):
9758         * ntproc.c (sys_spawnve):
9759         * ntproc.c (find_child_console):
9760         * ntproc.c (sys_kill):
9761         Fixed compile warnings.  By the way, this file should really go
9762         away entirely, and this will happen as soon as Kirill makes his
9763         final round of process cleanups, which affect the function
9764         call-process.
9765
9766         * process-nt.c:
9767         * process-nt.c (struct nt_process_data):
9768         * process-nt.c (find_process_from_pid):
9769         * process-nt.c (send_signal_the_nt_way):
9770         * process-nt.c (enable_child_signals):
9771         * process-nt.c (find_child_console):
9772         * process-nt.c (send_signal_the_95_way):
9773         * process-nt.c (nt_finalize_process_data):
9774         * process-nt.c (ensure_console_window_exists):
9775         * process-nt.c (nt_create_process):
9776         * process-nt.c (nt_kill_child_process):
9777         * process-nt.c (nt_kill_process_by_pid):
9778         * process-nt.c (nt_open_network_stream):
9779         * process-nt.c (vars_of_process_nt):
9780         Copied over code from Emacs 20.5 to correctly send signals to sub-
9781         processes under Windows 95.  Also added code to automatically
9782         create and hide console window when a sub-process is created under
9783         Windows 95, which obviates the need for the separate runemacs.exe
9784         executable, and finally implemented some variables that were
9785         implemented in Emacs 20.5, but previously not in XEmacs.  These
9786         include mswindows- start-process-share-console and
9787         mswindows-start-process-inherit-error-mode. (Both of these only
9788         apply to Windows 95.)
9789
9790         * regex.c (regex_compile): Fixed a compile warning.
9791
9792         * select-msw.c:
9793         * select-msw.c (mswindows_own_selection):
9794         * select-msw.c (mswindows_get_foreign_selection):
9795         * select-msw.c (mswindows_disown_selection):
9796         * select-msw.c (console_type_create_select_mswindows):
9797         * select-msw.c (syms_of_select_mswindows):
9798         Cleaned up the file and implemented the device method
9799         selection_exists_p, which had accidentally been left out.  Also
9800         removed four lisp functions that were remnants from before the
9801         time when the selection code was properly device abstracted.
9802         These functions are no longer needed because there are generic
9803         equivalents, and because they were added recently and don't exist
9804         in FSF Emacs, I don't think there's any problem with just deleting
9805         them.
9806
9807         * sysdep.c:
9808         * sysdep.c (sys_subshell):
9809         Fixed a compile warning, although in this case there's probably
9810         something wrong with this code, and it ought to be looked into
9811         more thoroughly by somebody who understands it.
9812
9813         * window.c:
9814         * window.c (Fwindow_text_area_height):
9815         * window.c (Fwindow_width):
9816         * window.c (Fwindow_full_width):
9817         * window.c (Fwindow_pixel_width):
9818         * window.c (debug_print_window):
9819         * window.c (syms_of_window):
9820         Added functions window-text-area-height and window-full-width,
9821         which are functions for returning various width and height
9822         characteristics of a window. (One of these functions is necessary
9823         for making the file dialog box work correctly, and the other one
9824         was added for completeness.)  Also added a table to the
9825         documentation for window-height which describes the entire scheme
9826         for accessing width and height characteristics of a window.
9827
9828 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9829
9830         * nt.c (fstat): Added a comment for another problem with
9831         non-encapsulated [f]stat(), reported by Adrian Aichner
9832         <aichner@ecf.teradyne.com>.
9833
9834 2000-03-11  Andy Piper  <andy@xemacs.org>
9835
9836         * window.c (make_dummy_parent): initialize subwindow instance
9837         cache.
9838         (Fset_window_configuration): zero extent_modiff.
9839
9840 2000-03-10  Andy Piper  <andy@xemacs.org>
9841
9842         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9843         more changes can be triggered.
9844         (Fredisplay_frame): ditto.
9845         (Fredraw_device): ditto.
9846         (Fredisplay_device): ditto.
9847         (redisplay_frame): make non-static.
9848         (redisplay_frame): call update_frame_gutter_geometry outside of
9849         display proper.
9850
9851         * gutter.h: declare update_frame_gutter_geometry.
9852
9853         * redisplay.h: declare redisplay_frame.
9854
9855         * gutter.c (update_frame_gutter_geometry): move geometry changes
9856         in update_frame_gutters here. Geometry changes can only occur
9857         outside of redisplay.
9858         (update_frame_gutters): remove geometry change code.
9859         (Fredisplay_gutter_area): make sure that we are in display when we
9860         update and that we have flushed any size changes.
9861
9862 2000-03-11  Andy Piper  <andy@xemacs.org>
9863
9864         * alloc.c (pdump_dump_data): remove i & count shadows.
9865
9866 2000-02-27  Mike Alexander  <mta@arbortext.com>
9867
9868         * sysdep.h: Declare pdump_read_file
9869
9870         * sysdep.c (pdump_read_file): New function
9871
9872         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9873         dump data
9874
9875 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9876
9877         * lrecord.h: add `lrecord_type_pgsetenv'.
9878
9879 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9880
9881         * symsinit.h: declare (vars|syms)_of* functions.
9882         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9883
9884 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9885
9886         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9887
9888         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9889         GCCs.
9890
9891         * emacs.c (main_1): Call postgres initialization code.
9892
9893         * postgresql.h: New file.  PostgreSQL RDBMS support.
9894         * postgresql.c: New file.
9895
9896 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9897
9898         * redisplay-output.c (redisplay_output_display_block): Disable
9899         redundant code.
9900
9901 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9902
9903         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9904         (Fcanna_henkan_next): Ditto.
9905         (Fcanna_bunsetu_henkou): Ditto.
9906         (Fcanna_henkan_kakutei): Ditto.
9907         (Fcanna_henkan_end): Ditto.
9908         (Fcanna_henkan_quit): Ditto.
9909         (Fcanna_henkan_next): Set retun value correctly.
9910         (c2mu): Use unsigned char instead of signed char.
9911
9912 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9913
9914         * emacs.c (main_1): Always call syms_of_gui.
9915         * inline.c: include gui.h
9916
9917 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9918
9919         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9920         converted to Lisp_Object.
9921         (Qtop_bottom): New variable.
9922         (syms_of_redisplay): Initialize it.
9923         * redisplay.h (Vvisible_bell): Ditto.
9924         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9925         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9926         only flash top and bottom.
9927
9928 2000-03-08  Andy Piper  <andy@xemacs.org>
9929
9930         * buffer.c (Frename_buffer): record new buffer name the right way.
9931
9932 2000-03-08  Andy Piper  <andy@xemacs.org>
9933
9934         * glyphs.c (update_subwindow): increase hash depth so that widget
9935         items get picked up properly.
9936
9937         * redisplay-output.c (compare_runes): increase hash depth so that
9938         widget items get picked up properly.
9939
9940 2000-03-08  Andy Piper  <andy@xemacs.org>
9941
9942         * gutter.c (output_gutter): add some debug.
9943
9944         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9945         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9946         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9947
9948         * redisplay-output.c (compare_runes): use display_hash to
9949         determine if glyphs really are not the same.
9950
9951         * glyphs.c (update_subwindow): check display_hash to see if
9952         anything really needs to be updated. If not then do
9953         nothing. Record the display_hash after updating.
9954         (image_instance_equal): compare the image_instance face also.
9955
9956 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9957
9958         * redisplay.h: Fix comment style.
9959
9960 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9961
9962         * consle-msw.h (struct mswindows_frame):
9963         Added new member paint_pending to indicate whether a WM_PAINT
9964         magic event has been queued for this frame.
9965
9966         * event-msw.c (mswindows_drain_windows_queue):
9967         Don't queue a WM_PAINT magic event if one is already queued.
9968         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9969
9970         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9971
9972 2000-03-07  Didier Verna  <didier@xemacs.org>
9973
9974         * dired.c: #include `regex.h' after `sysfile.h'.
9975
9976 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9977
9978         * sound.c (init_nas_sound): Fix compiler warning.
9979
9980         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9981         (FREE_STRUCT_P):
9982         (MARK_STRUCT_AS_FREE):
9983         (MARK_STRUCT_AS_NOT_FREE):
9984         Make `gcc -fstrict-aliasing' work properly.
9985
9986 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9987
9988         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9989         (mswindows_delete_device): Call CoUnnitialize().
9990
9991         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9992
9993 2000-02-25    <CraigL@DyCon.com>
9994
9995         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9996         <errno.h>.
9997
9998         * sysdep.c: This extern declaration for environ prevents MinGW
9999         from finding the variable in CRTDLL.DLL.
10000
10001         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10002         windows headers.
10003         (SHGFI_EXETYPE): ..
10004         (WM_MOUSEWHEEL): ..
10005         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10006         definitions.
10007         (MMRESULT): Removed, now defined in cygwin's windows headers.
10008         (TIMECAPS): ..
10009         (uid_t,gid_t,pid_t,ssize_t): ..
10010         (_timeb): Removed, MinGW defines both _timeb and timeb.
10011         (HAVE_H_ERRNO): Added.
10012         (HAVE_TZNAME): Added, configure is not detecting this.
10013
10014 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10015
10016         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10017         * syntax.c (syntax_match): Use it.
10018
10019         * cmds.c: Import auto-fill-chars from FSF Emacs.
10020         (Vauto_fill_chars): New variables.
10021         (internal_self_insert): Check Vauto_fill_chars.
10022         (vars_of_cmds):
10023         Declare auto-fill-chars as a Lisp variable and initialize it.
10024
10025 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10026
10027         * fileio.c (Fmake_symbolic_link):
10028         (Ffile_symlink_p):
10029         Run handlers even if local machine doesn't have symlinks.
10030
10031 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10032
10033         * event-msw.c (mswindows_drain_windows_queue):
10034         Don't generate paint magic events for non-XEmacs frames.
10035
10036 2000-03-05  Andy Piper  <andy@xemacs.org>
10037
10038         * redisplay.c (redisplay_frame): generate_displayable_area and
10039         friends assumes that we are not in GC, we therefore have to make
10040         sure that this doesn't happen.
10041
10042         * gutter.c (calculate_gutter_size): generate_displayable_area
10043         assumes that we are not in GC, we therefore have to make sure that
10044         this doesn't happen.
10045
10046 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10047
10048         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10049
10050 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10051
10052         * redisplay.c (regenerate_window): Make sure we set a sane value
10053         for end_pos even if we jump out of the loop.
10054         (regenerate_window): Answer Ben's question :-).
10055         (start_end_of_last_line): Add may_error argument.
10056         (start_of_last_line):
10057         (end_of_last_line): Pass may_error = 0.
10058         (end_of_last_line_may_error): New function.
10059         (pixel_to_glyph_translation): Use it, so we don't crash in
10060         event_to_glyph.
10061
10062 2000-03-04  Andy Piper  <andy@xemacs.org>
10063
10064         * window.h (struct window): add gutter_extent_modiff.
10065
10066         * window.c (allocate_window): zero out gutter_extent_modiff.
10067
10068         * redisplay.h: declare sync_display_line_structs.
10069
10070         * redisplay.c (add_glyph_rune): add a better comment.
10071
10072         * redisplay-output.c (sync_display_line_structs): made non-static.
10073         (compare_runes): remove unneccesary glyph cachel access.
10074
10075         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10076
10077         * gutter.c (output_gutter): don't output the gutter if extent
10078         changes only involve extents in buffers. use 4 sets of display
10079         lines.
10080         (gutter_extent_signal_changed_region_maybe): new function. Mark
10081         extents in gutters as changed.
10082         (update_frame_gutters): use 4 sets of display lines.
10083         (reset_gutter_display_lines): ditto.
10084         (free_frame_gutters): ditto.
10085         (redraw_exposed_gutter): force output of gutters.
10086
10087         * frame.h (struct frame): add 4 sets of gutter display lines.
10088
10089         * extents.c: (extent_changed_for_redisplay): signal changes to
10090         extents in strings in the gutter as well as extents in buffers.
10091
10092 2000-03-02  Andy Piper  <andy@xemacs.org>
10093
10094         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10095
10096         * frame.c (Fmake_frame): make sure the gutters get initialized
10097         after the frame is visible.
10098         (set_frame_selected_window): re-arrange compilation macros a
10099         little.
10100         (change_frame_size_1): mark gutters changed.
10101
10102         * device.c (Fset_device_class): mark gutters changed.
10103
10104 2000-03-01  Andy Piper  <andy@xemacs.org>
10105
10106         * window.c (window_top_frame_gutter_height): deleted.
10107         (window_bottom_frame_gutter_height): ditto.
10108         (window_left_frame_gutter_height): ditto.
10109         (window_right_frame_gutter_height): ditto.
10110         (window_top_gutter_height): don't use them.
10111         (window_bottom_gutter_height): ditto.
10112         (window_left_gutter_width): ditto.
10113         (window_right_gutter_width): ditto.
10114         (Fsplit_window): ditto.
10115         (Fwindow_pixel_edges): don't use border dimensions here.
10116
10117         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10118         (update_scrollbar_instance): ditto.
10119
10120         * redisplay.c (generate_modeline): don't take gutters into account.
10121         (generate_modeline): ditto.
10122         (redisplay_frame): small gutter display optimization.
10123
10124         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10125
10126         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10127         gutters into account.
10128
10129         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10130         for window position and type.
10131
10132         * gutter.c (get_gutter_coords): fix for frame gutters.
10133         (update_frame_gutters): update frame geometry if the gutters have
10134         changed.
10135         (init_frame_gutters): record current gutter geometries.
10136
10137         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10138         var.
10139         (mswindows_widget_instantiate): ditto.
10140
10141         * frame.h (struct frame): add current_gutter_bounds.
10142
10143         * frame.c (change_frame_size_1): position window and minibuffer
10144         appropriately taking into account the frame gutters.
10145
10146         * frame-x.c: (x_initialize_frame_size): take into account the
10147         frame gutters.
10148
10149 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10150
10151         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10152
10153 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10154
10155         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10156
10157 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10158
10159         * file-coding.c (reset_decoding_stream): Clear previous
10160         detection state when autodetect.
10161
10162 2000-02-29  Didier Verna  <didier@xemacs.org>
10163
10164         * extents.c (set_extent_glyph_1): don't require extents to be
10165         attached.
10166
10167 2000-02-27  Andy Piper  <andy@xemacs.org>
10168
10169         * gutter.c (Fset_default_gutter_position): don't default left and
10170         right gutter visibility to t.
10171         (Fset_default_gutter_position): run
10172         default-gutter-position-changed-hook.
10173         (syms_of_gutter): add default-gutter-position-changed-hook.
10174
10175 2000-02-26  Andy Piper  <andy@xemacs.org>
10176
10177         * specifier.c (Fmake_specifier): add gutter references.
10178
10179         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10180
10181         * lisp.h: declare Fvalid_plist_p.
10182
10183         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10184         as changed.
10185         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10186         well as its visibility so that it gets reconstructed.
10187         (construct_window_gutter_spec): new function. Construct a string
10188         to be displayed in the gutter from a plist of strings. Take care
10189         to only use elements that are declared as visible.
10190         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10191         WINDOW_GUTTER.
10192         (gutter_validate): allow plists of strings in the specifier.
10193         (gutter_specs_changed): construct the real_gutter from the gutter
10194         specs using construct_window_gutter_spec.
10195         (gutter_visible_validate): gutter-visible is a new specifier type.
10196         (Fgutter_visible_specifier_p): new function for the new specifier.
10197         (syms_of_gutter): declare gutter-visible and
10198         Fgutter_visible_specifier_p.
10199         (specifier_type_create_gutter): intitalize new gutter-visible
10200         specifier.
10201         (reinit_specifier_type_create_gutter): ditto.
10202         (specifier_vars_of_gutter): use new specifier type for gutter
10203         visibility.
10204         (init_frame_gutters): construct real_gutter correctly.
10205         (Fgutter_specifier_p): beef up documentation.
10206         (Fgutter_size_specifier_p): ditto.
10207
10208         * winslots.h: add real_gutter slots.
10209
10210 2000-02-25  Andy Piper  <andy@xemacs.org>
10211
10212         * device-msw.c: Be kind to older cygwin versions. From Raymond
10213         Toy <toy@rtp.ericsson.se>.
10214
10215         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10216         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10217
10218 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10219
10220         * elhash.c (MARK_OBJ): Practice macro hygiene.
10221
10222 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10223
10224         * miscplay.c: s/__inline__/inline/g;
10225         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10226         (get_device_compdc): INLINE ==> static inline
10227         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10228         find -name '*.h' | \
10229         xargs global-replace \
10230         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10231
10232 2000-02-25  Andy Piper  <andy@xemacs.org>
10233
10234         * window.c (window_top_frame_gutter_height): new function.
10235         (window_top_window_gutter_height): ditto.
10236         (window_top_gutter_height): use them.
10237         (window_bottom_frame_gutter_height): new function.
10238         (window_bottom_window_gutter_height): ditto.
10239         (window_bottom_gutter_height): use them.
10240         (window_left_window_gutter_width): new function.
10241         (window_left_frame_gutter_width): ditto.
10242         (window_left_gutter_width): use them.
10243         (window_right_window_gutter_width): new function.
10244         (window_right_frame_gutter_width): ditto.
10245         (window_right_gutter_width): use them.
10246         (window_pixel_height): new function. calulate window pixel height
10247         with frame gutter involvement.
10248         (Fsplit_window): calculate new sizes taking frame gutters into
10249         account.
10250         (window_char_height_to_pixel_height): don't include frame gutters.
10251         (window_char_height): use window_pixel_height.
10252         (window_pixheight): rename from window_pixel_height.
10253         (change_window_height): use it.
10254         (window_pixel_height_to_char_height): don't include frame gutters.
10255         (window_char_width_to_pixel_width): ditto.
10256
10257 2000-02-25  Andy Piper  <andy@xemacs.org>
10258
10259         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10260         if it is.
10261
10262 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10263
10264         * alloc.c (staticpro):
10265         (staticpro_nodump):
10266         (dumpstruct):
10267         (dumpopaque):
10268         (pdump_wire):
10269         (pdump_wire_list):
10270         (compact_string_chars):
10271         (pdump_dump_wired):
10272         Convert:  if (foo) abort();  ==>  assert (! foo);
10273
10274         * eldap.c (Fldap_search_basic):
10275         (Fldap_add):
10276         (Fldap_modify):
10277         (Fldap_delete):
10278         Fix compiler warnings, and possible crashes if (random) return
10279         value were to be used.
10280
10281 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10282
10283         * device-msw.c: Workaround ResetDC failure.
10284
10285         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10286         applying a devmode.
10287
10288         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10289         (mswindows_text_width): Do not start printer page.
10290
10291         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10292
10293         * glyphs-msw.c: Added image methods to msprinter console and
10294         msprinter-specific image instantiation.
10295
10296 2000-02-20  Mike Alexander  <mta@arbortext.com>
10297
10298         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10299         to avoid crashes when selection-sets-clipboard is on
10300         (mswindows_own_selection): ditto
10301
10302 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10303
10304         * glyphs-msw.c:
10305         * redisplay-msw.c (get_frame_dc):
10306         (get_frame_compdc):
10307         * console-msw.h:
10308         * device-msw.c (mswindows_init_device):
10309         (mswindows_delete_device):
10310         (msprinter_init_device):
10311         (msprinter_delete_device):
10312         * frame-msw.c (mswindows_init_frame_1):
10313         (mswindows_delete_frame):
10314         (msprinter_init_frame_3):
10315         (msprinter_delete_frame): Move compatible DC to device object from
10316         frame object, for both mswindows and msprinter. Only one at a time
10317         is needed, it is a real waste to have one per frame!
10318
10319 2000-02-23  Andy Piper  <andy@xemacs.org>
10320
10321         * glyphs.c: add dynamic width and height elements.
10322         (image_instance_equal): ditto.
10323
10324         * glyphs-widget.c (widget_query_geometry): calculate width and
10325         height dynamically if required.
10326         (initialize_widget_image_instance): initialize dynamic dimensions.
10327         (widget_instantiate): pick-up dynamic dimensions.
10328
10329         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10330         dynamic determination. Add appropriate macros.
10331
10332         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10333         dimensions safe.
10334         (WINDOW_GUTTER_SIZE): ditto.
10335         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10336
10337         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10338         inline.
10339         (get_frame_dc): ditto.
10340
10341         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10342         here.
10343
10344 2000-02-23  Martin Buchholz <martin@xemacs.org>
10345
10346         * XEmacs 21.2.31 is released.
10347
10348 2000-02-22  Ben Wing <ben@xemacs.org>
10349
10350         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10351
10352 2000-02-22  Andy Piper  <andy@xemacs.org>
10353
10354         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10355
10356 2000-02-21  Mike Sperber <mike@xemacs.org>
10357
10358         * .dbxrc:
10359         * .gdbinit:
10360         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10361         variables.
10362
10363 2000-02-21  Mike Sperber <mike@xemacs.org>
10364
10365         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10366
10367 2000-02-21  Martin Buchholz <martin@xemacs.org>
10368
10369         * XEmacs 21.2.30 is released.
10370
10371 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10372
10373         Performance hacking.
10374         * *.c (syms_of_*):
10375         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10376         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10377         * emacs.c (main_1):
10378         * lisp.h (DEFUN):
10379         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10380         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10381         * symeval.h (DEFVAR_SYMVAL_FWD):
10382         * symbols.c (guts_of_unbound_marker):
10383         Make all c_readonly objects also lisp_readonly and marked for life.
10384         * lrecord.h (struct lrecord_implementation):
10385         Document flags better.
10386         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10387         * lrecord.h (DECLARE_LRECORD):
10388         * lrecord.h (XSETRECORD):
10389         * lrecord.h (RECORDP):
10390         * lrecord.h (RECORD_TYPEP):
10391         * lrecord.h (RECORD_MARKER): New.
10392         * lrecord.h (error_check_*):
10393         * lrecord.h (CONCHECK_NONRECORD):
10394         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10395         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10396         * lrecord.h (set_lheader_implementation):
10397         * lrecord.h (enum lrecord_type): New.
10398         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10399         * alloc.c (disksave_object_finalization_1):
10400         * alloc.c (mark_object):
10401         * alloc.c (lrecord_type_index):
10402         * alloc.c (tick_lcrecord_stats):
10403         * alloc.c (Fgarbage_collect):
10404         * alloc.c (init_alloc_once_early):
10405         * alloc.c (pdump_load):
10406         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10407         * alloc.c (lrecord_type_index): Delete.
10408         Make lisp object type indexes be constant.
10409           Makes (byte-compile) 5% faster.
10410         Put all marker functions into their own array.
10411           Makes (garbage-collect) 5% faster.
10412         Optimize SYMBOL_VALUE_MAGIC_P.
10413           Makes (byte-compile) 2-3% faster.
10414         * config.h.in (gc_checking_assert): New.
10415         * alloc.c: Use gc_checking_assert().
10416         * .dbxrc: Make compatible with new object type implementation.
10417         * .gdbinit: Make compatible with new object type implementation.
10418         * alloc.c: Delete all symbols defined only for debugging, such as
10419         Lisp_Type_Vector and lrecord_charset.
10420
10421 2000-02-21  Andy Piper  <andy@xemacs.org>
10422
10423         * gui-msw.c (Fmswindows_shell_execute): fix file location
10424         problems.
10425
10426         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10427         unshowing so that set_window_buffer doesn't undo
10428         kill_buffer_hook's hard work.
10429
10430         * glyphs-widget.c (tab_control_query_geometry): don't count the
10431         first item when calculating geometry.
10432
10433         * glyphs.c (map_subwindow): remove redundant code.
10434         (update_frame_subwindows): be more circumspect about when to
10435         update subwindows.
10436
10437         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10438         when items haven't changed. Update faces if faces have changed as
10439         well as just the widget face.
10440         (x_tab_control_update): Update faces if faces have changed as well
10441         as just the widget face.
10442
10443 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10444
10445         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10446         registration.
10447         (build_syscolor_string): Use mswindows_color_to_string to try to
10448         get a named color.
10449         (mswindows_device_system_metrics): Reverse the foreground and
10450         background colors so that they match the documentation.
10451
10452         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10453         they match the default Windows palette.
10454         (mswindows_color_to_string): New function.
10455
10456 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10457
10458         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10459
10460 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10461
10462         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10463         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10464
10465         * symbols.c (init_symbols_once_early): Removed obsolete
10466         DATA_SEG_BITS related kludge.
10467         (defvar_magic): Ditto.
10468
10469         * malloc.c: Removed obsolete DATA_SEG_BITS
10470         * ralloc.c: Ditto.
10471         * mem-limits.h: Ditto.
10472
10473         * Makefile.in.in: Removed obsolete HAVE_SHM
10474         * emacs.c: Ditto.
10475
10476 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10477
10478         *  device-msw.c (mswindows_delete_device): Free DDE string
10479         handles.
10480
10481 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10482
10483         * keymap.c (get_keyelt):
10484         * unexnt.c (unexec):
10485         * vm-limit.c (memory_warnings):
10486         * ntheap.c (recreate_heap):
10487         * ntheap.h (UNINIT_PTR):
10488         * select-msw.c (Fmswindows_get_clipboard):
10489         (Fmswindows_set_clipboard):
10490         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10491         * objects-msw.c:
10492         * menubar-msw.c (displayable_menu_item):
10493         * glyphs-msw.c:
10494         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10495         * sysdep.c (sys_subshell):
10496         * process-nt.c (nt_create_process):
10497         * nt.c (normalize_filename):
10498         (dostounix_filename):
10499         (unixtodos_filename):
10500         * ntproc.c (win32_executable_type):
10501         * ntplay.c (play_sound_data_1):
10502         (play_sound_file):
10503         * editfns.c (get_home_directory):
10504         * event-msw.c (struct winsock_stream):
10505         (mswindows_dde_callback):
10506         * device-msw.c (msprinter_init_device):
10507         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10508
10509         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10510         mswindows_clear_toolbar were swapped!
10511
10512         * objects-msw.c:(colormap_t):
10513         (fontmap_t):
10514         * emacs.c (struct standard_args): Fixed const jumble.
10515
10516         * glyphs-widget.c (update_widget): Fixed comparison notation.
10517
10518         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10519
10520         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10521         __declspec(noreturn) syntax.
10522
10523 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10524
10525         * eldap.c (Fldap_open):
10526         (Fldap_search_basic):
10527         (Fldap_add):
10528         (Fldap_modify):
10529         Use new coding system conversion macros.
10530
10531 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10532
10533         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10534
10535 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10536
10537         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10538         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10539
10540         * eldap.c (Qadd, Qreplace): New constant symbols
10541         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10542         interruptions by XEmacs signals
10543         Remove unnecessary calls to slow_down_interrupts and
10544         speed_up_interrupts
10545         (Fldap_search_basic): Renamed from Fldap_search_internal
10546         Added new optional parameter VERBOSE that triggers the
10547         display of progress messages
10548         Remove unnecessary calls to slow_down_interrupts and
10549         speed_up_interrupts
10550         LDAP result code analysis rewritten
10551         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10552         (syms_of_eldap): Define the new symbols and functions
10553
10554
10555 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10556
10557         * realpath.c: Determine PATH_MAX maximally portably.
10558
10559         * insdel.c (bytecount_to_charcount): Optimize.
10560         The function used to be optimized for entirely ASCII sequences.
10561         Now it is optimized for successive characters from the same
10562         charset.  This also wins big for _mostly_ ASCII sequences.
10563
10564         * fileio.c (Ffile_truename): convert return from realpath() using
10565         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10566         - Rewrite GCPROing slightly.
10567
10568         * sysdep.c (sys_open): Do filename conversion, like all other
10569         sys_* functions.  Fixes bug:
10570         (let ((file-name-coding-system 'iso-8859-2))
10571            (write-region x y latin2-name))
10572         ==> writes filename using internal encoding.
10573
10574 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10575
10576         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10577         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10578         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10579         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10580         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10581         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10582         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10583         (CONST_IF_NOT_DEBUG): Delete.
10584         * alloc.c (this_one_is_unmarkable): Delete.
10585         (mark_object): Don't check for this_one_is_unmarkable. Use the
10586         c_readonly flag instead.
10587         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10588
10589 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10590
10591         * event-msw.c (mswindows_drain_windows_queue):
10592         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10593         away redundant repaint events.
10594
10595 2000-02-17  Andy Piper  <andy@xemacs.org>
10596
10597         * redisplay.h: declare mark_redisplay_structs.
10598
10599         * redisplay.c (redisplay_window):
10600         (redisplay_frame): don't check subwindows_state_changed.
10601         (mark_redisplay): mark gutters here.
10602
10603         * glyphs.c: (instantiate_image_instantiator): always layout if we
10604         haven't done so already.
10605         (allocate_image_instance): don't mark as dirty.
10606         (update_subwindow): bind inhibit_quit.
10607
10608         * gutter.c (mark_gutters): new function.
10609
10610         * glyphs-x.c (x_update_widget): Always resize to get round a
10611         widget bug.
10612
10613         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10614         breaking absolutely everything.
10615
10616         * gutter.h: declare mark_gutters.
10617
10618 2000-02-16  Martin Buchholz <martin@xemacs.org>
10619
10620         * XEmacs 21.2.29 is released.
10621
10622 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10623
10624         * fns.c (size_bit_vector): Fix computation of the size.
10625
10626 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10627
10628         * *.[ch]: Change CONST to const globally.
10629         find -name '*.[ch]' | \
10630         xargs global-replace \
10631         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10632         - Remove vestigial references to CONST_IS_LOSING
10633
10634 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10635
10636         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10637         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10638         events instead of dispatching them directly.
10639         (mswindows_handle_paint): New function to do repainting.
10640         (mswindows_wnd_proc):
10641         (emacs_mswindows_handle_magic_event): Call above function.
10642
10643 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10644
10645         * objects-msw.c (mswindows_create_font_variant): Return the new
10646         font handle.
10647         (initialize_font_instance): Get font metrics from the underlined
10648         variant of the font to cope with the case where the underlined
10649         font has a bigger descent.
10650
10651 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10652
10653         * gui.c (gui_item_accelerator): Return the first underlined
10654         character in item name.
10655
10656 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10657
10658         * lisp.h: Added Qprinter.
10659
10660         * general.c (syms_of_general): Initialized it.
10661
10662         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10663         (get_frame_dc):
10664         (get_frame_compdc): Made inline.
10665
10666         * console.h (struct console_methods): Added eject_page method.
10667
10668         * frame.h: Added FRAME_DISPLAY_P and friends.
10669         Aligned backslahes in many macros in more readable fashion.
10670         Added page_number to struct frame, and an accessor macro
10671         for it.
10672
10673         * defice.h: Added DEVICE_DISPLAY_P and friends.
10674
10675         * device.c (Fdevice_printer_p): Used these.
10676
10677         * frame.c (allocate_frame_core): Initialize page number.
10678         (Fprint_job_page_number):
10679         (Fprint_job_eject_page): Implemented.
10680
10681         * frame-msw.c (msprinter_eject_page): Added method.
10682         (msprinter_start_page): Added.
10683
10684         * window.c (Fwindow_truncated_p): Fixed docstring.
10685         (Fwindow_last_line_visible_height): Implemented.
10686
10687 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10688
10689         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10690
10691 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10692
10693         * syntax.c (scan_words): Always advance at least one character.
10694
10695 2000-02-13  Andy Piper  <andy@xemacs.org>
10696
10697         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10698         to make sure the glyph is in the cachels.
10699
10700         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10701         global image instance flag.
10702         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10703         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10704
10705         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10706         (Fset_image_instance_property): mark layout as changed.
10707         (invalidate_glyph_geometry_maybe): mark layout as changed.
10708         (glyph_width): use new NEEDS_LAYOUT macro.
10709         (glyph_ascent): ditto.
10710         (glyph_descent): ditto.
10711         (glyph_height): ditto.
10712         (image_instance_layout): mark layout as clean after laying out.
10713         (update_subwindow): don't mark layout as clean here.
10714
10715         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10716         should no longer be needed.
10717
10718         * glyphs-x.c (x_update_widget): sanitize asserts.
10719         (x_finalize_image_instance): sanitize assignment to widgets.
10720
10721         * glyphs-widget.c (widget_instantiate): don't need to clear the
10722         layout flag here.
10723
10724 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10725
10726         * sysdep.c (getcwd): Use standard prototype.
10727         * sysdep.h (getcwd): Use standard prototype.
10728
10729         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10730         (sequence, start, end).
10731         Remove redundant type checking.
10732         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10733         view of `caller-protects') to avoid a crash where the real fix was
10734         found elsewhere.
10735
10736 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10737
10738         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10739
10740         * s/sol2.h: Remove feature macro initialization.
10741
10742         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10743         (vector_hash): New.  Code from internal_hash.
10744         * lrecord.h:
10745         Fix up allocation subsystem comments.
10746
10747         * config.h.in: Add __EXTENSIONS__ for Solaris.
10748
10749         * systime.h (EMACS_GETTIMEOFDAY): New.
10750         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10751         Remove Solaris-specific code.
10752         Use void* for the (ignored) second arg for gettimeofday().
10753
10754         * elhash.c (hash_table_hash): Implement it, finally.
10755         * elhash.c:  Use hashcode_t.
10756
10757         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10758         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10759
10760         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10761         * fns.c (size_bit_vector):
10762         * alloc.c (size_vector):
10763         (make_vector_internal):
10764         (make_bit_vector_internal):
10765         (sweep_bit_vectors_1):
10766         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10767
10768 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10769
10770         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10771         Include strings.h to avoid warnings for bzero and strcasecmp.
10772
10773 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10774
10775         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10776         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10777
10778         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10779         sequence.
10780
10781 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10782
10783         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10784         use a value field instead.
10785         (symbol_value_forward_forward): Use value field.
10786         (DEFVAR_SYMVAL_FWD): Use value field.
10787         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10788         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10789         (DEFVAR_CONST_INT): Ditto.
10790         (DEFVAR_BOOL): Ditto.
10791         (DEFVAR_CONST_BOOL): Ditto.
10792         (DEFVAR_INT_MAGIC): Ditto.
10793         (DEFVAR_BOOL_MAGIC): Ditto.
10794
10795         * symbols.c (guts_of_unbound_marker): Use value field.
10796         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10797         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10798
10799         * lisp.h: Declare dumpopaque and noninteractive1.
10800
10801         * alloc.c (dumpopaque): Added.
10802         (pdump_dump_opaquevec): Added.
10803         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10804         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10805         noninteractive.
10806
10807 2000-02-10  Andy Piper  <andy@xemacs.org>
10808
10809         * glyphs.c (image_instance_layout): if the size changes, mark it
10810         as such.
10811
10812         * redisplay-output.c (redisplay_output_layout): Update the
10813         subwindow here.
10814         (redisplay_output_subwindow): ditto.
10815
10816         * glyphs.c (update_subwindow): make sure we reset flags for
10817         layouts as well as everything else.
10818
10819         * glyphs-widget.c (layout_layout): don't need to set the instances
10820         dimensions here.
10821
10822 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10823
10824         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10825         not HAVE_DLOPEN, which is a lower-level thing.
10826
10827         * .cvsignore: Ignore gmon.out
10828
10829 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10830
10831         * .cvsignore: Ignore portable dumper xemacs.dmp file
10832
10833 2000-02-09  Andy Piper  <andy@xemacs.org>
10834
10835         * redisplay-output.c (redisplay_output_layout): be more clever
10836         about when we output based on the changed flags.
10837
10838         * glyphs.h (struct image_instantiator_methods): add update_method.
10839         (struct Lisp_Image_Instance): add changed flags. Declare new
10840         macros for manipulating them.
10841
10842         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10843         (image_instance_parent_glyph): find an image_instance's parent
10844         glyph or image_instance.
10845         (image_instance_layout): mark the size as changed.
10846         (set_image_instance_dirty_p): new function. mark an image
10847         instance, plus all of its parents, as dirty.
10848         (Fset_image_instance_property): use it.
10849         (Fglyph_animated_timeout_handler): use it.
10850         (update_subwindow): call update_widget and device methods for
10851         update_subwindow. Mark all changed flags as clean.
10852         (Fresize_subwindow): mark size as changed.
10853
10854         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10855         failures.
10856         (x_update_subwindow): only resize subwindows here.
10857         (x_update_widget): new function. Update all changed properties of
10858         a widget.
10859         (x_resize_subwindow): deleted.
10860         (x_widget_set_property): deleted.
10861         (x_progress_gauge_set_property): deleted.
10862         (x_progress_gauge_update): new function. Implement recorded
10863         changes.
10864         (x_tab_control_update): ditto.
10865         (x_tab_control_set_property): deleted.
10866         (console_type_create_glyphs_x): declare new functions.
10867         (image_instantiator_format_create_glyphs_x): ditto.
10868
10869         * glyphs-widget.c (widget_set_property): mark text changed.
10870         (update_widget): new function. Update properties of a widget.
10871         (widget_instantiate): for layouts make sure we set their
10872         children's parent correctly.
10873         (tab_control_set_property): new function. Record changes that will
10874         take place under redisplay's control.
10875         (progress_gauge_set_property): ditto.
10876         (image_instantiator_progress_guage): declare new functions.
10877         (image_instantiator_tab_control): ditto.
10878
10879         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10880         now.
10881         (mswindows_update_widget): new function. Update all properties on
10882         a widget that have changed.
10883         (mswindows_button_update): new function. Update a button's set
10884         state.
10885         (mswindows_tab_control_update): new function. Update the items in
10886         a tab.
10887         (mswindows_tab_control_set_property): deleted.
10888         (mswindows_progress_gauge_update): new function. Update the
10889         progress gauge's progress.
10890         (mswindows_widget_set_property): deleted. This is all done
10891         asynchronously now.
10892         (mswindows_progress_gauge_set_property): ditto.
10893         (console_type_create_glyphs_mswindows): declare new methods.
10894         (image_instantiator_format_create_glyphs_mswindows): ditto.
10895
10896         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10897         (msprinter_set_frame_properties): ditto.
10898
10899         * console.h (struct console_methods): Add update_widget_method.
10900
10901 2000-02-09  Andy Piper  <andy@xemacs.org>
10902
10903         * gui-msw.c (Fmswindows_shell_execute): Make
10904         mswindows-shell-execute industrial strength.
10905
10906 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10907
10908         * lrecord.h: Make macro argument `props' match member function `plist'.
10909         * fns.c (Fget):
10910         * fns.c (Fput):
10911         * fns.c (Fremprop):
10912         * fns.c (Fobject_plist):
10913         * alloc.c:
10914         * symbols.c:
10915         Object property list frobbing cleanup.
10916         - Allow any lisp object (compared with `eq'), not just symbols, as
10917           keys in object plists.
10918         - Move symbol plist frobbing into symbols.c, where it belongs.
10919         - Move string plist frobbing into alloc.c, where it belongs.
10920         - Everything's an lrecord now, so no need to test for symbolp, etc.
10921         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10922
10923         * extents.c: Reorder code to remove declarations.
10924
10925         * frame.h (store_in_alist): Remove useless declaration.
10926
10927 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10928
10929         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10930         * config.h.in: Add HAVE_XCONVERTCASE.
10931
10932 2000-02-07  Andy Piper  <andy@xemacs.org>
10933
10934         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10935         it breaks many things.
10936
10937 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10938
10939         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10940         actually can start a common comment type.
10941         * src/syntax.h (SYNTAX_END_P): ditto for end.
10942
10943 2000-02-07  Martin Buchholz <martin@xemacs.org>
10944
10945         * XEmacs 21.2.28 is released.
10946
10947 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10948
10949         * event-Xt.c (x_keysym_to_character): New.
10950         (maybe_define_x_key_as_self_inserting_character): New.
10951         (x_has_keysym): New.
10952         Auto-define all keys on the keyboard as self-insert-key.
10953
10954 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10955
10956         * menubar.c (vars_of_menubar): A small code simplification.
10957
10958         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10959
10960         * ExternalShell.c:
10961         * ExternalClient.c:
10962         * EmacsShell-sub.c:
10963         * EmacsManager.c:
10964         * EmacsFrame.c:
10965         Use consistent style for specifying X resources.
10966
10967         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10968         This makes (dontusethis-set-symbol-value-handler) actually usable.
10969
10970         * lrecord.h (lrecord_decription_type):
10971         * alloc.c (pdump_register_sub):
10972         (pdump_dump_data):
10973         (pdump_reloc_one):
10974         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10975         Comply with XEmacs coding style.
10976         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10977         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10978
10979         * keymap.c (Faccessible_keymaps):
10980         Make (accessible-keymaps map "\C-h") do the Right Thing.
10981         Make (accessible-keymaps map []) do the Right Thing.
10982         Make (accessible-keymaps map "") do the Right Thing.
10983         (check_keymap_definition_loop): New function.
10984         (keymap_store_internal): Keep luser from shooting self in foot,
10985           via (define-key ctl-x-4-map "p" global-map).
10986         Remove fullness slot from struct Lisp_Keymap, since hash tables
10987         are now reliable.
10988         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10989
10990 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10991
10992         * redisplay.c (init_redisplay): Fix small memory leak.
10993         * elhash.h:
10994         * elhash.c (pdump_reorganize_hash_table):
10995         Rename from reorganize_hash_table. Change prototype.
10996         Reuse the original memory for hentries.  Save 100k.
10997         * alloc.c (PDUMP_READ): new macro.
10998         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10999         * alloc.c: No need to #ifndef before #undef.
11000
11001         * print.c: Allow debug_print() to print readably by modifying
11002         debug_print_readably.  Use consistent variable names.
11003
11004         * .dbxrc: Try to get things to work even if stopped in a function
11005         without source available by explicitly specifying source files.
11006 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11007
11008         * unexnt.c (_start): Removed bogus code which caused loading heap
11009         from differrent executable file.
11010         Removed bogus assignment to _fmode, which caused inconsistencies.
11011
11012 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11013
11014         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11015         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11016         Do not preliminary `#define signal sigset'.
11017
11018         * systime.h: Do not prototype environ on windows nt and cygwin,
11019         this conflicts with system header.
11020
11021         * syssignal.h: Use correct define for WINDOWSNT
11022
11023         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11024         with system header.
11025
11026         * sysdep.c (near start of file): Fixed commentary and rearranged
11027         ifdefs in readable order.
11028         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11029         (start_of_text):
11030         (end_of_text):
11031         (end_of_data): Do not compile in if using PDUMP.
11032
11033         * symsinit.h: Prototyped vars_of_nt().
11034
11035         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11036         (find_child_console): Use it.
11037         (sys_kill): Use it.
11038
11039         * ntheap.h: Do not extern os_subtype.
11040
11041         * ntheap.c (cache_system_info): Do not cache unneeded:
11042         nt_major_version, nt_minor_version and os_subtype.
11043         (recreate_heap): Do not compile in when PDUMPing.
11044
11045         * nt.c (geteuid and friends): Use the new varibale
11046         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11047         (init_user_info): Removed the above mentioned hackery.
11048         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11049         stat has been fixed in the C runtime.
11050         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11051
11052         * file-coding.c (struct file_coding_dump): Do not define
11053         ucs_to_mule_table in the struct if not MULE.
11054         (struct struct lrecord_description fcd_description_1): Do not dump
11055         the above.
11056
11057         * emacs.c (main_1): Call vars_of_nt().
11058         (right before Fdump_emacs_data): Don't need lastfile if using both
11059         portabe dumper and system malloc.
11060
11061         * alloc.c (Fmemory_limit): Conditionalized out.
11062         (pdump): Use OPEN_BINARY for the portable dump file.
11063         (pdump_load): Ditto.
11064
11065 2000-02-02  Mike Alexander  <mta@arbortext.com>
11066
11067         * nt.c (convert_time): Set tm_isdst before calling mktime and
11068         avoid calling it at all if the compiler supports 64 bit integers.
11069         Also initialize utc_base_ft before using it.
11070
11071 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11072
11073         * frame.c (change_frame_size_1): Take f->internal_border_width
11074         into consideration when calculating the width of the frame.
11075
11076 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11077
11078         * window.c (frame_min_height):
11079         (frame_size_valid_p):
11080         (frame_pixsize_valid_p): Added.
11081         (check_frame_size): Generalized.
11082
11083         * window.h: Prototyped the above.
11084
11085         * lisp.h:
11086         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11087         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11088         Deleted Vwin32_* and Vbinary_process_* unused variables.
11089
11090         * device-msw.c (msprinter_init_device): Do not get printer font
11091         list; Added DEVMODE functions.
11092
11093         * frame-msw.c: Added lots of printer code.
11094
11095         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11096         general.c.
11097
11098         * console-msw.h: Added more msprinter device private slots.
11099
11100 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11101
11102         * event-msw.c (key_needs_default_processing_p): Added.
11103         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11104
11105 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11106
11107         * glyphs.c (image_instance_layout): Mark image instance as clean
11108         after layout.
11109         (glyph_dirty_p): Removed redundant function.
11110         (invalidate_glyph_geometry_maybe): Added.
11111         (update_glyph_cachel_data): Call it.
11112
11113         * glyphs.h: Prototyped it.
11114
11115         * redisplay.c (add_glyph_rune): Call it.
11116         (redisplay_window): Reset glyphs cachels when frame faces have
11117         changed, thus forcing recomputation of built-in border glyphs.
11118
11119 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11120
11121         * Makefile.in.in: Make portable dumper and purify play well together.
11122         Add imperfect, but better than nothing, support for pdump.
11123         Remove xemacs.dmp when temacs is re-generated.
11124         Don't ignore errors when dumping xemacs.
11125
11126         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11127
11128 2000-01-28  Andy Piper  <andy@xemacs.org>
11129
11130         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11131         (setup_normal_frame): ditto.
11132         (setup_frame_without_minibuffer): ditto.
11133         (setup_minibuffer_frame): ditto.
11134         (delete_frame_internal): ditto.
11135         (Fmake_frame_invisible): ditto.
11136         (Ficonify_frame): ditto.
11137
11138         * window.h: change Fset_window_buffer signature.
11139
11140         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11141         (Fset_window_buffer): allow recording of buffer if the window is
11142         the selected window.
11143         (window_loop): Use new Fset_window signature.
11144
11145 2000-01-23  Daniel Pittman  <daniel@danann.net>
11146
11147         * config.h.in: Added template for `HAVE_ATHENA_3D'
11148
11149 2000-01-29  Andy Piper  <andy@xemacs.org>
11150
11151         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11152
11153         * gutter.c (output_gutter): Don't output if the window isn't live.
11154
11155 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11156
11157         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11158         of 01/12/00: Moved SetFocus back here where it belongs.
11159
11160 2000-01-23  Andy Piper  <andy@xemacs.org>
11161
11162         * s/cygwin32.h: declare printer things.
11163
11164 2000-01-26  Andy Piper  <andy@xemacs.org>
11165
11166         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11167         Alexander.
11168
11169 2000-01-24  Andy Piper  <andy@xemacs.org>
11170
11171         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11172         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11173
11174         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11175
11176         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11177
11178         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11179
11180         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11181         (mswindows_output_display_block): Avoid local shadows.
11182
11183         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11184         (mswindows_enqueue_mouse_button_event): ditto.
11185         (mswindows_handle_gui_wm_command): remove declaration.
11186
11187         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11188         warnings.
11189
11190         * console-msw.h: Avoid shadows.
11191         (mswindows_get_toolbar_button_text):
11192         (emacs_mswindows_create_stream_pair):
11193         (emacs_mswindows_delete_stream_pair):
11194         (mswindows_handle_toolbar_wm_command): declare.
11195
11196         * device-msw.c (build_syscolor_string): Avoid shadows.
11197
11198 2000-01-23  Andy Piper  <andy@xemacs.org>
11199
11200         * glyphs-widget.c (widget_instantiate): reverse the items for
11201         layouts so that children are in the expected order.
11202
11203 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11204
11205         * ralloc.c: safe_bcopy ==> memmove
11206         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11207         * s/msdos.h: Remove BCOPY macros.
11208         * insdel.c (gap_right): Remove BCOPY conditional code.
11209         * insdel.c (gap_left): Remove BCOPY conditional code.
11210         XEmacs demands a working ANSI C compiler - hence memmove.
11211
11212         * regex.c (regex_compile): Remove accidental use of trigraphs.
11213
11214 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11215
11216         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11217         event timestamp.
11218
11219 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11220
11221         * event-msw.c (mswindows_drain_windows_queue): Added the
11222         parameter.
11223         (mswindows_need_event): Commented the call to
11224         mswindows_drain_windows_queue().
11225         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11226         only.
11227
11228         * console-msw.h: Moved a few function prototypes here from
11229         event-msw.c.
11230
11231         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11232         parameter from unsigned short to unsigned long.
11233         (Fmswindows_shell_execute): Added return value.
11234
11235 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11236
11237         * sysdep.c (init_system_name):
11238           process-unix.c (unix_canonicalized_host_name):
11239         Don't call freeaddrinfo() if getaddrinfo() fails.
11240
11241         * process-unix.c (unix_open_unix_network_stream):
11242         Moved the code to get a port # into address loop.
11243
11244 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11245
11246         * buffer.c (reinit_vars_of_buffer):
11247         The right place to initialize conversion_in_dynarr and
11248         conversion_out_dynarr.
11249
11250         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11251
11252         * process-unix.c (unix_canonicalize_host_name): Muleize.
11253         (unix_open_network_stream): Muleize.
11254
11255         * buffer.h: Fix up prototypes for ralloc.c functions.
11256
11257 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11258         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11259         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11260                 instead of gethostbyname()
11261         * process-unix.c: In unix_canonicalize_host_name() and
11262                 unix_open_network_stream(), add code to use getaddrinfo()
11263                 instead of gethostbyname().
11264
11265 2000-01-27  Daniel Pittman <daniel@danann.net>
11266
11267         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11268         libs when built with flat Athena.
11269
11270 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11271
11272         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11273         Use coding standards for function prototypes.
11274
11275 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11276
11277         * dialog-msw.c (push_lisp_string_as_unicode):
11278         * doc.c (unparesseuxify_doc_string):
11279         * dired.c (Fuser_name_completion_1):
11280         * dired.c (Fuser_name_all_completions):
11281         * dired.c (free_user_cache):
11282         * dired.c (user_name_completion):
11283         * console-x.c (get_display_arg_connection):
11284         * minibuf.c (clear_echo_area_internal):
11285         * minibuf.c (echo_area_append):
11286         * eldap.c (Fldap_open):
11287         * eldap.c (Fldap_search_internal):
11288         * frame-x.c (x_set_frame_text_value):
11289         * frame-x.c (x_set_frame_properties):
11290         * frame-x.c (x_create_widgets):
11291         * redisplay-tty.c (term_get_fkeys_1):
11292         * objects-x.c (x_parse_nearest_color):
11293         * objects-x.c (x_valid_color_name_p):
11294         * objects-x.c (x_initialize_font_instance):
11295         * objects-x.c (x_list_fonts):
11296         * objects-x.c (x_find_charset_font):
11297         * tooltalk.c (Fadd_tooltalk_message_arg):
11298         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11299         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11300         * process-unix.c (unix_create_process):
11301         * ntproc.c (sys_spawnve):
11302         * sound.c (Fplay_sound_file):
11303         * sound.c (Fplay_sound):
11304         * buffer.c (init_initial_directory):
11305         * buffer.c (init_buffer):
11306         * editfns.c (init_editfns):
11307         * editfns.c (Ftemp_directory):
11308         * editfns.c (Fuser_full_name):
11309         * editfns.c (uncache_home_directory):
11310         * editfns.c (get_home_directory):
11311         * editfns.c (Fuser_home_directory):
11312         * editfns.c (Fformat_time_string):
11313         * editfns.c (Fcurrent_time_string):
11314         * gui-x.c (button_item_to_widget_value):
11315         * database.c (Fopen_database):
11316         * event-Xt.c (x_to_emacs_keysym):
11317         * event-Xt.c (x_event_to_emacs_event):
11318         * event-Xt.c (describe_event_window):
11319         * event-msw.c (mswindows_wnd_proc):
11320         * glyphs-eimage.c (jpeg_instantiate):
11321         * glyphs-eimage.c (gif_instantiate):
11322         * glyphs-eimage.c (png_instantiate):
11323         * glyphs-eimage.c (tiff_instantiate):
11324         * glyphs-x.c (xbm_instantiate_1):
11325         * glyphs-x.c (x_xbm_instantiate):
11326         * glyphs-x.c (x_xface_instantiate):
11327         * glyphs-x.c (autodetect_instantiate):
11328         * glyphs-x.c (cursor_font_instantiate):
11329         * glyphs-x.c (x_widget_instantiate):
11330         * glyphs-x.c (x_widget_set_property):
11331         * glyphs-x.c (x_widget_property):
11332         * glyphs-x.c (BUILD_GLYPH_INST):
11333         * print.c (write_string_to_stdio_stream):
11334         * print.c (output_string):
11335         * print.c (Falternate_debugging_output):
11336         * print.c (Fexternal_debugging_output):
11337         * glyphs-msw.c (extract_xpm_color_names):
11338         * glyphs-msw.c (mswindows_xpm_instantiate):
11339         * glyphs-msw.c (bmp_instantiate):
11340         * glyphs-msw.c (resource_name_to_resource):
11341         * glyphs-msw.c (mswindows_resource_instantiate):
11342         * glyphs-msw.c (xbm_instantiate_1):
11343         * glyphs-msw.c (mswindows_xbm_instantiate):
11344         * glyphs-msw.c (mswindows_xface_instantiate):
11345         * glyphs-msw.c (mswindows_widget_instantiate):
11346         * glyphs-msw.c (add_tree_item):
11347         * glyphs-msw.c (add_tab_item):
11348         * glyphs-msw.c (mswindows_combo_box_instantiate):
11349         * glyphs-msw.c (mswindows_widget_property):
11350         * glyphs-msw.c (mswindows_combo_box_property):
11351         * glyphs-msw.c (mswindows_widget_set_property):
11352         * console.c (stuff_buffered_input):
11353         * objects-msw.c (mswindows_initialize_color_instance):
11354         * objects-msw.c (mswindows_valid_color_name_p):
11355         * objects-msw.c (mswindows_list_fonts):
11356         * objects-msw.c (mswindows_font_instance_truename):
11357         * bytecode.c (optimize_compiled_function):
11358         * select-x.c (symbol_to_x_atom):
11359         * select-x.c (x_atom_to_symbol):
11360         * select-x.c (hack_motif_clipboard_selection):
11361         * select-x.c (selection_data_to_lisp_data):
11362         * select-x.c (lisp_data_to_selection_data):
11363         * select-x.c (Fx_get_cutbuffer_internal):
11364         * select-x.c (Fx_store_cutbuffer_internal):
11365         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11366         * buffer.h (TO_INTERNAL_FORMAT): New function.
11367         * emacs.c (make_arg_list_1):
11368         * emacs.c (make_argc_argv):
11369         * emacs.c (main_1):
11370         * emacs.c (Fdump_emacs):
11371         * emacs.c (split_string_by_emchar_1):
11372         * file-coding.h:
11373         * lisp.h:
11374         * lstream.h:
11375         * symsinit.h:
11376         * device-x.c (x_init_device):
11377         * device-x.c (Fx_valid_keysym_name_p):
11378         * device-x.c (Fx_get_font_path):
11379         * device-x.c (Fx_set_font_path):
11380         * glyphs.c (bitmap_to_lisp_data):
11381         * glyphs.c (pixmap_to_lisp_data):
11382         * alloc.c (make_ext_string): Use coding system arguments.  Update
11383         all callers.
11384         * alloc.c (build_string):
11385         * callproc.c (child_setup):
11386         * callproc.c (init_callproc):
11387         * fileio.c (lisp_strerror):
11388         * fileio.c (directory_file_name):
11389         * fileio.c (Fexpand_file_name):
11390         * fileio.c (Ffile_truename):
11391         * fileio.c (Fsysnetunam):
11392         * fileio.c (Fdo_auto_save):
11393         * sysdep.c (sys_readdir):
11394         * tests.c: New file.  Allow adding C tests.
11395         Replace GET_* macros with a more comprehensible and flexible
11396         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11397         Modify all calls.
11398         Any coding system can be used to do format conversion.
11399         Eliminate enum external_data_format.
11400         Eliminate convert_to_external_format.
11401         Eliminate convert_to_internal_format.
11402         Make sure file-name, keyboard, terminal, and ctext are always
11403         defined as coding systems or aliases.  Make
11404         file-name-coding-system, terminal-coding-system, and
11405         keyboard-coding-system magical variables that are equivalent to
11406         defining the corresponding coding system aliases.
11407
11408         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11409         * file-coding.c (Fcoding_system_alias_p): New function.
11410         * file-coding.c (Fcoding_system_aliasee): New function.
11411         * file-coding.c (append_suffix_to_symbol): New function.
11412         * file-coding.c (dangling_coding_system_alias_p): New function.
11413         * file-coding.c (Ffind_coding_system):
11414         * file-coding.c (Fcopy_coding_system):
11415         * file-coding.c (encode_coding_no_conversion):
11416         * file-coding.c (syms_of_file_coding):
11417         * file-coding.c (vars_of_file_coding):
11418         Rewrite coding system alias code.
11419         Allow nested aliases, like symbolic links.
11420         Allow redefinition of coding system aliases.
11421         Prevent existence of dangling coding system aliases.
11422
11423         * dired.c (Fuser_name_completion_1):
11424         * dired.c (Fuser_name_all_completions):
11425         A crash would happen if user did QUIT in the middle of building
11426         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11427
11428         * lisp.h:
11429         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11430
11431         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11432         an unsigned char *.  Update all callers.
11433
11434 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11435
11436         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11437
11438 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11439
11440         * elhash.c (hentry_description): Use more portable definition.
11441         (resize_hash_table): Initialize new hentries using
11442         xnew_array_and_zero, thereby simplifying the code.
11443
11444         * mule-charset.c (make_charset): Make sure entire object is
11445         initialized, to avoid Purify warnings.
11446
11447         * alloc.c (resize_string): Fix unlikely crash with big strings.
11448
11449 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11450
11451         * realpath.c (xrealpath):
11452         Don't call getwd().
11453
11454 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11455
11456         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11457
11458 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11459
11460         * unexelfsgi.c (unexec): Change the way we decide which segment
11461         should be extended.
11462
11463         Assumption that .bss section should be outside the PT_LOADable
11464         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11465         it's present) is inside the 'data' segment. This would fail the
11466         test which was used to find a segment to grow and cover new
11467         heap. Instead of this assumption, I created another one - on IRIX
11468         the segment to grow should start below .bss and it's address
11469         should extent above the end of .bss. Once this segment is
11470         identified, it's grown to accommodate the new heap and new
11471         zero-length .bss section is added at the end of .data2.
11472
11473 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11474
11475         * eval.c (Feval): Wrong number of arguments should use original
11476         function, not the indirect_function version of it.
11477
11478 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11479
11480         * glyphs-x.c (x_button_instantiate): Don't add image if
11481         it is not a pixmap.
11482         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11483         is relative.
11484
11485 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11486
11487         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11488         declaration.
11489         (DEFVAR_INT_MAGIC): Ditto.
11490         (DEFVAR_BOOL_MAGIC): Ditto.
11491         * glyphs.h: Reindent backslash.
11492
11493 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11494
11495         * glyphs-widget.c (layout_query_geometry):
11496         (layout_layout): Use correct types for gheight, gwidth.
11497
11498 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11499
11500         * EmacsManager.c (QueryGeometry): Purified.
11501
11502 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11503
11504         * alloc.c (make_float): Make sure entire object is initialized, to
11505         avoid Purify warnings.
11506         (pdump_register_sub): Remove useless assignment.
11507         (pdump): Use xmalloc, not malloc.
11508         (pdump_load): Use xmalloc, not malloc.
11509
11510 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11511
11512         * callproc.c:
11513         * dired-msw.c:
11514         * fileio.c:
11515         * process-nt.c:
11516         * redisplay-msw.c:
11517         * sysdep.c: Removed redundant #include <windows.h>
11518
11519 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11520
11521         * frame.c (delete_frame_internal): Do not delete device when its
11522         implementation so declares.
11523         (delete_frame_internal): Set device selected frame to nil when
11524         last frame goes away.
11525
11526         * device-msw.c (msprinter_device_system_metrics): Implemented.
11527         (mswindows_device_system_metrics): Added 'device-dpi property.
11528
11529         * device.c: (Fdevice_printer_p): Added.
11530         Added 'offset-workspace device metric.
11531
11532         * console.h (device_metrics): Declared DM_offset_workspace.
11533
11534 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11535
11536         * fileio.c (Ffile_truename): Remove pointless and confusing
11537         initialization of elen.
11538
11539         * glyphs-widget.c: Compiler warning fixes.
11540
11541 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11542
11543         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11544         instead of a Lisp_Object as argument to make it consistent with
11545         the other LIVE_P macros.
11546         (CHECK_LIVE_PROCESS): New macro.
11547
11548         * process.c: Declare Qprocess_live_p.
11549         (Fprocess_live_p): New function.
11550         (create_process): Use PROCESS_LIVE_P.
11551         (read_process_output): Ditto.
11552         (set_process_filter): Ditto.
11553         (Fdelete_process): Ditto.
11554         (kill_buffer_processes): Ditto
11555         (process_send_signal): Use CHECK_LIVE_PROCESS.
11556         (Fprocess_input_coding_system): Check whether process is still
11557         alive (fix PR#1061).
11558         (Fprocess_output_coding_system): Ditto.
11559         (Fprocess_coding_system): Ditto.
11560         (Fset_process_input_coding_system): Ditto.
11561         (Fset_process_output_coding_system): Ditto.
11562
11563 2000-01-23  Andy Piper  <andy@xemacs.org>
11564
11565         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11566         layout and widget.
11567
11568         * glyphs.c (mark_image_instance): take into account changed
11569         image_instance format.
11570         (image_instance_equal): ditto.
11571         (image_instance_hash): ditto.
11572
11573         * glyphs-widget.c (widget_instantiate): Incorporate layout
11574         instantiation here. Delay layout of the layout until later.
11575         (layout_instantiate): deleted.
11576         (layout_query_geometry): new function. get the geometry of a
11577         layout.
11578         (layout_layout): layout a layout dynamically.
11579         (image_instantiator_widget): New function - splitting up
11580         image_instantiator_format_create_glyphs_widget for netwinder
11581         compilation.
11582         (image_instantiator_buttons):
11583         (image_instantiator_edit_fields):
11584         (image_instantiator_combo_box):
11585         (image_instantiator_scrollbar):
11586         (image_instantiator_progress_guage):
11587         (image_instantiator_tree_view):
11588         (image_instantiator_tab_control):
11589         (image_instantiator_labels):
11590         (image_instantiator_layout): ditto.
11591         (image_instantiator_format_create_glyphs_widget): Call preceding
11592         functions.
11593
11594 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11595
11596         * process.c (Fset_process_coding_system):
11597         * device-x.c (Fx_keysym_hash_table):
11598         Docstring fixes.
11599
11600         * lstream.c (Lstream_write): Return documented value, not 0.
11601
11602         * fileio.c (directory_file_name):
11603         (Fsubstitute_in_file_name):
11604         (Fsubstitute_insert_file_contents_internal):
11605         (Fwrite_region_internal):
11606         * emacs.c:
11607         * sysdep.c:
11608         * getloadavg.c:
11609         * systty.h:
11610         Remove vestigial APOLLO-conditional code.
11611
11612 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11613
11614         * getpagesize.h: Add guard macros.
11615         * libsst.h: Add guard macros.
11616         * libst.h: Add guard macros.
11617         * line-number.h: Add guard macros.
11618         * ndir.h: Add guard macros.
11619         * sysfloat.h: Add guard macros.
11620         * sysfile.h: Add guard macros.
11621         * sysproc.h: Add guard macros.
11622         * syswait.h: Add guard macros.
11623         * xintrinsic.h: Add guard macros.
11624         * xintrinsicp.h: Add guard macros.
11625         * xmmanager.h: Add guard macros.
11626         * xmmanagerp.h: Add guard macros.
11627         * xmprimitive.h: Add guard macros.
11628         * xmu.h: Add guard macros.
11629         * gpmevent.h: Add copyright statement. Add guard macros.
11630         * miscplay.h: Add guard macros.
11631         * *.h: Use consistent C-standards-approved guard macro names.
11632
11633         * opaque.c (make_opaque): Switch parameter order.
11634         * opaque.h (make_opaque): Switch parameter order.
11635         Update all callers.
11636         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11637
11638         * config.h.in (type_checking_assert): Added.
11639         (bufpos_checking_assert): Added.
11640
11641 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11642
11643         * alloc.c: Harmless pdump changes.
11644         - Use countof().
11645         - spell alignment correctly.
11646         * sysdep.c: Use countof()
11647
11648 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11649
11650         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11651         initially_selected_for_input() console method, default to 0.
11652         (semi_canonicalize_console_connection): Try to delegate to
11653         canonicalize_console_connection if no such console method.
11654         (canonicalize_console_connection): Vice versa.
11655         (print_console): Do not print nil connection.
11656
11657         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11658         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11659         (XDEVIMPF_FRAMELESS_OK): Added.
11660         (CONSOLE_INHERITS_METHOD): Added.
11661
11662         * console-msw.c (mswindows_canonicalize_console_connection):
11663         Added.
11664         (mswindows_canonicalize_device_connection): Added.
11665
11666         * console-msw.h (struct msprinter_device): Added this struct and
11667         accessor macros.
11668         (mswindows_device): Made fontlist a lisp object.
11669
11670         * device.c (semi_canonicalize_device_connection):  Try to delegate
11671         to canonicalize_device_connection if no such console method.
11672         (canonicalize_device_connection): Vice versa.
11673         (print_device): Do not print nil connection.
11674
11675         * device-msw.c (mswindows_init_device): Call InitCommonControls
11676         when have widgets.
11677         (mswindows_delete_device): Removed fontlist deallocation.
11678         (mswindows_mark_device): Added.
11679
11680         * events.c (event_equal): Added abort() at unreached code.
11681         (event_hash): Ditto.
11682
11683         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11684         fallback tags of Windows devices.
11685
11686         * general.c (syms_of_general): Initialized Qmsprinter.
11687
11688         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11689         of fallback tags of Windows devices.
11690
11691         * lisp.h: Declared Qmsprinter.
11692
11693         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11694         of strings.
11695         (mswindows_list_fonts): Ditto.
11696         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11697         that it can be used by both mswindows and msprinter devices.
11698         (initialize_font_instance): Added.
11699         (mswindows_initialize_font_instance): Use it.
11700         (msprinter_initialize_font_instance): Added.
11701
11702         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11703         and implementation flags check.
11704         (redisplay_without_hooks): Changed the call to the above.
11705         (Fredraw_device): Ditto.
11706         (Fredisplay_device): Ditto.
11707
11708         * redisplay-msw.c (get_frame_dc): Implemented.
11709         (get_frame_compdc): Implemented.
11710         (many functions): Use the two functions above to get device
11711         contexts, ether for a window or a printer.
11712
11713 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11714
11715         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11716         initialization here.
11717         (init_symbols_once_early): Call it.
11718         * emacs.c (main_1): Call it.
11719         * symsinit.h: Declare it.
11720
11721 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11722
11723         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11724         Lisp_Object.
11725         (pdump_backtrace): Ditto.
11726         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11727         (pdump_get_entry): Abort if trying to register a null pointer.
11728         (pdump_dump_data): Cleanup types when relocating.
11729         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11730         (pdump_dump_rtables): Remove bad casts.
11731         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11732         Lisp_Object instead of a EMACS_INT for the hashtable
11733         reorganization.
11734
11735 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11736
11737         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11738
11739         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11740
11741         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11742
11743         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11744
11745 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11746
11747         * faces.h (FACE_STRIKETHRU_P): Added.
11748
11749         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11750         of font variants.
11751
11752         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11753         (mswindows_set_dc_font): New function, aware of font variants,
11754         separated from mswindows_update_dc.
11755
11756         * objects-msw.h (struct mswindows_font_instance_data): Added
11757         definition.
11758
11759         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11760         cached fonts and the data structure.
11761         (mswindows_initialize_font_instance): Added creation of font data
11762         structure.
11763         (mswindows_print_font_instance): Print at least something.
11764         (mswindows_create_font_variant): Implemented.
11765         (mswindows_get_hfont): Implemented.
11766
11767 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11768
11769         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11770         prototyping problem with msvc.
11771
11772         * emacs.c (main_1): added syms_of_gui_mswindows() call
11773
11774         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11775         syms_of_gui_mswindows() function
11776
11777         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11778
11779 2000-01-18  Martin Buchholz <martin@xemacs.org>
11780
11781         * XEmacs 21.2.27 is released.
11782
11783 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11784
11785         * glyphs-eimage.c (struct tiff_error_struct):
11786         (tiff_error_func):
11787         (tiff_warning_func):
11788         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11789
11790         * unexmips.c:
11791         * unexhp9k3.c:
11792         * unexfreebsd.c:
11793         * unexec.c: Remove vestigial Lucid C code.
11794         * unexalpha.c:
11795         * unexaix.c:
11796         * termcap.c:
11797         * libsst.c: Ansify.
11798         Remove declarations of errno and strerror().
11799
11800         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11801
11802         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11803
11804 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11805
11806         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11807         Optimize.
11808
11809 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11810
11811         * md5.c:
11812         * file-coding.c:
11813         * file-coding.h:
11814         Change enum eol_type to eol_type_t.
11815
11816 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11817
11818         * gui.c (get_gui_callback): Check cons before accessing car.
11819
11820 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11821
11822         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11823         (XSETSPECIFIER_TYPE): Ditto.
11824
11825 2000-01-17  Didier Verna  <didier@xemacs.org>
11826
11827         * redisplay.c (generate_fstring_runes): compute string size in
11828         characters, not bytes.
11829
11830 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11831
11832         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11833
11834 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11835
11836         * print.c (print_error_message): Call print_prepare().
11837
11838 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11839
11840         * .dbxrc: Renamed from dbxrc.
11841
11842         * events.c (event_to_character):
11843         Use `assert (foo)' instead of `if (!foo) abort()'
11844
11845         * .gdbinit (xtype): Add documentation.
11846         * .gdbinit (check-temacs): New function.
11847         * .gdbinit (check-xemacs): New function.
11848         * dbxrc (check-xemacs): New function.
11849         * dbxrc (check-xemacs): New function.
11850
11851 2000-01-14  Andy Piper  <andy@xemacs.org>
11852
11853         * glyphs-widget.c (widget_query_geometry): Make sure that we
11854         calculate default dimensions correctly.
11855
11856 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11857
11858         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11859
11860         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11861         pdump_wire'd variable.
11862
11863         * emacs.c: (main_1): Conditionalized calls to
11864         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11865
11866 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11867
11868         * window.c (Fset_window_configuration):
11869         * sysdep.c (_start):
11870         * input-method-motif.c (res):
11871         * event-Xt.c (Xt_process_to_emacs_event):
11872         Simple compiler warning fixes.
11873
11874         * bytecode.c (funcall_compiled_function): Use the original
11875         function symbol on the backtrace list in preference to the
11876         compiled_function object in error messages.
11877
11878 2000-01-13  Andy Piper  <andy@xemacs.org>
11879
11880         * glyphs-x.c (update_widget_face): Make sure we update the widget
11881         background as well as foreground.
11882
11883 2000-01-13  Andy Piper  <andy@xemacs.org>
11884
11885         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11886         fields to subwindow.
11887         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11888         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11889         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11890         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11891
11892         * glyphs-widget.c (check_valid_tab_orientation): new function.
11893         (initialize_widget_image_instance): zero orientation and
11894         justification.
11895         (widget_instantiate): pick up orientation.
11896         (tab_control_query_geometry): return appropriate values for
11897         vertical tabs.
11898
11899         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11900         appropriate creation flags for left, right and bottom tabs.
11901
11902         * s/cygwin32.h: add tab definitions.
11903
11904 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11905
11906         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11907         frame upon hiding a subwindow.
11908         (mswindows_button_instantiate): Changed the push button style to
11909         BS_PUSHBUTTON.
11910         (mswindows_button_instantiate): Removed button BS_NOTIFY
11911         style.
11912         (mswindows_button_instantiate): Removed redundant check for
11913         a disabled gui item.
11914         (mswindows_button_instantiate): Made use of WS_TABSTOP
11915         consistent: "operable" controls (edit, button, tree, scroll) have
11916         this style, "display-only" ones (static, progress gauge) do
11917         not. This style is currently ignored by XEmacs though. Also,
11918         removed the WS_EX_CONTROLPARENT style - it is not for children,
11919         it is for their parents!
11920         (mswindows_edit_field_instantiate): Ditto.
11921         (mswindows_progress_gauge_instantiate): Ditto.
11922         (mswindows_tree_view_instantiate): Ditto.
11923         (mswindows_tab_control_instantiate): Ditto.
11924         (mswindows_scrollbar_instantiate): Ditto.
11925         (mswindows_combo_box_instantiate): Ditto.
11926         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11927         style to the "clip" window.
11928         (mswindows_button_instantiate): Removed compilation warning by
11929         equally typing terms of the ?: operator.
11930
11931 2000-01-12  Didier Verna  <didier@xemacs.org>
11932
11933         * redisplay.c (generate_fstring_runes): new parameter holding the
11934         last modeline-format extent.
11935         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11936         extent, fill the glyph block with it.
11937         (generate_fstring_runes): handle these parameters.
11938         (generate_formatted_string_db): ditto.
11939
11940         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11941         glyphs'extents in the modeline.
11942
11943 1999-01-11  Mike Woolley  <mike@bulsara.com>
11944
11945         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11946         256Mb, as a workaround for the non-starting problem many people
11947         have experienced.
11948
11949 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11950
11951         * console-tty.c (Fset_console_tty_output_coding_system):
11952         Force redrawing tty frame.
11953
11954 2000-01-10  Didier Verna  <didier@xemacs.org>
11955
11956         * redisplay.c (generate_fstring_runes): fix size computation bug.
11957
11958 2000-01-09  William M. Perry <wmperry@aventail.com>
11959
11960         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11961
11962 2000-01-09  Andy Piper  <andy@xemacs.org>
11963
11964         * glyphs-msw.c: index -> i to avoid shadows.
11965         (xbm_create_bitmap_from_data): make static.
11966         (check_valid_string_or_int): deleted.
11967         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11968
11969         * glyphs-x.c (x_update_subwindow): remove unused args.
11970
11971         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11972         back pointer - this is done in allocate_image_instance.
11973         (query_string_font): return Qnil to make the compiler happy.
11974         (unmap_subwindow): set to ~0 to make the compiler happy.
11975         (glyph_query_geometry): comment out until used.
11976         (glyph_layout): ditto.
11977
11978 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11979
11980         * insdel.c (signal_after_change): Remove extraneous unbind_to().