- Merge `hanyu-dazidian-vol', `hanyu-dazidian-page' and
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
4         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
5
6 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (Vcharset_ucs_ks): New variable.
9         (Qucs_ks): New variable.
10         (syms_of_mule_charset): Add new symbol `ucs-ks'.
11         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
12
13         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
14
15 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
18         (Fdecode_char): Likewise.
19
20         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
21         chartab.h.
22         (Fdefine_char): Modify for Fdecode_char.
23         (Ffind_char): Likewise.
24
25         * mule-charset.c (Fdecode_char): Add new optional argument
26         `defined-only'.
27         (Fdecode_builtin_char): Modify for `Fdecode_char'.
28
29 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
32         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
33         (allocate_coding_system): Initialize initial-charsets of
34         CODESYS_BIG5 in XEmacs UTF-2000.
35         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
36         CODESYS_BIG5 in XEmacs UTF-2000.
37         (decode_coding_big5): Use initial-charset-g0 and -g1 of
38         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
39
40         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
41         variables.
42         (Qideograph_hanziku_{1 .. 12}): Likewise.
43         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
44         .. 12}'.
45         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
46         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
47         `ideograph-hanziku-{1 .. 12}'.
48
49         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
50         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
51         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
52         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
53         (DECODE_DEFINED_CHAR): New inline function.
54         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
55
56 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * mule-charset.c (Vcharset_china3_jef): Renamed from
59         `Vcharset_japanese_jef_china3'.
60         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
61         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
62         `{MIN|MAX}_CHAR_JEF_CHINA3'..
63         (syms_of_mule_charset): Rename `china3-jef' from
64         `japanese-jef-china3'.
65         (complex_vars_of_mule_charset): Likewise; rename
66         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
67
68         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
69         `LEADING_BYTE_JEF_CHINA3'.
70         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
71         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
72
73 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * mule-charset.c (encode_builtin_char_1): Comment out special code
76         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
77
78         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
79         (MAX_CHAR_MOJIKYO_0): Comment out.
80         (MIN_CHAR_CBETA): Changed to 0x00E20000.
81         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
82         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
83         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
84
85 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
88         (Qideograph_cbeta): New variable.
89         (encode_builtin_char_1): Comment out special code for
90         coded-charset `mojikyo' and `japanese-jef-china3'.
91         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
92         (complex_vars_of_mule_charset): Add new coded-charset
93         `ideograph-cbeta'.
94
95         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
96         (MIN_CHAR_CBETA): New macro.
97         (MAX_CHAR_CBETA): New macro.
98
99 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
102         (LEADING_BYTE_JEF_CHINA3): New macro.
103         (MIN_CHAR_JEF_CHINA3): New macro.
104         (MAX_CHAR_JEF_CHINA3): Likewise.
105         (DECODE_CHAR): Fixed.
106
107 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
108
109         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
110         (Qjapanese_jef_china3): New variable.
111         (encode_builtin_char_1): Support `japanese-jef-china3'.
112         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
113         (complex_vars_of_mule_charset): Add new coded-charset
114         `japanese-jef-china3'.
115
116 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
119         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
120         94^4, 96^3, 96^4, 128^n and 256^n set.
121         (put_char_table): Use `XCHARSET_CELL_RANGE'.
122         (map_char_table): Likewise.
123
124 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
127         UTF-2000.
128
129 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * chartab.h (get_char_id_table): New inline function.
132
133         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
134         function.
135
136 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * chartab.h (decode_char_table_range): New prototype in XEmacs
139         UTF-2000.
140         (put_char_id_table): New inline function in XEmacs UTF-2000.
141
142         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
143         function.
144         (decode_char_table_range): Delete static declaration in XEmacs
145         UTF-2000.
146
147 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * chartab.c (put_char_id_table): Use `put_char_table'.
150
151 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
154         (map_over_uint16_byte_table): Likewise.
155         (map_over_byte_table): Likewise.
156         (map_char_table): Modify for `map_over_uint8_byte_table',
157         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
158         UTF-2000.
159
160 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * chartab.c (struct map_char_table_for_charset_arg): New
163         structure.
164         (map_char_table_for_charset_fun): New function.
165         (map_char_table): Use `map_char_table' for encoding_table of
166         `range->charset'.
167
168 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * chartab.c (map_char_table): Check a character is found in
171         range->charset instead of non default value is defined in
172         char-table when range is CHARTAB_RANGE_ROW.
173
174 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
175
176         * chartab.c (map_char_id_table): Deleted.
177         (Fmap_char_attribute): Use `map_char_table' instead of
178         `map_char_id_table'.
179
180 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
183         UTF-2000.
184         (update_syntax_table): Deleted in XEmacs UTF-2000.
185
186         * syntax.c (find_defun_start): Use `syntax_table' instead of
187         `mirror_syntax_table' in XEmacs UTF-2000.
188         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
189         UTF-2000.
190         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
191         XEmacs UTF-2000.
192         (Fmatching_paren): Likewise.
193         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
194         in XEmacs UTF-2000.
195         (find_start_of_comment): Likewise.
196         (find_end_of_comment): Likewise.
197         (Fforward_comment): Likewise.
198         (scan_lists): Likewise.
199         (char_quoted): Likewise.
200         (Fbackward_prefix_chars): Likewise.
201         (scan_sexps_forward): Likewise.
202         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
203         (update_syntax_table): Likewise.
204
205         * search.c (skip_chars): Use `syntax_table' instead of
206         `mirror_syntax_table' in XEmacs UTF-2000.
207         (wordify): Likewise.
208         (Freplace_match): Likewise.
209
210         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
211         `mirror_syntax_table' in XEmacs UTF-2000.
212         (WORDCHAR_P_UNSAFE): Likewise.
213         (re_match_2_internal): Likewise.
214
215         * font-lock.c (find_context): Use `buf->syntax_table' instead of
216         `buf->mirror_syntax_table' in XEmacs UTF-2000.
217
218         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
219         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
220
221         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
222         XEmacs UTF-2000.
223
224         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
225         UTF-2000.
226         (print_char_table): Print `default_value' in XEmacs UTF-2000.
227         (char_table_description): Delete `mirror_table' in XEmacs
228         UTF-2000.
229         (fill_char_table): Don't call `update_syntax_table' in XEmacs
230         UTF-2000.
231         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
232         (Fcopy_char_table): Likewise.
233         (put_char_table): Don't call `update_syntax_table' in XEmacs
234         UTF-2000.
235
236         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
237         `buf->mirror_syntax_table' in XEmacs UTF-2000.
238         (casify_region_internal): Likewise.
239
240         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
241
242         * buffer.c (common_init_complex_vars_of_buffer): Don't use
243         `mirror_syntax_table' in XEmacs UTF-2000.
244
245         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
246         `buf->mirror_syntax_table' in XEmacs UTF-2000.
247         (Fexpand_abbrev): Likewise.
248
249 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
252
253 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
256         (map_over_uint16_byte_table): Likewise.
257         (map_over_byte_table): Likewise.
258         (get_char_id_table): Refer `cit->default_value'.
259         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
260         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
261         of character-id ranges.
262         (mark_char_table): Mark `ct->default_value'.
263         (char_table_description): Add `default_value'.
264         (fill_char_table): Use `default_value'.
265         (decode_char_table_range): Decode `nil' as
266         `CHARTAB_RANGE_DEFAULT'.
267         (get_char_id_table): Refer `cit->default_value'.
268         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
269         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
270         temporary hack; check value of char-table is bound or not.
271         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
272
273         * chartab.h (struct Lisp_Char_Table): Add new member
274         `default_value' in XEmacs UTF-2000.
275         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
276         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
277         UTF-2000.
278
279 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * chartab.h (Lisp_Char_ID_Table): Deleted.
282
283         * chartab.c (char_table_description): Fix typo.
284         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
285         `Lisp_Char_ID_Table'.
286
287 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
290         `CHAR_ID_TABLE_P'.
291
292         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
293         `CHAR_ID_TABLE_P'.
294
295         * chartab.h (XCHAR_ID_TABLE): Deleted.
296         (XSETCHAR_ID_TABLE): Deleted.
297         (CHAR_ID_TABLE_P): Deleted.
298
299         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
300         `CHAR_ID_TABLE_P'.
301         (Fget_composite_char): Likewise.
302         (put_char_table): Likewise.
303         (add_char_attribute_alist_mapper): Fixed.
304         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
305         `CHAR_ID_TABLE_P'.
306         (Fget_char_attribute): Likewise.
307         (Fget_char_attribute): Likewise.
308         (Fmap_char_attribute): Likewise.
309
310         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
311         `CHAR_ID_TABLE_P'.
312         (encode_char_1): Likewise.
313
314 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
315
316         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
317         `XCHAR_ID_TABLE'.
318
319         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
320         instead of `XCHAR_ID_TABLE'.
321         (remove_char_ccs): Likewise.
322
323         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
324         `XCHAR_ID_TABLE'.
325         (Fget_composite_char): Likewise.
326         (Fchar_variants): Likewise.
327         (put_char_table): Likewise.
328         (add_char_attribute_alist_mapper): Likewise.
329         (Fchar_attribute_alist): Likewise.
330         (Fget_char_attribute): Likewise.
331         (Fput_char_attribute): Likewise.
332         (Fmap_char_attribute): Likewise.
333         (Fmap_char_attribute): Likewise.
334
335         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
336         `XCHAR_ID_TABLE'.
337         (encode_char_1): Likewise.
338
339 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
342         `Lisp_Char_ID_Table'.
343         (mark_char_id_table): Deleted.
344         (print_char_id_table): Likewise.
345         (char_id_table_equal): Likewise.
346         (char_id_table_hash): Likewise.
347         (char_id_table_description): Likewise.
348         (char_id_table): Likewise.
349         (make_char_id_table): Use `Fmake_char_table' and
350         `fill_char_table'.
351         (get_char_id_table): Use `Lisp_Char_Table' instead of
352         `Lisp_Char_ID_Table'.
353         (put_char_id_table): Likewise.
354         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
355         `XCHAR_ID_TABLE'.
356         (Fremove_char_attribute): Likewise.
357         (syms_of_chartab): Don't define type `char-id-table'.
358
359         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
360         (char_id_table): Likewise.
361         (GC_CHAR_ID_TABLE_P): Likewise.
362         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
363         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
364         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
365         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
366         (get_char_id_table): Use `Lisp_Char_Table' instead of
367         `Lisp_Char_ID_Table'.
368         (put_char_id_table_0): Likewise.
369         (put_char_id_table): Likewise.
370
371 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
372
373         * chartab.h: Lisp_Byte_Table related codes are moved from
374         chartab.h.
375
376         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
377
378 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
379
380         * chartab.h: Don't include "chartab.h".
381         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
382         (Lisp_Char_ID_Table): Likewise.
383         (char_id_table): Likewise.
384         (XCHAR_ID_TABLE): Likewise.
385         (XSETCHAR_ID_TABLE): Likewise.
386         (CHAR_ID_TABLE_P): Likewise.
387         (GC_CHAR_ID_TABLE_P): Likewise.
388         (get_char_id_table): Likewise.
389
390         * char-ucs.h: Include "chartab.h".
391         (struct Lisp_Char_ID_Table): Moved to chartab.h.
392         (Lisp_Char_ID_Table): Likewise.
393         (char_id_table): Likewise.
394         (XCHAR_ID_TABLE): Likewise.
395         (XSETCHAR_ID_TABLE): Likewise.
396         (CHAR_ID_TABLE_P): Likewise.
397         (GC_CHAR_ID_TABLE_P): Likewise.
398         (get_char_id_table): Likewise.
399
400 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
401
402         * chartab.c (copy_uint8_byte_table): New function.
403         (copy_uint16_byte_table): New function.
404         (copy_byte_table): New function.
405         (map_over_uint8_byte_table): Modify to avoid huge numbers of
406         characters to call.
407         (map_over_uint16_byte_table): Likewise.
408         (map_over_byte_table): Likewise.
409         (get_byte_table): Move prototype to chartab.h.
410         (put_byte_table): Likewise.
411         (put_char_id_table_0): Moved to chartab.h.
412         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
413         (char_table_entry_equal): Likewise.
414         (char_table_entry_hash): Likewise.
415         (char_table_entry_description): Likewise.
416         (char_table_entry): Likewise.
417         (make_char_table_entry): Likewise.
418         (copy_char_table_entry): Likewise.
419         (get_non_ascii_char_table_value): Likewise.
420         (map_over_charset_ascii): Likewise.
421         (map_over_charset_control_1): Likewise.
422         (map_over_charset_row): Likewise.
423         (map_over_other_charset): Likewise.
424         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
425         (print_char_table): Likewise.
426         (char_table_equal): Likewise.
427         (char_table_hash): Likewise.
428         (char_table_description): Likewise.
429         (fill_char_table): Likewise.
430         (Fcopy_char_table): Likewise.
431         (get_char_table): Likewise.
432         (Fget_range_char_table): Likewise.
433         (put_char_table): Likewise.
434         (map_char_table): Likewise.
435         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
436         UTF-2000.
437
438 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
439
440         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
441         `Vauto_fill_chars' in XEmacs UTF-2000.
442
443         * chartab.h (get_byte_table): New prototype [moved from
444         chartab.c].
445         (put_byte_table): Likewise [moved from chartab.c].
446         (put_char_id_table_0): New inline function [moved from chartab.c].
447         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
448         (Lisp_Char_Table_Entry): Likewise.
449         (char_table_entry): Likewise.
450         (XCHAR_TABLE_ENTRY): Likewise.
451         (XSETCHAR_TABLE_ENTRY): Likewise.
452         (CHAR_TABLE_ENTRYP): Likewise.
453         (CHECK_CHAR_TABLE_ENTRY): Likewise.
454         (NUM_ASCII_CHARS): Likewise.
455         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
456         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
457
458 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
459
460         * chartab.c (get_char_id_table): Change interface.
461         (put_char_id_table_0): New function.
462         (put_char_id_table): Change interface; new implementation.
463         (Fget_composite_char): Modify for interface change of
464         `get_char_id_table'.
465         (Fchar_variants): Likewise.
466         (add_char_attribute_alist_mapper): Likewise.
467         (Fchar_attribute_alist): Likewise.
468         (Fget_char_attribute): Likewise.
469         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
470         as same as character as the first argument like `put-char-table';
471         modify for interface change of `put_char_id_table'.
472         (Fremove_char_attribute): Modify for interface change of
473         `put_char_id_table'.
474
475 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * text-coding.c: Sync up with XEmacs 21.2.41.
478         (COMPOSE_ADD_CHAR): Modify for interface change of
479         `get_char_id_table'.
480
481         * mule-charset.c (put_char_ccs_code_point): Modify for interface
482         change of `put_char_id_table'.
483         (remove_char_ccs): Likewise.
484
485         * chartab.h (put_char_id_table): Change interface.
486
487         * char-ucs.h (get_char_id_table): Change interface.
488         (charset_code_point): Modify for interface change of
489         `get_char_id_table'.
490         (encode_char_1): Likewise.
491
492 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
493
494         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
495         argument `ccs'.
496         (map_over_uint16_byte_table): Likewise.
497         (map_over_byte_table): Likewise.
498         (map_char_id_table): Add new argument `range' like
499         `map_char_table'.
500         (Fmap_char_attribute): Add new argument `range' like
501         `Fmap_char_table'.
502
503 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
504
505         * chartab.c (map_over_uint8_byte_table): Change interface of
506         mapping function to use struct chartab_range instead of Emchar.
507         (map_over_uint16_byte_table): Likewise.
508         (map_over_byte_table): Likewise.
509         (map_char_id_table): Likewise.
510         (struct slow_map_char_id_table_arg): Deleted.
511         (slow_map_char_id_table_fun): Deleted.
512         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
513         function `slow_map_char_table_fun' instead of struct
514         `slow_map_char_id_table_arg' and function
515         `slow_map_char_id_table_fun'.
516
517 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * mule-charset.c: Move char-it-table related codes to chartab.c.
520         (Vutf_2000_version): Moved to chartab.c.
521         (Fdefine_char): Likewise.
522         (Ffind_char): Likewise.
523         (syms_of_mule_charset): Move types `uint8-byte-table',
524         `uint16-byte-table', `byte-table' and `char-id-table' to
525         chartab.c; move functions `char_attribute_list,
526         `find_char_attribute_table, `char_attribute_alist,
527         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
528         `map_char_attribute, `define_char, `find_char, `char_variants and
529         `get_composite_char to chartab.c; move symbols `=>ucs',
530         `->decomposition', `compat', `isolated', `initial', `medial',
531         `final', `vertical', `noBreak', `fraction', `super', `sub',
532         `circle', `square', `wide', `narrow', `small' and `font' to
533         chartab.c.
534         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
535         setting codes for `Vcharacter_composition_table' and
536         `Vcharacter_variant_table' to chartab.c.
537         (complex_vars_of_mule_charset): Move setting code for
538         `Vchar_attribute_hash_table' to chartab.c.
539
540         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
541         (make_char_id_table): New prototype.
542         (put_char_id_table): Likewise.
543         (Fget_char_attribute): Likewise.
544
545         * chartab.c: Move char-id-table related code from mule-charset.c.
546         (Vutf_2000_version): Moved from mule-charset.c.
547
548         * char-ucs.h (Qucs): New external variable.
549         (put_char_ccs_code_point): New prototype.
550         (remove_char_ccs): Likewise.
551
552 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
553
554         * mule-charset.c (Vcharset_ucs_jis): New variable.
555         (Qucs_jis): Likewise.
556         (syms_of_mule_charset): Add new symbol `ucs-jis'.
557         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
558
559         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
560
561 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * mule-charset.c (map_over_uint8_byte_table): New function.
564         (map_over_uint16_byte_table): Likewise.
565         (map_over_byte_table): Likewise.
566         (map_char_id_table): Likewise.
567         (slow_map_char_id_table_fun): Likewise.
568         (Fmap_char_attribute): Likewise.
569         (syms_of_mule_charset): Add new function `map-char-attribute'.
570
571 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
574         (syms_of_mule_charset): Add new function `find-char'.
575
576 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
577
578         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
579         XEmacs UTF-2000.
580         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
581         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
582         XEmacs UTF-2000.
583         (complex_vars_of_mule_charset): Add new coded-charset
584         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
585         `ideograph-gt-pj-*'.
586
587         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
588
589 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
590
591         * mule-charset.c (encode_builtin_char_1): Purge codes about
592         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
593         {MIN|MAX}_CHAR_HEBREW.
594         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
595         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
596
597         * char-ucs.h (MIN_CHAR_GREEK): Purged.
598         (MAX_CHAR_GREEK): Purged.
599         (MIN_CHAR_CYRILLIC): Purged.
600         (MAX_CHAR_CYRILLIC): Purged.
601         (MIN_CHAR_HEBREW): Commented out.
602         (MAX_CHAR_HEBREW): Likewise.
603
604 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
605
606         * mule-charset.c (Qto_ucs): New variable.
607         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
608         (Fdefine_char): Likewise.
609         (syms_of_mule_charset): Add new symbol `=>ucs'.
610
611 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * mule-charset.c (Fdecode_char): Fixed.
614
615 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
618         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
619         "tcvn5712-1".
620
621 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * mule-charset.c (Vcharset_ucs_big5): New variable.
624         (Qucs_big5): Likewise.
625         (syms_of_mule_charset): Add new symbol `ucs-big5'.
626         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
627
628         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
629
630 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
631
632         * mule-charset.c (decode_builtin_char): Check Big5 code range
633         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
634
635 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
636
637         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
638         (Qchinese_gb12345): Likewise.
639         (Fdecode_builtin_char): Fixed.
640         (syms_of_mule_charset): Add `chinese-gb12345'.
641         (complex_vars_of_mule_charset): Add coded-charset
642         `chinese-gb12345'.
643
644         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
645         (LEADING_BYTE_CHINESE_GB12345): New macro.
646
647 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
650         and `latin-viscii-upper' for `latin-viscii'.
651
652 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * mule-charset.c (Fdecode_builtin_char): Comment out
655         regularization code for ISO-IR GR representation.
656
657 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * mule-charset.c (decode_builtin_char): New function; renamed from
660         `make_builtin_char'; return -1 instead of signal.
661         (Fdecode_builtin_char): Use `decode_builtin_char'.
662
663         * char-ucs.h (decode_builtin_char): New prototype; renamed from
664         `make_builtin_char'.
665         (DECODE_CHAR): Use `decode_builtin_char' instead of
666         `make_builtin_char'; use mapping table of `chinese-big5' for
667         `chinese-big5-{1,2}'.
668
669 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * text-coding.c (char_encode_big5): New function.
672         (char_finish_big5): Likewise.
673         (reset_encoding_stream): Use `char_encode_big5' and
674         `char_finish_big5' for CODESYS_BIG5.
675         (mule_encode): Don't use `encode_coding_big5'.
676         (encode_coding_big5): Deleted.
677
678 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
681         0x81- in XEmacs UTF-2000.
682         (detect_coding_big5): Likewise.
683
684 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * mule-charset.c (Fdefine_char): Don't use a CCS property to
687         generate character-id if the CCS property does not have
688         corresponding predefined character.
689         (make_builtin_char): Return -1 if corresponding predefined
690         character is not found.
691         (Fdecode_char): Return nil if corresponding character is not
692         found.
693         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
694         don't map to builtin ucs space.
695
696 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
699         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
700
701 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * mule-charset.c (Vcharset_ideograph_gt): New variable.
704         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
705         (Qideograph_gt): Likewise.
706         (Qideograph_gt_pj_{1..11}): Likewise.
707         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
708         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
709         `ideograph-gt-pj-11'.
710         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
711         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
712         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
713
714         * char-ucs.h (LEADING_BYTE_GT): New macro.
715         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
716         (MIN_CHAR_GT): Likewise.
717         (MAX_CHAR_GT): Likewise.
718
719 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
722         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
723
724         * doprnt.c (unsigned_int_converters): Add `c'.
725         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
726
727         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
728         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
729         `MIN_CHAR_MOJIKYO'.
730         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
731         (MAX_CHAR_MOJIKYO_0): New macro.
732         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
733
734 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule-charset.c (Fdefine_char): Delete cemented out code.
737         (encode_builtin_char_1): Modify for new allocation of builtin
738         Mojikyo characters.
739
740         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
741
742 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * mule-charset.c (Vcharset_ucs_cns): New variable.
745         (Qucs_cns): New variable.
746         (syms_of_mule_charset): Add new symbol `ucs-cns'.
747         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
748
749 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
750
751         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
752
753 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
754
755         * search.c (search_buffer): Make `charset_base_code' as
756         character-id >> 6 to eliminate the corresponding last byte in
757         UTF-8 representation [I'm not sure it is right thing].
758         (boyer_moore): Likewise.
759
760 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
761
762         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
763         representation in MULE.
764
765 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * text-coding.c (Fmake_coding_system): Use
768         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
769         `EXTERNAL_PROPERTY_LIST_LOOP'.
770
771 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * text-coding.c (decode_output_utf8_partial_char): New function.
774         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
775
776 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * text-coding.c (decode_coding_utf8): Output original byte
779         sequence if it is broken; change order of conditions.
780
781         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
782         of conditions.
783
784         * mb-multibyte.h (BYTE_ASCII_P):
785         Use bit ops for char-signedness safety.
786         (BYTE_C0_P): Use bit ops for char-signedness safety.
787         (BYTE_C1_P): Use bit ops for char-signedness safety.
788
789         * character.h: (XCHAR_OR_CHAR_INT):
790         Always use inline function.
791         Remove redundant type checking assert() - XINT will abort quite
792         nicely.
793
794 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * text-coding.c: (Fencode_shift_jis_char):
797         (Fencode_big5_char):
798         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
799         Replace 0 with '\0' when working with bytes.
800         Replace initial "(" with "\(" in docstrings.
801
802         (Fmake_coding_system):
803         When type is ccl and value is vector, register it with a proper
804         symbol.  And checks whether the given ccl program is valid.
805         (mule_decode): When calling ccl_driver, if src indicates
806         NULL pointer, set an empty string instead.
807         (mule_encode): Likewise.
808
809         (detect_eol_type):
810         (detect_coding_sjis):
811         (decode_coding_sjis):
812         (detect_coding_big5):
813         (decode_coding_big5):
814         (detect_coding_ucs4):
815         (decode_coding_ucs4):
816         (detect_coding_utf8):
817         (decode_coding_utf8):
818         (detect_coding_iso2022):
819         (decode_coding_iso2022):
820         (decode_coding_no_conversion):
821         (mule_decode):
822         Make all detecting and decoding functions take an Extbyte * arg.
823         (text_encode_generic):
824         (encode_coding_big5):
825         (encode_coding_no_conversion):
826         (mule_encode):
827         Make all encoding functions take a Bufbyte * arg.
828         Use size_t instead of unsigned int for memory sizes.
829         Only cast to unsigned char whenever dereferencing Extbyte *.
830
831         (struct lrecord_description fcd_description_1): Use countof.
832         (complex_vars_of_file_coding):
833         Use countof instead of sizeof.
834         Use CHECK_NATNUM instead of CHECK_INT.
835
836 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * mule-charset.c (Fget_char_attribute): Add new optional argument
839         `default-value'.
840         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
841         (remove_char_ccs): Likewise.
842
843 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * text-coding.c (char_encode_shift_jis): New implementation in
846         UTF-2000.
847         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
848         ...)'.
849
850         * mule-charset.c (Vcharset_chinese_big5): New variable in
851         UTF-2000.
852         (Qchinese_big5): New variable in UTF-2000.
853         (BIG5_SAME_ROW): New macro in UTF-2000.
854         (make_builtin_char): Use builtin characters of
855         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
856         characters of `Vcharset_chinese_big5'.
857         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
858         (complex_vars_of_mule_charset): Add new coded-charset
859         `chinese-big5' in UTF-2000.
860
861         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
862         (Vcharset_chinese_big5): New external variable declaration.
863         (Vcharset_japanese_jisx0208_1990): Likewise.
864
865 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
866
867         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
868         function.
869         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
870
871 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
872
873         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
874         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
875         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
876         `mojikyo-pj-*'.
877
878 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
881
882 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
883
884         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
885         to 0.17.
886
887 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
888
889         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
890         for `CHARSET_BY_ATTRIBUTES'.
891         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
892         `CHARSET_BY_ATTRIBUTES'.
893
894         * text-coding.c (struct decoding_stream): Rename member `CH' to
895         `CPOS'.
896         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
897         (decode_coding_sjis): Likewise.
898         (decode_coding_big5): Likewise.
899         (decode_coding_ucs4): Likewise.
900         (decode_coding_utf8): Likewise.
901         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
902         `CHARSET_BY_ATTRIBUTES'.
903         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
904         `str->counter'; decode 3, 4 bytes sets.
905         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
906         sets.
907         (decode_coding_no_conversion): Use `str->cpos' instead of
908         `str->ch'.
909
910         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
911         (Qmojikyo_2022_1): New variable.
912         (make_charset): Don't use `CHARSET_TYPE_*'.
913         (range_charset_code_point): Support coded-charset
914         `mojikyo-2022-1'.
915         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
916         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
917         `CHARSET_BY_ATTRIBUTES'.
918         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
919         `CHARSET_BY_ATTRIBUTES'.
920         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
921         (complex_vars_of_mule_charset): Add new coded-charset
922         `mojikyo-2022-1'.
923
924         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
925         interface; changed to inline function.
926
927         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
928         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
929         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
930         (CHARSET_TYPE_94): Deleted.
931         (CHARSET_TYPE_94X94): Deleted.
932         (CHARSET_TYPE_96): Deleted.
933         (CHARSET_TYPE_96X96): Deleted.
934         (CHARSET_TYPE_128): Deleted.
935         (CHARSET_TYPE_128X128): Deleted.
936         (CHARSET_TYPE_256): Deleted.
937         (CHARSET_TYPE_256X256): Deleted.
938         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
939         to inline function.
940         (DECODE_MOJIKYO_2022): New inline function.
941         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
942         `Vcharset_mojikyo_2022_1'.
943
944 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
947         instead of `EQ'.
948         (put_byte_table): Likewise.
949         (char_id_table_equal): Use `get_byte_table' [new implementation].
950
951 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * mule-charset.c: Include <limits.h> in UTF-2000.
954         (BT_UINT8_MIN): New macro in UTF-2000.
955         (BT_UINT8_MAX): New macro in UTF-2000.
956         (BT_UINT8_t): New macro in UTF-2000.
957         (BT_UINT8_nil): New macro in UTF-2000.
958         (BT_UINT8_unbound): New macro in UTF-2000.
959         (INT_UINT8_P): New inline function in UTF-2000.
960         (UINT8_VALUE_P): New inline function in UTF-2000.
961         (UINT8_ENCODE): New inline function in UTF-2000.
962         (UINT8_DECODE): New inline function in UTF-2000.
963         (mark_uint8_byte_table): New function in UTF-2000.
964         (print_uint8_byte_table): New function in UTF-2000.
965         (uint8_byte_table_equal): New function in UTF-2000.
966         (uint8_byte_table_hash): New function in UTF-2000.
967         (make_uint8_byte_table): New function in UTF-2000.
968         (uint8_byte_table_same_value_p): New function in UTF-2000.
969         (BT_UINT16_MIN): New macro in UTF-2000.
970         (BT_UINT16_MAX): New macro in UTF-2000.
971         (BT_UINT16_t): New macro in UTF-2000.
972         (BT_UINT16_nil): New macro in UTF-2000.
973         (BT_UINT16_unbound): New macro in UTF-2000.
974         (INT_UINT16_P): New inline function in UTF-2000.
975         (UINT16_VALUE_P): New inline function in UTF-2000.
976         (UINT16_ENCODE): New inline function in UTF-2000.
977         (UINT16_DECODE): New inline function in UTF-2000.
978         (UINT8_TO_UINT16): New inline function in UTF-2000.
979         (mark_uint16_byte_table): New function in UTF-2000.
980         (print_uint16_byte_table): New function in UTF-2000.
981         (uint16_byte_table_equal): New function in UTF-2000.
982         (uint16_byte_table_hash): New function in UTF-2000.
983         (make_uint16_byte_table): New function in UTF-2000.
984         (uint16_byte_table_same_value_p): New function in UTF-2000.
985         (print_byte_table): New function in UTF-2000.
986         (byte-table): Use `print_byte_table' as printer.
987         (make_byte_table): Delete second argument `older'.
988         (byte_table_same_value_p): New function in UTF-2000.
989         (copy_byte_table): Deleted.
990         (get_byte_table): New function in UTF-2000.
991         (put_byte_table): New function in UTF-2000.
992         (print_char_id_table): New function in UTF-2000.
993         (char-id-table): Use `print_char_id_table' as printer.
994         (make_char_id_table): Delete second argument `older'.
995         (get_char_id_table): Use `get_byte_table [new implementation].
996         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
997         implementation].
998         (Ffind_char_attribute_table): New function in UTF-2000.
999         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1000         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1001         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1002         (syms_of_mule_charset): Add new function
1003         `find-char-attribute-table' in UTF-2000.
1004
1005         * lrecord.h (enum lrecord_type): Add
1006         `lrecord_type_uint16_byte_table' and
1007         `lrecord_type_uint8_byte_table'.
1008
1009         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1010         (Lisp_Uint8_Byte_Table): New type.
1011         (XUINT8_BYTE_TABLE): New macro.
1012         (XSETUINT8_BYTE_TABLE): New macro.
1013         (UINT8_BYTE_TABLE_P): New macro.
1014         (GC_UINT8_BYTE_TABLE_P): New macro.
1015         (struct Lisp_Uint16_Byte_Table): New structure.
1016         (Lisp_Uint16_Byte_Table): New type.
1017         (XUINT16_BYTE_TABLE): New macro.
1018         (XSETUINT16_BYTE_TABLE): New macro.
1019         (UINT16_BYTE_TABLE_P): New macro.
1020         (GC_UINT16_BYTE_TABLE_P): New macro.
1021
1022 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1023
1024         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1025         (Vcharacter_ideographic_strokes_table): Deleted.
1026         (Vcharacter_total_strokes_table): Deleted.
1027         (Vcharacter_morohashi_daikanwa_table): Deleted.
1028         (Vcharacter_decomposition_table): Deleted.
1029         (Qname): Deleted because it is duplicated.
1030         (Qideographic_radical): Deleted.
1031         (Qideographic_strokes): Deleted.
1032         (Qtotal_strokes): Deleted.
1033         (Qmorohashi_daikanwa): Deleted.
1034         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1035         `ideographic-radical', `ideographic-strokes', `total-strokes',
1036         `morohashi-daikanwa' and `->decomposition'.
1037         (Fget_char_attribute): Likewise.
1038         (Fput_char_attribute): Likewise; use `make-vector' instead of
1039         `make_older_vector' for `->decomposition' value.
1040         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1041         `ideograph-daikanwa'.
1042         (syms_of_mule_charset): Delete builtin symbols `name',
1043         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1044         `morohashi-daikanwa'.
1045         (vars_of_mule_charset): Don't setup
1046         `Vcharacter_ideographic_radical_table',
1047         `Vcharacter_ideographic_strokes_table',
1048         `Vcharacter_total_strokes_table',
1049         `Vcharacter_morohashi_daikanwa_table' and
1050         `Vcharacter_decomposition_table'.
1051
1052 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1053
1054         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1055         `make_older_vector', `make_vector_newer_1' and
1056         `make_vector_newer'.
1057
1058         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1059         `make_older_vector' and `make_vector_newer'.
1060
1061         * config.h.in (HAVE_GGC): New macro.
1062
1063 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1064
1065         * mule-charset.c (struct char_attribute_list_closure): New
1066         structure in UTF-2000.
1067         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1068         (Fchar_attribute_list): Likewise.
1069         (Fset_charset_mapping_table): Use `make_vector_newer'.
1070         (Fdecode_builtin_char): New function in UTF-2000.
1071         (syms_of_mule_charset): Add new function `char-attribute-list' and
1072         `decode-builtin-char' in UTF-2000.
1073
1074         * lisp.h (make_vector_newer): New prototype.
1075
1076         * alloc.c (make_vector_newer_1): New function.
1077         (make_vector_newer): New function.
1078
1079 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1080
1081         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1082         50100)'.
1083
1084 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1085
1086         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1087         (Vcharacter_attribute_table): Deleted.
1088         (Vcharacter_name_table): Deleted.
1089         (put_char_attribute): Deleted.
1090         (remove_char_attribute): Deleted.
1091         (struct char_attribute_alist_closure): New structure.
1092         (add_char_attribute_alist_mapper): New function.
1093         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1094         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1095         (Fget_char_attribute): Likewise.
1096         (Fput_char_attribute): Likewise.
1097         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1098         of `remove_char_attribute'.
1099         (Fdefine_char): Return character.
1100         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1101         and `Vcharacter_name_table'.
1102         (complex_vars_of_mule_charset): Likewise
1103         `Vchar_attribute_hash_table'.
1104
1105 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * character.h (CHARC_CHARSET): New macro.
1108         (CHARC_CHARSET_ID): New macro.
1109         (CHARC_CODE_POINT): New macro.
1110         (CHARC_COLUMNS): New macro.
1111         (CHARC_TO_CHAR): New inline function.
1112         (CHARC_EQ): New inline function.
1113         (CHARC_ASCII_EQ): New inline function.
1114         (CHARC_IS_SPACE): New inline function.
1115         (ASCII_TO_CHARC): New inline function.
1116
1117         * char-ucs.h (encode_char_2): Deleted.
1118         (ENCODE_CHAR): Use `encode_char_1' again.
1119         (breakup_char_1): Likewise.
1120         (CHAR_TO_CHARC): New inline function.
1121
1122         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1123
1124 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1127         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1128         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1129         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1130         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1131         `CHARC_IS_SPACE'.
1132         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1133
1134         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1135         `CHARC_CODE_POINT'.
1136         (x_output_display_block): Use `CHARC_CHARSET' and
1137         `CHARC_ASCII_EQ'.
1138
1139         * redisplay-tty.c (tty_output_display_block): Use
1140         `CHARC_ASCII_EQ'.
1141         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1142
1143         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1144
1145         * insdel.c (find_charsets_in_charc_string): Use
1146         `CHARC_CHARSET_ID'.
1147         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1148         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1149         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1150         (convert_charc_string_into_malloced_string): Likewise.
1151
1152 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1153
1154         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1155         instead of <Emchar_dynarr *> for buf; use
1156         `convert_bufbyte_string_into_charc_dynarr' instead of
1157         `convert_bufbyte_string_into_emchar_dynarr'; use
1158         `find_charsets_in_charc_string' instead of
1159         `find_charsets_in_emchar_string'.
1160
1161         * redisplay.h:
1162         - Include "character.h".
1163         (struct rune): New member `cglyph'; delete member `chr'.
1164
1165         * redisplay.c (redisplay_text_width_charc_string): New function;
1166         delete `redisplay_text_width_emchar_string'.
1167         (rtw_charc_dynarr): New variable; renamed from
1168         `rtw_emchar_dynarr'.
1169         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1170         `rtw_emchar_dynarr'; use
1171         `convert_bufbyte_string_into_charc_dynarr' instead of
1172         `convert_bufbyte_string_into_emchar_dynarr'; use
1173         `redisplay_text_width_charc_string' instead of
1174         `redisplay_text_width_emchar_string'.
1175         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1176         instead of `rtw_emchar_dynarr'; use
1177         `convert_bufbyte_string_into_charc_dynarr' instead of
1178         `convert_bufbyte_string_into_emchar_dynarr'.
1179         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1180         `redisplay_text_width_charc_string' instead of
1181         `redisplay_text_width_emchar_string'.
1182         (create_text_block): Modify for <struct rune> change.
1183         (generate_formatted_string_db): Likewise.
1184         (create_string_text_block): Likewise.
1185         (pixel_to_glyph_translation): Likewise.
1186
1187         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1188         instead of <const Emchar *>.
1189         (x_text_width): Likewise.
1190         (x_output_display_block): Use <Charc_dynarr *> instead
1191         <Emchar_dynarr *>; modify for <structure rune> change.
1192         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1193         *>.
1194
1195         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1196         <const Emchar *>; use `charc_string_displayed_columns' instead of
1197         `emchar_string_displayed_columns'.
1198         (tty_output_display_block): Use <Charc_dynarr *> instead of
1199         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1200         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1201         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1202         `tty_output_emchar_dynarr_dynarr'.
1203         (tty_output_charc_dynarr): New function; delete
1204         `tty_output_charc_dynarr'.
1205
1206         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1207         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1208         <Emchar_dynarr *> for buf; use
1209         `convert_bufbyte_string_into_charc_dynarr' instead of
1210         `convert_bufbyte_string_into_emchar_dynarr'.
1211
1212         * frame.c (title_string_charc_dynarr): New variable; renamed from
1213         `title_string_emchar_dynarr'.
1214         (generate_title_string): Use `title_string_charc_dynarr' instead
1215         of `title_string_emchar_dynarr'; use
1216         `convert_charc_string_into_malloced_string' instead of
1217         `convert_emchar_string_into_malloced_string'.
1218         (init_frame): Use `title_string_charc_dynarr' instead of
1219         `title_string_emchar_dynarr'.
1220
1221         * console.h:
1222         - Include "character.h".
1223         (struct console_methods): Use <const Charc *> instead of <const
1224         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1225         <Emchar_dynarr *> in output_string_method.
1226
1227         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1228         <Emchar_dynarr *>.
1229
1230         * console-stream.c (stream_text_width): Use <const Charc *>
1231         instead of <const Emchar *>.
1232
1233         * character.h (Charc_dynarr): New type.
1234
1235         * char-ucs.h (structure Charc): New structure; define new type
1236         `Charc'.
1237
1238         * char-lb.h (DECODE_CHAR): New inline function.
1239         (encode_char_1): New inline function.
1240         (ENCODE_CHAR): New macro.
1241         (structure Charc): New structure; define new type `Charc'.
1242
1243         * char-1byte.h (Vcharset_control_1): New macro.
1244         (Vcharset_latin_iso8859_1): New macro.
1245         (DECODE_CHAR): New inline function.
1246         (encode_char_1): New inline function.
1247         (ENCODE_CHAR): New macro.
1248         (structure Charc): New structure; define new type `Charc'.
1249
1250         * insdel.c (find_charsets_in_charc_string): New function; delete
1251         `find_charsets_in_emchar_string'.
1252         (charc_string_displayed_columns): New function; delete
1253         `emchar_string_displayed_columns'.
1254         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1255         `convert_bufbyte_string_into_emchar_dynarr'.
1256         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1257         `convert_charc_string_into_bufbyte_dynarr'.
1258         (convert_charc_string_into_malloced_string): New function; delete
1259         `convert_charc_string_into_malloced_string'.
1260
1261         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1262         `find_charsets_in_emchar_string'.
1263         (charc_string_displayed_columns): New prototype; delete
1264         `emchar_string_displayed_columns'.
1265         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1266         `convert_charc_string_into_bufbyte_dynarr'.
1267         (convert_charc_string_into_malloced_string): New prototype; delete
1268         `convert_charc_string_into_malloced_string'.
1269
1270 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1271
1272         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1273
1274 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1275
1276         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1277
1278         * char-ucs.h: Use <short> for <Charset_ID>.
1279
1280         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1281         <Charset_ID>.
1282
1283 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1284
1285         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1286         to 0.16.
1287
1288 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1289
1290         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1291         variable.
1292         (Qmorohashi_daikanwa): New variable.
1293         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1294         for `morohashi-daikanwa' attribute.
1295         (Fget_char_attribute): Likewise.
1296         (Fput_char_attribute): Likewise.
1297         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1298         has the same value of `ideograph-daikanwa'.
1299         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1300         (vars_of_mule_charset): Setup
1301         `Vcharacter_morohashi_daikanwa_table'.
1302
1303 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1304
1305         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1306         attributes.
1307         (add_charset_to_list_mapper): Add `key' instead of
1308         `XCHARSET_NAME (value)' to return aliases.
1309
1310 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1311
1312         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1313         variable.
1314         (Vcharacter_ideographic_strokes_table): New variable.
1315         (Qideographic_radical): New variable.
1316         (Qideographic_strokes): New variable.
1317         (Fchar_attribute_alist): Use
1318         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1319         attribute; use `Vcharacter_ideographic_strokes_table' for
1320         `ideographic-strokes' attribute.
1321         (Fget_char_attribute): Likewise.
1322         (Fput_char_attribute): Likewise.
1323         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1324         `ideographic-strokes'.
1325         (vars_of_mule_charset): Setup
1326         `Vcharacter_ideographic_radical_table' and
1327         `Vcharacter_ideographic_strokes_table'.
1328
1329 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1330
1331         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1332         (Qtotal_strokes): New variable.
1333         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1334         `total-strokes' attribute.
1335         (Fget_char_attribute): Likewise.
1336         (Fput_char_attribute): Likewise.
1337         (syms_of_mule_charset): Add new symbol `total-strokes'.
1338         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1339
1340 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1341
1342         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1343         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1344         are found.
1345         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1346         `->decomposition' attribute.
1347         (Fput_char_attribute): Likewise.
1348         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1349
1350 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * mule-charset.c (decoding_table_check_elements): New function.
1353         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1354
1355 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * mule-charset.c (Fset_charset_mapping_table): Use
1358         `put_char_ccs_code_point'.
1359
1360 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1361
1362         * mule-charset.c (decoding_table_put_char): New inline function.
1363         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1364
1365 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1366
1367         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1368         (XCHARSET_BYTE_SIZE): New macro.
1369         (decoding_table_remove_char): New inline function.
1370         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1371         `decoding_table_remove_char'.
1372         (remove_char_ccs): Use `decoding_table_remove_char'.
1373         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1374
1375 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1376
1377         * mule-charset.c (Vcharacter_name_table): New variable.
1378         (Qname): New variable.
1379         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1380         attribute.
1381         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1382         `Vcharacter_name_table' for `name' attribute.
1383         (Fremove_char_attribute): Use function `remove_char_ccs'.
1384         (put_char_ccs_code_point): New function.
1385         (remove_char_ccs): New function.
1386         (syms_of_mule_charset): Add new symbol `name'.
1387         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1388
1389 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1390
1391         * mule-charset.c (make_byte_table): Add new argument `older'.
1392         (make_char_id_table): Likewise.
1393         (copy_char_id_table): Comment out because it is not used.
1394         (put_char_id_table): Modify for `make_byte_table'.
1395         (Fput_char_attribute): Make encoding_table as older object;
1396         inherit older bit of `Vcharacter_composition_table'.
1397         (mark_charset): Don't mark `cs->encoding_table'.
1398         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1399         normal object; make `Vcharacter_composition_table' as an older
1400         object; delete staticpro for `Vcharacter_composition_table'; make
1401         `Vcharacter_variant_table' as a normal object.
1402
1403         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1404         (mark_object): Don't check older object in UTF-2000.
1405
1406         * lrecord.h (struct lrecord_header): Add new member `older' in
1407         UTF-2000.
1408         (set_lheader_implementation): Setup `SLI_header->older' in
1409         UTF-2000.
1410         (set_lheader_older_implementation): New macro in UTF-2000.
1411         (OLDER_RECORD_P): New macro in UTF-2000.
1412         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1413         (alloc_older_lcrecord): New prototype in UTF-2000.
1414         (alloc_older_lcrecord_type): New macro in UTF-2000.
1415
1416 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * mule-charset.c (byte_table_description): Use
1419         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1420         (char_id_table_description): Delete bogus `, 1'.
1421         (Fget_char_attribute): Refer encoding_table of each coded-charset
1422         to get value of coded-charset attribute of a character.
1423         (Fput_char_attribute): Use `make_older_vector' instead of
1424         `make_vector'; use encoding_table of each coded-charset to store
1425         value of coded-charset attribute of a character.
1426         (Fremove_char_attribute): Use encoding_table of each coded-charset
1427         to store value of coded-charset attribute of a character.
1428         (mark_charset): Mark `cs->encoding_table'; don't mark
1429         `cs->decoding_table'.
1430         (charset_description): Add description of new member
1431         `encoding_table'.
1432         (make_charset): Initialize `encoding_table'.
1433
1434         * char-ucs.h (struct Lisp_Charset): Add new member
1435         `encoding_table'.
1436         (CHARSET_ENCODING_TABLE): New macro.
1437         (XCHARSET_ENCODING_TABLE): New macro.
1438         (charset_code_point): New implementation.
1439         (encode_char_1): Likewise.
1440
1441         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1442         (disksave_object_finalization_1): Call finalizers of
1443         `all_older_lcrecords' in UTF-2000.
1444         (make_older_vector): New function in UTF-2000.
1445         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1446         UTF-2000.
1447
1448         * lisp.h (make_older_vector): New prototype in UTF-2000.
1449
1450 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1451
1452         * lrecord.h (enum lrecord_type): Rename
1453         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1454
1455         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1456         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1457         `get_char_code_table'.
1458
1459         * mule-charset.c (mark_char_id_table): Renamed from
1460         `mark_char_code_table'.
1461         (char_id_table_equal): Renamed from `char_code_table_equal'.
1462         (char_id_table_hash): Renamed from `char_code_table_hash'.
1463         (make_char_id_table): Renamed from `make_char_code_table'.
1464         (copy_char_id_table): Renamed from `copy_char_code_table'.
1465         (get_char_id_table): Renamed from `get_char_code_table'.
1466         (put_char_id_table): Renamed from `put_char_code_table'.
1467         (to_char_id): Renamed from `to_char_code'.
1468
1469         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1470         `Lisp_Char_Code_Table'.
1471         (char_id_table): Renamed from `char_code_table'.
1472         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1473         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1474         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1475         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1476         (get_char_id_table): Renamed from `get_char_code_table'.
1477
1478 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1479
1480         * lrecord.h (enum lrecord_type): Rename
1481         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1482
1483         * mule-charset.c (mark_byte_table): Renamed from
1484         `mark_char_byte_table'.
1485         (byte_table_equal): Renamed from `char_byte_table_equal'.
1486         (byte_table_hash): Renamed from `byte_table_hash'.
1487         (make_byte_table): Renamed from `make_byte_table'.
1488         (copy_byte_table): Renamed from `copy_char_byte_table'.
1489
1490         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1491         `Lisp_Char_Byte_Table'.
1492         (byte_table): Renamed from `char_byte_table'.
1493         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1494         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1495         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1496         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1497
1498 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1499
1500         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1501         (dfc_convert_to_internal_format): Likewise.
1502         
1503         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1504         * text-coding.c (Fcoding_system_alias_p): New function.
1505         * text-coding.c (Fcoding_system_aliasee): New function.
1506         * text-coding.c (append_suffix_to_symbol): New function.
1507         * text-coding.c (dangling_coding_system_alias_p): New function.
1508         * text-coding.c (Ffind_coding_system):
1509         * text-coding.c (Fcopy_coding_system):
1510         * text-coding.c (encode_coding_no_conversion):
1511         * text-coding.c (syms_of_file_coding):
1512         * text-coding.c (vars_of_file_coding):
1513         Rewrite coding system alias code.
1514         Allow nested aliases, like symbolic links.
1515         Allow redefinition of coding system aliases.
1516         Prevent existence of dangling coding system aliases.
1517         Eliminate convert_to_external_format.
1518         Eliminate convert_to_internal_format.
1519         
1520         * text-coding.c: Change enum eol_type to eol_type_t.
1521
1522 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1523
1524         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1525         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1526
1527         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1528         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1529
1530 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1531
1532         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1533         `ideograph-daikanwa'.
1534
1535         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1536         (Vcharset_ucs_bmp): Likewise.
1537         (Vcharset_mojikyo): Add new extern variable definition.
1538         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1539         (Vcharset_latin_iso8859_3): Likewise.
1540         (Vcharset_latin_iso8859_4): Likewise.
1541         (Vcharset_latin_iso8859_9): Likewise.
1542         (Vcharset_latin_viscii_lower): Likewise.
1543         (Vcharset_latin_viscii_upper): Likewise.
1544         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1545         `mojikyo' code-point is used to decode.
1546         (encode_char_2): New function [to convert `mojikyo' code-point to
1547         Mojikyo font encoding].
1548         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1549         (breakup_char_1): Likewise.
1550         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1551
1552 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1553
1554         * text-coding.c (Fmake_coding_system): Add document about
1555         `disable-composition' property.
1556
1557 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1558
1559         * text-coding.c (Qdisable_composition): New variable; delete
1560         `Qcomposite'.
1561         (Fmake_coding_system): Add new property `disable-composite';
1562         delete property `composite'.
1563         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1564         instead of `!CODING_SYSTEM_COMPOSITE'.
1565         (syms_of_file_coding): Add new symbol `disable-composition';
1566         delete symbol `composite'.
1567
1568         * file-coding.h (struct Lisp_Coding_System): Add
1569         `disable_composition'; delete `enable_composition'.
1570         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1571         `CODING_SYSTEM_COMPOSITE'.
1572         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1573         `XCODING_SYSTEM_COMPOSITE'.
1574
1575 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1576
1577         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1578         to 0.15.
1579
1580 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1581
1582         * text-coding.c (Qcomposite): New variable.
1583         (Fmake_coding_system): Add new property `composite'.
1584         (struct decoding_stream): Add `combined_char_count',
1585         `combined_chars' and `combining_table' in UTF-2000.
1586         (COMPOSE_FLUSH_CHARS): New macro.
1587         (COMPOSE_ADD_CHAR): New macro.
1588         (reset_decoding_stream): Reset `str->combined_char_count' and
1589         `str->combining_table' in UTF-2000.
1590         (decode_coding_iso2022): Modify for character-decomposition.
1591         (syms_of_file_coding): Add new symbol `composite'.
1592
1593 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1594
1595         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1596         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1597         of `Vcharacter_composition_table' if `->decomposition' property
1598         has only 1 element.
1599         (Qlatin_tcvn5712): New variable.
1600         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1601         (complex_vars_of_mule_charset): Add new coded-charset
1602         `latin-tcvn5712'.
1603
1604         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1605
1606 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1607
1608         * file-coding.h (struct Lisp_Coding_System): Add
1609         `enable_composition'.
1610         (CODING_SYSTEM_COMPOSITE): New macro.
1611         (XCODING_SYSTEM_COMPOSITE): New macro.
1612
1613 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1614
1615         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1616
1617 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1618
1619         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1620         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1621
1622 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1623
1624         * mule-charset.c (Vcharset_mojikyo): New variable.
1625         (Fdefine_char): Don't use coded-charset which does not have
1626         non-builtin character range to allocate character-id.
1627         (Qmojikyo): New variable.
1628         (syms_of_mule_charset): Add new symbol `mojikyo'.
1629         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1630
1631         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1632         (LEADING_BYTE_MOJIKYO): New macro.
1633         (MIN_CHAR_MOJIKYO): New macro.
1634         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1635         (MAX_CHAR_MOJIKYO): New macro.
1636
1637 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1638
1639         * mule-charset.c (remove_char_attribute): Fixed.
1640
1641 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1642
1643         * mule-charset.c (remove_char_attribute): New function.
1644         (Fremove_char_attribute): New function.
1645         (encode_builtin_char_1): Comment out builtin-support for
1646         greek-iso8859-7 and cyrillic-iso8859-5.
1647         (Fdecode_char): Check `code' is an integer.
1648         (syms_of_mule_charset): Add `remove-char-attribute'.
1649         (MIN_CHAR_GREEK): Deleted.
1650         (MAX_CHAR_GREEK): Likewise.
1651         (MIN_CHAR_CYRILLIC): Likewise.
1652         (MAX_CHAR_CYRILLIC): Likewise.
1653         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1654         MAX_CHAR_GREEK for `greek-iso8859-7'.
1655
1656         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1657         (MAX_CHAR_GREEK): Likewise.
1658         (MIN_CHAR_CYRILLIC): Likewise.
1659         (MAX_CHAR_CYRILLIC): Likewise.
1660
1661 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1662
1663         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1664         format is used without `ucs' property.
1665         (Fdecode_char): Fix problem with GR representation.
1666         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1667         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1668
1669 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1670
1671         * mule-charset.c (make_builtin_char): New function.
1672         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1673         (Fset_charset_mapping_table): Modify for new representation of
1674         code-point.
1675         (Fdecode_char): New function.
1676         (syms_of_mule_charset): Add new builtin function `decode-char' in
1677         UTF-2000.
1678
1679         * char-ucs.h (make_builtin_char): New prototype.
1680         (DECODE_CHAR): New inline function.
1681         (MAKE_CHAR): Use `DECODE_CHAR'.
1682
1683 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1684
1685         * text-coding.c (parse_charset_conversion_specs): Use
1686         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1687         `XCHARSET_TYPE'.
1688         (iso2022_designate): Likewise.
1689
1690         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1691         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1692
1693         * mule-charset.c (Vcharset_ucs): New variable.
1694         (print_charset): Change design; use `CHARSET_CHARS' and
1695         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1696         (make_charset): Change signature to specify `chars' and
1697         `dimension' instead of `type'.
1698         (range_charset_code_point): Modify for 256^n-set.
1699         (encode_builtin_char_1): Encode as `ucs' in default.
1700         (Fmake_charset): Modify for `make_charset'.
1701         (Fmake_reverse_direction_charset): Likewise.
1702         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1703         UTF-2000.
1704         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1705         for `make_charset'.
1706
1707         * char-ucs.h (Vcharset_ucs): New variable.
1708         (LEADING_BYTE_UCS): New macro.
1709         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1710         and `chars' to `unsigned short' from `unsigned int'.
1711         (CHARSET_TYPE): Deleted.
1712         (XCHARSET_TYPE): Deleted.
1713
1714 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1715
1716         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1717
1718         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1719         (ENCODE_CHAR): New macro.
1720
1721 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1722
1723         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1724         to 0.14 (Kawachi-Katakami).
1725
1726 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1727
1728         * text-coding.c (char_encode_shift_jis): Modify for
1729         `charset_code_point'.
1730         (char_encode_iso2022): Likewise.
1731
1732         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1733         (integer) instead of list of <Lisp_Object>s (integers) as the
1734         format of code-point of a coded-charset.
1735         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1736         (encode_builtin_char_1): New function; delete
1737         `split_builtin_char'.
1738         (charset_code_point): Return <int> instead of <Lisp_Object>.
1739         (Fsplit_char): Don't use `SPLIT_CHAR'.
1740
1741         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1742         prototype for `split_builtin_char'.
1743         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1744         (charset_code_point): Likewise.
1745         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1746         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1747
1748 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1749
1750         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1751         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1752
1753 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1754
1755         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1756
1757         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1758         (MAX_CHAR_OBS_94x94): Deleted.
1759
1760 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1761
1762         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1763
1764         * char-ucs.h (MAX_CHAR_BMP): New macro.
1765
1766 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1767
1768         * text-coding.c: Sync with r21-2-24.
1769
1770 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1771
1772         * file-coding.c: Modify for UTF-2000.
1773
1774 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1775
1776         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1777         to 0.13 (Takaida).
1778
1779 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1780
1781         * mule-charset.c (split_builtin_char): Delete builtin support for
1782         `katakana-jisx0201'.
1783         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1784         BMP area in builtin representation.
1785
1786         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1787         `Vcharset_katakana_jisx0201'.
1788
1789 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1790
1791         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1792         (Qisolated): New variable.
1793         (Qinitial): New variable.
1794         (Qmedial): New variable.
1795         (Qfinal): New variable.
1796         (Qvertical): New variable.
1797         (Qsmall): New variable.
1798         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1799         `Qvertical' and `Qsmall'.
1800         (Qmojikyo_pj_[1 .. 21]): New variable.
1801         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1802         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1803         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1804         .. 21]'.
1805
1806 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1807
1808         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1809         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1810         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1811
1812 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1813
1814         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1815         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1816         BMP.
1817         (Qjapanese_jisx0208_1990): New variable.
1818         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1819         (complex_vars_of_mule_charset): Add new coded-charset
1820         `japanese-jisx0208-1990'.
1821
1822         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1823         (MIN_CHAR_JIS_X0208_1990): New macro.
1824         (MAX_CHAR_JIS_X0208_1990): New macro.
1825
1826 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1827
1828         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1829         coded-charset is not found.
1830
1831 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1832
1833         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1834         (Fdefine_char): Use `Fmake_char'.
1835
1836 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1837
1838         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1839         (Vcharset_hiragana_jisx0208): Deleted.
1840         (Vcharset_katakana_jisx0208): Deleted.
1841         (Qideograph_daikanwa): New variable.
1842         (Qhiragana_jisx0208): Deleted.
1843         (Qkatakana_jisx0208): Deleted.
1844         (split_builtin_char): Split `ideograph-daikanwa'.
1845         (Fsplit_char): New implementation for UTF-2000.
1846         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1847         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1848         (complex_vars_of_mule_charset): Add new coded-charset
1849         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1850         `katakana-jisx0208'.
1851
1852         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1853         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1854         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1855         (MIN_CHAR_DAIKANWA): New macro.
1856         (MAX_CHAR_DAIKANWA): New macro.
1857
1858 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1859
1860         * data.c (Fstring_to_number): Don't recognize floating point if
1861         base is not 10.
1862
1863 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1864
1865         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1866
1867 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1868
1869         * mule-charset.c (Qsquare): New variable.
1870         (to_char_code): Add `Qsquare'.
1871         (syms_of_mule_charset): Add new symbol `square'.
1872
1873 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1874
1875         * mule-charset.c (Qcircle): New variable.
1876         (to_char_code): Add `Qcircle'.
1877         (syms_of_mule_charset): Add new symbol `circle'.
1878
1879 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1880
1881         * mule-charset.c (Qfont): New variable.
1882         (to_char_code): Add `Qfont'.
1883         (syms_of_mule_charset): Add new symbol `font'.
1884
1885 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1886
1887         * mule-charset.c (Qsub): New variable.
1888         (to_char_code): Add `Qsub'.
1889         (syms_of_mule_charset): Add new symbol `sub'.
1890
1891 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1892
1893         * mule-charset.c (Fput_char_attribute): Convert each element of
1894         VALUE to GL position if ATTRIBUTE is a GR-set,
1895
1896 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1897
1898         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1899         coded-charset is a GR-set.
1900
1901 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1902
1903         * mule-charset.c (Fput_char_attribute): Check each element of
1904         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1905
1906 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1907
1908         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1909         UTF-2000.
1910         (Qethiopic_ucs): New variable in UTF-2000.
1911         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1912         (complex_vars_of_mule_charset): Add new coded-charset
1913         `ethiopic-ucs' in UTF-2000.
1914
1915         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1916         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1917         9)'.
1918         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1919         10)'.
1920         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1921
1922 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1923
1924         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1925         `ascii'.
1926
1927 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1928
1929         * mule-charset.c (Vcharacter_variant_table): New variable.
1930         (Q_ucs): New variable.
1931         (Fchar_variants): New function.
1932         (Fput_char_attribute): Register `->ucs' value to
1933         `Vcharacter_variant_table'.
1934         (syms_of_mule_charset): Add new function `char-variants' and new
1935         symbol `->ucs'.
1936         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1937
1938 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1939
1940         * mule-charset.c (get_char_code_table): Allow negative character
1941         code.
1942         (put_char_code_table): Likewise.
1943         (Vcharacter_composition_table): New variable.
1944         (Q_decomposition): New variable.
1945         (Qwide): New variable.
1946         (Qnarrow): New variable.
1947         (Qcompat): New variable.
1948         (QnoBreak): New variable.
1949         (Qsuper): New variable.
1950         (Qfraction): New variable.
1951         (to_char_code): New function.
1952         (Fget_composite_char): New function.
1953         (Fput_char_attribute): Register `->decomposition' value to
1954         `Vcharacter_composition_table'.
1955         (syms_of_mule_charset): Add new function `get-composite-char', new
1956         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1957         `super' and `fraction'.
1958         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1959
1960 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1961
1962         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1963         character; copy the return value.
1964
1965 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1966
1967         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1968
1969         * mule-charset.c (range_charset_code_point): Must use make_int.
1970         (split_builtin_char): New function.
1971
1972 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1973
1974         * mule-charset.c (char_byte_table): Change name from
1975         "char-code-table" to "char-byte-table".
1976         (mark_char_code_table): New function.
1977         (char_code_table_equal): New function.
1978         (char_code_table_hash): New function.
1979         (char_code_table_description): New constant.
1980         (char_code_table): New type.
1981         (make_char_code_table): New function.
1982         (copy_char_code_table): New function.
1983         (get_char_code_table): Modify for `char_code_table' type.
1984         (put_char_code_table): Likewise.
1985         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1986         (Kashiwara).
1987
1988         * char-ucs.h (char_code_table): New type.
1989         (XCHAR_CODE_TABLE): New macro.
1990         (XSETCHAR_CODE_TABLE): New macro.
1991         (CHAR_CODE_TABLE_P): New macro.
1992         (GC_CHAR_CODE_TABLE_P): New macro.
1993         (struct Lisp_Char_Code_Table): New structure.
1994
1995 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1996
1997         * mule-charset.c (Fmake_charset): Setup byte_offset for
1998         {94|96}^n-set.
1999
2000 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2001
2002         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2003         character.
2004
2005 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2006
2007         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2008         is found.
2009
2010 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2011
2012         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2013         charset, it is regarded as a charset.
2014         (put_char_attribute): New function in UTF-2000.
2015         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2016         charset, mapping-table of the charset is modified.
2017         (Fdefine_char): New function in UTF-2000.
2018         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2019         `Fput_char_attribute'.
2020         (syms_of_mule_charset): Add new function `define-char' and new
2021         symbol `ucs' in UTF-2000.
2022         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2023
2024 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2025
2026         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2027         non-UTF-2000 configuration.
2028
2029 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2030
2031         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2032         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2033
2034         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2035         deleted.
2036         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2037         (Fset_charset_mapping_table): Likewise.
2038
2039         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2040         (CHARSET_ENCODING_TABLE): Delete.
2041         (XCHARSET_ENCODING_TABLE): Delete.
2042         (charset_code_point): New interface.
2043
2044 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2045
2046         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2047         instead of `charset_get_byte1' and `charset_get_byte2'.
2048
2049         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2050         (charset_get_byte2): Deleted.
2051
2052 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2053
2054         * char-ucs.h (SPLIT_CHAR): New inline function.
2055         (breakup_char_1): Use `SPLIT_CHAR'.
2056
2057         * mule-charset.c (range_charset_code_point): New function.
2058         (charset_code_point): New function.
2059
2060         * char-ucs.h (range_charset_code_point): New interface.
2061         (breakup_char_1): Use `range_charset_code_point'.
2062
2063 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2064
2065         * mule-charset.c (Fmake_charset): Delete unused local variable
2066         `code_offset'.
2067
2068         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2069         (breakup_char_1): Find a charset and code-point in
2070         `Vcharacter_attribute_table'.
2071
2072 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2073
2074         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2075         to 0.10 (Yao).
2076
2077 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2078
2079         * mule-charset.c (Vcharacter_attribute_table): New variable.
2080         (Fchar_attribute_alist): New function.
2081         (Fget_char_attribute): New function.
2082         (Fput_char_attribute): New function.
2083         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2084         too.
2085         (syms_of_mule_charset): Add new function `char-attribute-alist',
2086         `get-char-attribute' and `put-char-attribute'.
2087         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2088
2089 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2090
2091         * mule-charset.c (Fmake_charset): Just use
2092         `get_unallocated_leading_byte'.
2093
2094         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2095         sets; don't use final-byte based number for private sets.
2096
2097 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2098
2099         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2100         integer.
2101
2102 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2103
2104         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2105         to 0.9.
2106
2107 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2108
2109         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2110         of `CHAR_LEADING_BYTE' in UTF-2000.
2111
2112         * insdel.c (find_charsets_in_bufbyte_string): Use
2113         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2114         (find_charsets_in_emchar_string): Likewise.
2115
2116         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2117         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2118
2119         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2120         (CHAR_CHARSET_ID): New macro.
2121
2122 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2123
2124         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2125         charset-id - MIN_LEADING_BYTE.
2126         (put_char_table): Likewise.
2127
2128 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2129
2130         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2131         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2132         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2133         (CHARSET_ID_OFFSET): New macro.
2134         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2135         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2136         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2137         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2138         4).
2139         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2140         5).
2141         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2142         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2143         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2144         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2145         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2146
2147 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2148
2149         * mule-charset.c (next_allocated_leading_byte): New variable in
2150         UTF-2000.
2151         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2152         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2153         (get_unallocated_leading_byte): Simply use
2154         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2155         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2156         UTF-2000.
2157
2158         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2159         (MAX_LEADING_BYTE_PRIVATE): New macro.
2160         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2161         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2162
2163 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2164
2165         * mule-charset.c (Fmake_charset): Allocate final-byte based
2166         charset-id for 94-set, 96-set and 94x94-set.
2167
2168 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2169
2170         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2171         ambiguous `else'.
2172         (Fmake_charset): Likewise.
2173         (complex_vars_of_mule_charset): Modify the font registry of
2174         `ucs-bmp' not to match `Ethiopic-Unicode'.
2175
2176 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2177
2178         * mule-charset.c (complex_vars_of_mule_charset): Add font
2179         registory of `ucs-bmp'.
2180
2181 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2182
2183         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2184         coded-charsets in `default-coded-charset-priority-list' when
2185         breaking up a character.
2186
2187         * mule-charset.c (Vcharset_latin_viscii): New variable.
2188         (Qlatin_viscii): New variable.
2189         (make_charset): Don't use `decoding_table'.
2190         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2191         byte_offset.
2192         (Fset_charset_mapping_table): New implementation.
2193         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2194         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2195         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2196         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2197         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2198         charset `latin_viscii'.
2199
2200         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2201         (CHARSET_TYPE_94X94): Change to 1 from 2.
2202         (CHARSET_TYPE_96): Change to 2 from 1.
2203         (CHARSET_TYPE_128): New macro.
2204         (CHARSET_TYPE_128X128): Change to 5 from 4.
2205         (CHARSET_TYPE_256): New macro.
2206         (CHARSET_TYPE_256X256): Change to 7 from 5.
2207         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2208
2209 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2210
2211         * text-coding.c (char_encode_shift_jis): Refer
2212         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2213         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2214
2215         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2216         (char_byte_table_equal): New function in UTF-2000.
2217         (char_byte_table_hash): New function in UTF-2000.
2218         (char_byte_table_description): New constant in UTF-2000.
2219         (char_byte_table): New type in UTF-2000.
2220         (make_char_byte_table): New function in UTF-2000.
2221         (copy_char_byte_table): New function in UTF-2000.
2222         (make_char_code_table): New macro in UTF-2000.
2223         (get_char_code_table): New function in UTF-2000.
2224         (put_char_code_table): New function in UTF-2000.
2225         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2226         (charset_description): Add setting in UTF-2000.
2227         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2228         `CHARSET_TO_BYTE1_TABLE(cs)'.
2229         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2230         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2231         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2232         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2233         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2234         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2235         `CHARSET_TO_BYTE2_TABLE(cs)'.
2236
2237         * char-ucs.h (char_byte_table): New type.
2238         (XCHAR_BYTE_TABLE): New macro.
2239         (XSETCHAR_BYTE_TABLE): New macro.
2240         (CHAR_BYTE_TABLE_P): New macro.
2241         (GC_CHAR_BYTE_TABLE_P): New macro.
2242         (struct Lisp_Char_Byte_Table): New structure.
2243         (get_char_code_table): New interface.
2244         (Emchar_to_byte_table): Deleted.
2245         (get_byte_from_character_table): Deleted.
2246         (struct Lisp_Charset): Add `encoding_table'; delete
2247         `to_byte1_table' and `to_byte2_table'.
2248         (CHARSET_ENCODING_TABLE): New macro.
2249         (CHARSET_TO_BYTE1_TABLE): Deleted.
2250         (CHARSET_TO_BYTE2_TABLE): Deleted.
2251         (XCHARSET_ENCODING_TABLE): New macro.
2252         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2253         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2254
2255 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2256
2257         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2258         `vietnamese-viscii-*'.
2259
2260 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2261
2262         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2263         (Qvietnamese_viscii_upper): New variable.
2264         (Fdefine_charset_alias): New function.
2265         (syms_of_mule_charset): Add new function `define-charset-alias'.
2266         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2267         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2268         `latin-viscii-*'.
2269
2270 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2271
2272         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2273         (MAX_CHAR_OBS_94x94): New macro.
2274         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2275         for 94x94 sets.
2276
2277         * mule-charset.c (put_byte_from_character_table): Change unit size
2278         from 128 to 256.
2279         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2280         not defined.
2281         (Fmake_reverse_direction_charset): Modify dummy argument of
2282         `make_charset' for non-UTF-2000 environment.
2283
2284 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2285
2286         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2287
2288         * mule-charset.c (destroy_byte_from_character_table): New macro.
2289         (latin_jisx0201_to_ucs): Deleted.
2290         (latin_iso8859_2_to_ucs): Deleted.
2291         (latin_iso8859_3_to_ucs): Deleted.
2292         (latin_iso8859_4_to_ucs): Deleted.
2293         (latin_iso8859_9_to_ucs): Deleted.
2294         (latin_viscii_lower_to_ucs): Deleted.
2295         (latin_viscii_upper_to_ucs): Deleted.
2296         (mark_charset): Mark `cs->decoding_table'.
2297         (Fcharset_mapping_table): Fix DOC-string.
2298         (Fset_charset_mapping_table): New function.
2299         (syms_of_mule_charset): Add nwe function
2300         `set-charset-mapping-table'.
2301         (complex_vars_of_mule_charset): Don't setup and use
2302         `latin_*_to_ucs'.
2303
2304 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2305
2306         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2307         charset.
2308
2309 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2310
2311         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2312         (Vcharset_katakana_jisx0208): New variable.
2313         (Qhiragana_jisx0208): New variable.
2314         (Qkatakana_jisx0208): New variable.
2315         (make_charset): Add new argument `byte_offset'.
2316         (charset_get_byte1): Modify for new coded-charset definition; use
2317         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2318         `XCHARSET_BYTE_OFFSET'.
2319         (Fmake_charset): Modify for `make_charset'.
2320         (Fmake_reverse_direction_charset): Likewise.
2321         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2322         `katakana-jisx0208'.
2323         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2324         `.'  in font registry of charset `katakana-jisx0201',
2325         `latin-jisx0201', `vietnamese-viscii-lower' and
2326         `vietnamese-viscii-upper'; modify DOC-string of charset
2327         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2328         registry of charset `japanese-jisx0208' not to use font for JIS
2329         X0208:1990; add new charset `hiragana-jisx0208' and
2330         `katakana-jisx0208'.
2331
2332         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2333         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2334         (struct Lisp_Charset): Add `byte_offset'.
2335         (CHARSET_BYTE_OFFSET): New macro.
2336         (XCHARSET_UCS_MIN): New macro.
2337         (XCHARSET_UCS_MAX): New macro.
2338         (XCHARSET_CODE_OFFSET): New macro.
2339         (XCHARSET_BYTE_OFFSET): New macro.
2340         (MIN_CHAR_HIRAGANA): New macro.
2341         (MAX_CHAR_HIRAGANA): New macro.
2342         (MIN_CHAR_KATAKANA): New macro.
2343         (MAX_CHAR_KATAKANA): New macro.
2344         (MAKE_CHAR): Modify for new coded-charset definition; use
2345         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2346         `XCHARSET_BYTE_OFFSET'.
2347
2348 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2349
2350         * mule-charset.c (CHAR96): Deleted.
2351         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2352         <Lisp_Object>.
2353         (latin_iso8859_2_to_ucs): Likewise.
2354         (latin_iso8859_3_to_ucs): Likewise.
2355         (latin_iso8859_4_to_ucs): Likewise.
2356         (latin_iso8859_9_to_ucs): Likewise.
2357         (latin_viscii_lower_to_ucs): Likewise.
2358         (latin_viscii_upper_to_ucs): Likewise.
2359         (latin_tcvn5712_to_ucs): Commented out.
2360         (make_charset): Change type of argument `decoding_table' from
2361         <Emchar*> to <Lisp_Object> [vector of characters].
2362         (Fmake_charset): Modify for `make_charset'.
2363         (Fmake_reverse_direction_charset): Likewise.
2364         (Fcharset_mapping_table): New function in UTF-2000.
2365         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2366         UTF-2000.
2367         (complex_vars_of_mule_charset): Modify for type change of
2368         `*_to_ucs'; modify for `make_charset'.
2369
2370         * char-ucs.h (struct Lisp_Charset): Change type of
2371         `decoding_table' from <Emchar*> to <Lisp_Object>.
2372         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2373
2374 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2375
2376         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2377         error with non-UTF-2000-Mule.
2378
2379 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2380
2381         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2382         in lisp again].
2383         (Vcharset_chinese_cns11643_4): Likewise.
2384         (Vcharset_chinese_cns11643_5): Likewise.
2385         (Vcharset_chinese_cns11643_6): Likewise.
2386         (Vcharset_chinese_cns11643_7): Likewise.
2387         (Qchinese_cns11643_3): Likewise.
2388         (Qchinese_cns11643_4): Likewise.
2389         (Qchinese_cns11643_5): Likewise.
2390         (Qchinese_cns11643_6): Likewise.
2391         (Qchinese_cns11643_7): Likewise.
2392         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2393         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2394         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2395         (complex_vars_of_mule_charset): Likewise.
2396
2397 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2398
2399         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2400         96-set.
2401         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2402         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2403
2404 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2405
2406         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2407         0xFF60.
2408         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2409         (breakup_char_1): Likewise.
2410
2411         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2412         one of them includes the specified character.
2413
2414 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2415
2416         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2417
2418 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2419
2420         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2421
2422 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2423
2424         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2425         definition for non-UTF-2000 Mule.
2426         (latin_iso8859_3_to_ucs): Likewise.
2427         (latin_iso8859_4_to_ucs): Likewise.
2428         (latin_iso8859_9_to_ucs): Likewise.
2429         (latin_jisx0201_to_ucs): Likewise.
2430         (MIN_CHAR_THAI): Likewise.
2431         (MAX_CHAR_THAI): Likewise.
2432         (MIN_CHAR_GREEK): Likewise.
2433         (MAX_CHAR_GREEK): Likewise.
2434         (MIN_CHAR_HEBREW): Likewise.
2435         (MAX_CHAR_HEBREW): Likewise.
2436         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2437         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2438         (MIN_CHAR_CYRILLIC): Likewise.
2439         (MAX_CHAR_CYRILLIC): Likewise.
2440
2441 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2442
2443         * char-ucs.h (breakup_char_1): Use
2444         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2445         thai-tis620 and katakana-jisx0201 area.
2446
2447 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2448
2449         * char-ucs.h (breakup_char_1): Use
2450         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2451         area.
2452
2453         * text-coding.c (reset_encoding_stream): Fixed.
2454         (char_encode_ucs4): Delete `& 255'.
2455
2456         * char-ucs.h (breakup_char_1): Use
2457         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2458
2459 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2460
2461         * file-coding.c (Fmake_coding_system): Don't set up
2462         `codesys->fixed.size'.
2463         (encode_coding_no_conversion): Don't refer
2464         `str->codesys->fixed.size'.
2465
2466 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2467
2468         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2469         (latin_a_char_to_byte1): Deleted.
2470         (latin_a_char_to_byte2): Deleted.
2471
2472 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2473
2474         * mule-charset.c (make_charset): Add new argument `ucs_min',
2475         `ucs_max' and `code_offset'.
2476         (charset_get_byte1): New implementation [delete specific charset
2477         depended implementations].
2478         (Fmake_charset): Modify for `make_charset'.
2479         (Fmake_reverse_direction_charset): Likewise.
2480         (complex_vars_of_mule_charset): Likewise.
2481
2482         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2483         `code_offset'.
2484         (CHARSET_UCS_MIN): New macro.
2485         (CHARSET_UCS_MAX): New macro.
2486         (CHARSET_CODE_OFFSET): New macro.
2487         (MAKE_CHAR): Delete charset depended definitions [except
2488         katakana-jisx0201].
2489
2490 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2491
2492         * char-ucs.h (breakup_char_1): Use
2493         `Vdefault_coded_charset_priority_list' for C0-Controls,
2494         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2495
2496 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2497
2498         * char-ucs.h (charset_get_byte1): New function.
2499         (XCHARSET_GET_BYTE1): Deleted.
2500         (charset_get_byte2): New function.
2501         (XCHARSET_GET_BYTE2): Deleted.
2502         (Vdefault_coded_charset_priority_list): New external variable.
2503         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2504         `Vdefault_preferred_coded_charset_list'.
2505
2506         * mule-charset.c (charset_get_byte1): New function.
2507         (charset_get_byte2): New function.
2508         (Vdefault_coded_charset_priority_list): New variable.
2509         (vars_of_mule_charset): Add new variable
2510         `default-coded-charset-priority-list'.
2511
2512 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2513
2514         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2515         (XCHARSET_GET_BYTE2): New inline function.
2516         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2517         `XCHARSET_GET_BYTE2'.
2518
2519 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2520
2521         * mule-charset.c (make_charset): Initialize
2522         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2523         NULL if table is not defined.
2524
2525 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2526
2527         * text-coding.c (char_encode_shift_jis): Use
2528         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2529         `ucs_to_latin_jisx0201'.
2530
2531         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2532         (ucs_to_latin_iso8859_2): Deleted.
2533         (ucs_to_latin_iso8859_3): Deleted.
2534         (ucs_to_latin_iso8859_4): Deleted.
2535         (ucs_to_latin_iso8859_9): Deleted.
2536         (ucs_to_latin_viscii_lower): Deleted.
2537         (ucs_to_latin_viscii_upper): Deleted.
2538         (ucs_to_latin_tcvn5712): Deleted.
2539         (make_charset): Add new argument `decoding_table'; set up
2540         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2541         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2542         `decoding_table' is defined in UTF-2000.
2543         (Fmake_charset): Modify for `make_charset'.
2544         (Fmake_reverse_direction_charset): Likewise.
2545         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2546         and `GENERATE_96_SET'.
2547
2548         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2549         (ucs_to_latin_jisx0201): Deleted.
2550         (latin_iso8859_2_to_ucs): Deleted.
2551         (ucs_to_latin_iso8859_2): Deleted.
2552         (latin_iso8859_3_to_ucs): Deleted.
2553         (ucs_to_latin_iso8859_3): Deleted.
2554         (latin_iso8859_4_to_ucs): Deleted.
2555         (ucs_to_latin_iso8859_4): Deleted.
2556         (latin_iso8859_9_to_ucs): Deleted.
2557         (ucs_to_latin_iso8859_9): Deleted.
2558         (latin_viscii_lower_to_ucs): Deleted.
2559         (ucs_to_latin_viscii_lower): Deleted.
2560         (latin_viscii_upper_to_ucs): Deleted.
2561         (ucs_to_latin_viscii_upper): Deleted.
2562         (struct Lisp_Charset): Renamed `encoding_table' to
2563         `to_byte1_table'; add `to_byte2_table'.
2564         (CHARSET_DECODING_TABLE): New macro.
2565         (CHARSET_TO_BYTE1_TABLE): New macro.
2566         (CHARSET_TO_BYTE2_TABLE): New macro.
2567         (XCHARSET_DECODING_TABLE): New macro.
2568         (XCHARSET_TO_BYTE1_TABLE): New macro.
2569         (XCHARSET_TO_BYTE2_TABLE): New macro.
2570         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2571         tables.
2572         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2573         don't use `ucs_to_*' tables.
2574
2575 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2576
2577         * text-coding.c (Fmake_coding_system): Don't set up
2578         `codesys->fixed.size'.
2579         (encode_coding_no_conversion): Use `if' instead of `switch'.
2580
2581         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2582
2583 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2584
2585         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2586         (Fmake_charset): Modify for `make_charset'.
2587         (Fmake_reverse_direction_charset): Likewise.
2588         (complex_vars_of_mule_charset): Likewise.
2589
2590 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2591
2592         * text-coding.c (char_encode_shift_jis): Use table
2593         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2594
2595 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2596
2597         * text-coding.c (text_encode_generic): Use `if' instead of
2598         `switch'.
2599         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2600         decode JIS-Latin.
2601
2602 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2603
2604         * text-coding.c (encode_coding_sjis): Deleted.
2605         (char_encode_shift_jis): New function.
2606         (char_finish_shift_jis): New function.
2607         (reset_encoding_stream): Set up `encode_char' and `finish' for
2608         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2609         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2610         (char_encode_utf8): Treat `eol_type'.
2611
2612 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2613
2614         * file-coding.c (decode_coding_iso2022): Use
2615         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2616
2617 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2618
2619         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2620         to 0.7 (Hirano).
2621
2622 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2623
2624         * char-lb.h (CHAR_COLUMNS): New macro.
2625
2626 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2627
2628         * text-coding.c (char_encode_ucs4): New function.
2629         (char_finish_ucs4): New function.
2630         (encode_coding_ucs4): Deleted.
2631         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2632         (text_encode_generic): Delete local variable `charset' and `half'.
2633         (ucs_to_mule_table): Deleted.
2634         (mule_to_ucs_table): Deleted.
2635         (Fset_ucs_char): Deleted.
2636         (ucs_to_char): Deleted.
2637         (Fucs_char): Deleted.
2638         (Fset_char_ucs): Deleted.
2639         (Fchar_ucs): Deleted.
2640         (decode_ucs4): Deleted.
2641         (mule_char_to_ucs4): Deleted.
2642         (encode_ucs4): Deleted.
2643         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2644         (decode_coding_utf8): Likewise.
2645         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2646         (char_encode_iso2022): Fixed.
2647         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2648         `Fset_char_ucs' and `Fchar_ucs'.
2649         (complex_vars_of_file_coding): Don't initialize
2650         `ucs_to_mule_table'.
2651
2652         * objects-tty.c (tty_initialize_font_instance): Don't use
2653         `XCHARSET_COLUMNS'.
2654
2655         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2656         UTF-2000.
2657
2658         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2659         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2660
2661         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2662         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2663         (emchar_string_displayed_columns): Likewise.
2664
2665         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2666         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2667         (string_column_at_point): Likewise.
2668         (Fmove_to_column): Likewise.
2669
2670         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2671         `encoding_table' and `decoding_table'.
2672         (CHARSET_REP_BYTES): Deleted.
2673         (XCHARSET_REP_BYTES): Deleted.
2674         (XCHARSET_COLUMNS): Deleted.
2675         (CHAR_COLUMNS): New macro.
2676         (lookup_composite_char): Deleted unconditionally.
2677         (composite_char_string): Likewise.
2678
2679 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2680
2681         * char-ucs.h (Emchar_to_byte_table): New type.
2682         (get_byte_from_character_table): New function interface.
2683         (Vcharset_latin_jisx0201): New variable.
2684         (latin_jisx0201_to_ucs): New variable.
2685         (ucs_to_latin_jisx0201): New variable.
2686         (Vcharset_latin_iso8859_2): New variable.
2687         (latin_iso8859_2_to_ucs): New variable.
2688         (ucs_to_latin_iso8859_2): New variable.
2689         (Vcharset_latin_iso8859_3): New variable.
2690         (latin_iso8859_3_to_ucs): New variable.
2691         (ucs_to_latin_iso8859_3): New variable.
2692         (Vcharset_latin_iso8859_4): New variable.
2693         (latin_iso8859_4_to_ucs): New variable.
2694         (ucs_to_latin_iso8859_4): New variable.
2695         (Vcharset_latin_iso8859_9): New variable.
2696         (latin_iso8859_9_to_ucs): New variable.
2697         (ucs_to_latin_iso8859_9): New variable.
2698         (Vcharset_latin_viscii_lower): New variable.
2699         (latin_viscii_lower_to_ucs): New variable.
2700         (ucs_to_latin_viscii_lower): New variable.
2701         (Vcharset_latin_viscii_upper): New variable.
2702         (latin_viscii_upper_to_ucs): New variable.
2703         (ucs_to_latin_viscii_upper): New variable.
2704         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2705         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2706         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2707         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2708         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2709         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2710         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2711         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2712         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2713         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2714
2715         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2716         (Vcharset_latin_viscii_upper): New variable.
2717         (make_byte_from_character_table): New function.
2718         (put_byte_from_character_table): New function.
2719         (get_byte_from_character_table): New function.
2720         (CHAR96): New macro.
2721         (ucs_to_latin_jisx0201): New variable.
2722         (latin_jisx0201_to_ucs): New variable.
2723         (ucs_to_latin_iso8859_2): New variable.
2724         (latin_iso8859_2_to_ucs): New variable.
2725         (ucs_to_latin_iso8859_3): New variable.
2726         (latin_iso8859_3_to_ucs): New variable.
2727         (ucs_to_latin_iso8859_4): New variable.
2728         (latin_iso8859_4_to_ucs): New variable.
2729         (ucs_to_latin_iso8859_9): New variable.
2730         (latin_iso8859_9_to_ucs): New variable.
2731         (ucs_to_latin_viscii_lower): New variable.
2732         (latin_viscii_lower_to_ucs): New variable.
2733         (ucs_to_latin_viscii_upper): New variable.
2734         (latin_viscii_upper_to_ucs): New variable.
2735         (ucs_to_latin_tcvn5712): New variable.
2736         (latin_tcvn5712_to_ucs): New variable.
2737         (Qlatin_viscii_lower): New variable.
2738         (Qlatin_viscii_upper): New variable.
2739         (syms_of_mule_charset): Set up new symbol
2740         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2741         (complex_vars_of_mule_charset): Set up new charset
2742         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2743         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2744         `ucs_to_<CHARSET>' tables.
2745
2746 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2747
2748         * text-coding.c: New file.
2749
2750 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2751
2752         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2753
2754         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2755         (MAKE_CHAR): Modify for `ucs-bmp'.
2756         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2757         non-MULE characters of BMP.
2758
2759 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2760
2761         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2762         to 0.6.
2763
2764 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2765
2766         * lstream.h:
2767         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2768         - Include character.h for `CHAR_ASCII_P'.
2769
2770         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2771
2772         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2773         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2774
2775         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2776         (BYTE_C0_P): Likewise.
2777         (BYTE_C1_P): Likewise.
2778         (Lstream_get_emchar_1): Likewise.
2779         (Lstream_fput_emchar): Likewise.
2780         (Lstream_funget_emchar): Likewise.
2781         (copy_internal_to_external): Likewise.
2782         (copy_external_to_internal): Likewise.
2783
2784         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2785         (BYTE_C0_P): Likewise.
2786         (BYTE_C1_P): Likewise.
2787         (Lstream_get_emchar_1): Likewise.
2788         (Lstream_fput_emchar): Likewise.
2789         (Lstream_funget_emchar): Likewise.
2790         (copy_internal_to_external): Likewise.
2791         (copy_external_to_internal): Likewise.
2792
2793         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2794         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2795
2796         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2797         (BYTE_ASCII_P): Moved to mb-1byte.h.
2798
2799 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2800
2801         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2802
2803         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2804         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2805         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2806         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2807         (VALIDATE_CHARPTR_FORWARD): Likewise.
2808         (simple_charptr_emchar): Moved to mb-multibyte.h.
2809         (simple_set_charptr_emchar): Likewise.
2810         (simple_charptr_copy_char): Likewise.
2811         (non_ascii_charptr_emchar): Likewise.
2812         (non_ascii_set_charptr_emchar): Likewise.
2813         (non_ascii_charptr_copy_char): Likewise.
2814         (charptr_emchar): Moved to mb-*byte.h.
2815         (set_charptr_emchar): Likewise.
2816         (charptr_copy_char): Likewise.
2817
2818         * mb-1byte.h, mb-multibyte.h: New files.
2819
2820 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2821
2822         * mb-utf-8.h (MULTIBYTE): New macro.
2823         (MAX_EMCHAR_LEN): Moved from buffer.h.
2824         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2825
2826         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2827
2828         * mb-lb.h, multibyte.h: New files.
2829
2830         * char-1byte.h (Charset_ID): Moved from buffer.h.
2831         (MIN_LEADING_BYTE): Likewise.
2832         (LEADING_BYTE_ASCII): Likewise.
2833         (NUM_LEADING_BYTES): Likewise.
2834         (CHARSETP): Likewise.
2835         (CHARSET_BY_LEADING_BYTE): Likewise.
2836         (XCHARSET_LEADING_BYTE): Likewise.
2837         (XCHARSET_GRAPHIC): Likewise.
2838         (XCHARSET_COLUMNS): Likewise.
2839         (XCHARSET_DIMENSION): Likewise.
2840         (CHAR_CHARSET): Likewise.
2841         (CHAR_LEADING_BYTE): Likewise.
2842         (BREAKUP_CHAR): Likewise.
2843         (Vcharset_ascii): Likewise.
2844
2845         * buffer.h: Include multibyte.h unconditionally.
2846         (VALID_CHARPTR_P): Moved to multibyte.h.
2847         (ASSERT_VALID_CHARPTR): Likewise.
2848         (REAL_INC_CHARPTR): Likewise.
2849         (REAL_INC_CHARBYTIND): Likewise.
2850         (REAL_DEC_CHARPTR): Likewise.
2851         (INC_CHARPTR): Likewise.
2852         (INC_CHARBYTIND): Likewise.
2853         (DEC_CHARPTR): Likewise.
2854         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2855         (VALIDATE_CHARPTR_FORWARD): Likewise.
2856         (charptr_n_addr): Likewise.
2857         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2858         (simple_charptr_emchar): Moved to multibyte.h.
2859         (simple_set_charptr_emchar): Likewise.
2860         (simple_charptr_copy_char): Likewise.
2861         (non_ascii_charptr_emchar): Likewise.
2862         (non_ascii_set_charptr_emchar): Likewise.
2863         (non_ascii_charptr_copy_char): Likewise.
2864         (charptr_emchar): Likewise.
2865         (set_charptr_emchar): Likewise.
2866         (charptr_copy_char): Likewise.
2867         (charptr_emchar_n): Likewise.
2868         (Charset_ID): Moved to char-1byte.h.
2869         (Vcharset_ascii): Likewise.
2870         (CHAR_CHARSET): Likewise.
2871         (CHAR_LEADING_BYTE): Likewise.
2872         (LEADING_BYTE_ASCII): Likewise.
2873         (NUM_LEADING_BYTES): Likewise.
2874         (MIN_LEADING_BYTE): Likewise.
2875         (CHARSETP): Likewise.
2876         (CHARSET_BY_LEADING_BYTE): Likewise.
2877         (XCHARSET_LEADING_BYTE): Likewise.
2878         (XCHARSET_GRAPHIC): Likewise.
2879         (XCHARSET_COLUMNS): Likewise.
2880         (XCHARSET_DIMENSION): Likewise.
2881         (BREAKUP_CHAR): Likewise.
2882
2883 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2884
2885         * character.h: Add document about interface for characters.
2886
2887         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2888         (MAKE_CHAR): Delete comment about
2889         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2890         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2891         (BREAKUP_CHAR): Modify name of arguments.
2892         (CHAR_CHARSET): Modify name of argument.
2893
2894         * buffer.h: Delete document about Emchar accessors.
2895
2896 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2897
2898         * character.h (CHAR_INTP): Moved from buffer.h
2899         (CHAR_OR_CHAR_INTP): Likewise.
2900         (XCHAR_OR_CHAR_INT): Likewise.
2901         (CHECK_CHAR_COERCE_INT): Likewise.
2902
2903         * buffer.h (CHAR_INTP): Moved to character.h
2904         (CHAR_OR_CHAR_INTP): Likewise.
2905         (XCHAR_OR_CHAR_INT): Likewise.
2906         (CHECK_CHAR_COERCE_INT): Likewise.
2907
2908 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2909
2910         * character.h:
2911         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2912         - Include char-1byte.h, char-lb.h or char-ucs.h.
2913
2914         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2915
2916         * buffer.h: Include character unconditionally.
2917         (valid_char_p): Moved to char-*.h.
2918         (non_ascii_valid_char_p): Moved to char-lb.h.
2919
2920         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2921
2922 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2923
2924         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2925         in UTF-2000 because it is not ported yet and not to use
2926         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2927         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2928         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2929
2930         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2931         (CHAR_ASCII_P): Moved from character.h.
2932
2933         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2934         (CHAR_ASCII_P): Likewise.
2935         (CHAR_FIELD1_MASK): Deleted.
2936         (CHAR_FIELD2_MASK): Deleted.
2937         (CHAR_FIELD3_MASK): Deleted.
2938         (MAX_CHAR_BASIC_LATIN): New macro.
2939         (CHAR_FIELD1): Deleted.
2940         (CHAR_FIELD2_INTERNAL): Deleted.
2941         (CHAR_FIELD3_INTERNAL): Deleted.
2942         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2943         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2944         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2945         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2946         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2947         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2948         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2949         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2950         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2951         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2952         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2953         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2954         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2955         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2956         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2957         (MIN_CHAR_COMPOSITION): Deleted.
2958         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2959         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2960
2961 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2962
2963         * buffer.h: Include mb-utf-8.h in UTF-2000.
2964
2965         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2966
2967         * mb-utf-8.h: New file.
2968
2969 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2970
2971         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2972         instead of `int'.
2973
2974         * mule-charset.h, buffer.h (Charset_ID): New type.
2975
2976 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2977
2978         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2979         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2980         instead of `MULE_CHAR_PRIVATE_OFFSET',
2981         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2982         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2983         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2984
2985         * character.h (Vcharset_japanese_jisx0212): New variable
2986         definition.
2987
2988 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2989
2990         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2991         (charset_by_attributes): Delete array about direction.
2992         (latin_a_char_to_charset): New variable in UTF-2000.
2993         (latin_a_char_to_byte1): New variable in UTF-2000.
2994         (latin_a_char_to_byte2): New variable in UTF-2000.
2995         (Qucs_bmp): New variable.
2996         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2997         `Bufbyte'.
2998         (next_allocated_2_byte_leading_byte): Likewise.
2999         (non_ascii_set_charptr_emchar): Likewise.
3000         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3001         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3002         `charset_by_attributes'.
3003         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3004         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3005         and `CHARSET_BY_LEADING_BYTE'.
3006         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3007         `utf-2000-version' to `vars_of_mule_charset'.
3008         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3009         define `leading-code-private-11' in UTF-2000; move setting of
3010         `utf-2000-version' from `syms_of_mule_charset'.
3011         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3012         UTF-2000.
3013
3014         * character.h (Charset_ID): New type.
3015         (LEADING_BYTE_UCS_BMP): New macro.
3016         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3017         (CHARSET_ID_OFFSET_94): New macro.
3018         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3019         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3020         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3021         final-byte.
3022         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3023         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3024         (CHARSET_ID_OFFSET_96): New macro.
3025         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3026         CHARSET_ID_OFFSET_96 and final-byte.
3027         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3028         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3029         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3030         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3031         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3032         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3033         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3034         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3035         (LEADING_BYTE_THAI_TIS620): Likewise.
3036         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3037         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3038         (CHARSET_ID_OFFSET_94x94): New macro.
3039         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3040         CHARSET_ID_OFFSET_94x94 and final-byte.
3041         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3042         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3043         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3044         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3045         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3046         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3047         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3048         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3049         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3050         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3051         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3052         (CHARSET_TYPE_128X128): New macro.
3053         (CHARSET_TYPE_256X256): New macro.
3054         (XCHARSET_PRIVATE_P): Delete unconditionally.
3055         (charset_by_attributes): Delete array about direction.
3056         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3057         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3058         (MIN_CHAR_94): New macro.
3059         (MAX_CHAR_94): New macro.
3060         (MIN_CHAR_96): New macro.
3061         (MAX_CHAR_96): New macro.
3062         (MIN_CHAR_94x94): New macro.
3063         (MAX_CHAR_94x94): New macro.
3064         (MIN_CHAR_96x96): New macro.
3065         (MAX_CHAR_96x96): New macro.
3066         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3067         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3068         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3069         - 32)'.
3070         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3071         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3072         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3073         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3074         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3075         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3076         `XCHARSET_LEADING_BYTE' to make code-point.
3077         (latin_a_char_to_charset): New variable.
3078         (latin_a_char_to_byte1): New variable.
3079         (latin_a_char_to_byte2): New variable.
3080         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3081         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3082         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3083
3084         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3085         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3086         (find_charsets_in_emchar_string): Likewise.
3087         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3088
3089         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3090         `int'.
3091         (decode_coding_iso2022): Likewise.
3092
3093         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3094         of `unsigned char'.
3095
3096         * redisplay.c (redisplay_text_width_emchar_string): Use
3097         `Charset_ID' instead of `unsigned char'.
3098         (redisplay_frame_text_width_string): Likewise.
3099
3100         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3101         `unsigned char'.
3102
3103         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3104         instead of `unsigned char'.
3105         (face_cachel_charset_font_metric_info): Likewise.
3106
3107         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3108         (get_non_ascii_char_table_value): Likewise.
3109         (get_char_table): Likewise.
3110         (put_char_table): Likewise.
3111         (map_over_other_charset): Likewise.
3112         (map_char_table): Likewise.
3113
3114         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3115         instead of `unsigned char'.
3116
3117 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3118
3119         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3120         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3121
3122         * mule-charset.c (leading_code_private_11): Don't define in
3123         UTF-2000.
3124
3125         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3126         in UTF-2000 because it is not ported yet and not to use
3127         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3128
3129 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3130
3131         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3132
3133 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3134
3135         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3136         in UTF-2000.
3137
3138         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3139         of unsigned char to store leading-byte.
3140
3141         * chartab.c (get_non_ascii_char_table_value): Don't use
3142         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3143
3144         * file-coding.c (encode_coding_big5): Delete bogus implementation
3145         in UTF2000.
3146
3147         * character.h (LEADING_BYTE_*): Delete definition for
3148         non-UTF-2000.
3149         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3150         (LEADING_BYTE_PREFIX_P): Deleted.
3151         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3152         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3153         (BUFBYTE_LEADING_BYTE_P): Deleted.
3154         (CHARSET_PRIVATE_P): Deleted unconditionally.
3155         (rep_bytes_by_first_byte): Deleted unconditionally.
3156         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3157         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3158         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3159         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3160         (CHAR_FIELD2): Deleted.
3161         (CHAR_FIELD3): Deleted.
3162         (MAKE_CHAR): Delete definition for non-UTF-2000.
3163         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3164         (breakup_char_1): New implementation.
3165         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3166         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3167
3168 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3169
3170         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3171         condition.
3172
3173 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3174
3175         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3176         (CHARSET_PRIVATE_P): Likewise.
3177         (XCHARSET_PRIVATE_P): Likewise.
3178         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3179
3180         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3181         UTF2000.
3182         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3183
3184 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3185
3186         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3187         (NUM_LEADING_BYTES): Changed from 128 to 256.
3188         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3189         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3190         UTF2000.
3191         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3192
3193         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3194         UTF2000.
3195         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3196         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3197         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3198         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3199         (Qchinese_cns11643_3): New variable in UTF2000.
3200         (Qchinese_cns11643_4): New variable in UTF2000.
3201         (Qchinese_cns11643_5): New variable in UTF2000.
3202         (Qchinese_cns11643_6): New variable in UTF2000.
3203         (Qchinese_cns11643_7): New variable in UTF2000.
3204         (syms_of_mule_charset): Define `chinese-cns11643-3',
3205         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3206         and `chinese-cns11643-7' in UTF2000.
3207         (vars_of_mule_charset): Initialize
3208         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3209         + 1 in UTF2000.
3210         (complex_vars_of_mule_charset): Setup charset
3211         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3212         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3213
3214 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3215
3216         * mule-charset.c: Move setting for `leading-code-private-11' from
3217         `syms_of_mule_charset' to `vars_of_mule_charset'.
3218
3219 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3220
3221         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3222         and `NUM_LEADING_BYTES' in assert.
3223
3224 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3225
3226         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3227         instead of 128.
3228         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3229         `NUM_LEADING_BYTES' instead of 128.
3230
3231 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3232
3233         * mule-charset.h (charset_by_leading_byte): Use
3234         `NUM_LEADING_BYTES' instead of 128.
3235         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3236
3237         * mule-charset.c (charset_by_leading_byte): Use
3238         `NUM_LEADING_BYTES' instead of 128.
3239         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3240
3241         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3242         128.
3243
3244 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3245
3246         * mule-charset.c (syms_of_mule_charset): Update to
3247         0.4 (Shin-Imamiya).
3248
3249 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3250
3251         * file-coding.c (encode_coding_sjis): New implementation for
3252         UTF2000.  (decode_coding_sjis): Ditto.
3253
3254 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3255
3256         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3257         Don't define in UTF2000.
3258
3259         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3260         defined.
3261
3262         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3263         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3264         MULE.
3265
3266 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3267
3268         * config.h.in (CHAR_IS_UCS4): New macro.
3269
3270         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3271         conventional MULE representation.
3272         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3273
3274         * mule-charset.h: Reverted to original.
3275
3276         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3277         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3278         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3279
3280         * character.h: New file.
3281
3282         * file-coding.c (Fmake_coding_system): Set 1 to
3283         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3284         defined.
3285         (encode_coding_no_conversion): New implementation for UTF2000.
3286
3287         * file-coding.h (struct Lisp_Coding_System): Add new member
3288         `fixed.size'.
3289
3290 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3291
3292         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3293         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3294         (encode_coding_iso2022): New implementation for UTF2000.
3295
3296 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3297
3298         * mule-canna.c (c2mu): New implementation for UTF2000.
3299         (m2c): Likewise.
3300
3301 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3302
3303         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3304
3305 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3306
3307         * file-coding.c (reset_encoding_stream): Set 0 to
3308         `str->iso2022.current_char_boundary' in UTF2000.
3309         (encode_utf8): Don't define in UTF2000.
3310         (encode_coding_utf8): New implementation for UTF-8 representation
3311         of UTF2000.
3312         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3313
3314 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3315
3316         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3317
3318         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3319         UTF2000.
3320         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3321
3322         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3323
3324         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3325         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3326         as UTF-8 in UTF2000.
3327         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3328         (non_ascii_valid_char_p): Don't define in UTF2000.
3329         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3330         (Lstream_get_emchar_1): Likewise.
3331         (utf-2000-version): New variable in UTF2000.
3332
3333         * lread.c (read_escape): Add new reader `u'.
3334
3335         * insdel.c (three_to_one_table): Don't define in UTF2000.
3336         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3337         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3338         UTF2000.
3339         (bytind_to_bufpos_func): Likewise.
3340         (buffer_mule_signal_inserted_region): Likewise.
3341         (vars_of_insdel): Don't initialize `three_to_one_table'.
3342         (init_buffer_text): Use `buf->text->mule_size' instead of
3343         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3344         UTF2000.
3345
3346         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3347         UTF-8 representation in UTF2000.
3348         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3349         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3350         (decode_coding_iso2022): Don't define local variable `lb' in
3351         UTF2000; don't use LEADING_BYTE in UTF2000; use
3352         `DECODE_ADD_UCS_CHAR' in UTF2000.
3353         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3354
3355         * config.h.in (UTF2000): New macro.
3356
3357         * buffer.h (struct buffer_text): Add new member `mule_size' and
3358         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3359         (valid_char_p): Return always 1 in UTF2000.
3360         (MAX_EMCHAR_LEN): 6 in UTF2000.
3361         (three_to_one_table): Don't define in UTF2000.
3362         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3363         UTF2000.
3364         (real_bytind_to_bufpos): Likewise.
3365
3366         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3367
3368 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3369
3370         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3371         representation change.
3372         (Vutf_2000_version): New variable.
3373         (leading_code_private_11): New variable.
3374         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3375         `leading-code-private-11'.
3376
3377         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3378         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3379         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3380         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3381         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3382         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3383         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3384         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3385         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3386         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3387         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3388         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3389         (MIN_CHAR_GREEK): New macro.
3390         (MAX_CHAR_GREEK): New macro.
3391         (MIN_CHAR_CYRILLIC): New macro.
3392         (MAX_CHAR_CYRILLIC): New macro.
3393         (MIN_CHAR_HEBREW): New macro.
3394         (MAX_CHAR_HEBREW): New macro.
3395         (MIN_CHAR_THAI): New macro.
3396         (MAX_CHAR_THAI): New macro.
3397         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3398         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3399         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3400         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3401         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3402         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3403         (CHAR_FIELD2): New inline function.
3404         (CHAR_FIELD3): New inline function.
3405         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3406         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3407         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3408         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3409         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3410         (MIN_CHAR_COMPOSITION): Likewise.
3411         (CHAR_LEADING_BYTE): Modified for character representation change.
3412         (MAKE_CHAR): Likewise.
3413
3414         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3415         (Vcharset_greek_iso8859_7): Likewise.
3416         (Vcharset_cyrillic_iso8859_5): Likewise.
3417         (Vcharset_hebrew_iso8859_8): Likewise.
3418         (Vcharset_thai_tis620): Likewise.
3419         (Vcharset_katakana_jisx0201): Likewise.
3420
3421 2001-01-17  Martin Buchholz <martin@xemacs.org>
3422
3423         * XEmacs 21.2.41 "Polyhymnia" is released.
3424
3425 2001-01-16  Didier Verna  <didier@xemacs.org>
3426
3427         * glyphs.c (image_instantiate): don't use fallbacks when
3428         instantiating a face's background pixmap by inheritance.
3429
3430 2001-01-14  Mike Sperber <mike@xemacs.org>
3431
3432         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3433         Conditionalize accordingly.
3434
3435 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3436
3437         * dumper.c (pdump_file_get): Fix a compiler warning.
3438
3439 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3440
3441         Make Purify happy when pdumping.
3442         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3443         iniitalizing all bits of new lisp object memory.
3444         * symbols.c (Fmake_local_variable): Likewise.
3445         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3446         * symbols.c (Fdefvaralias): Likewise.
3447         * mule-charset.c (vars_of_mule_charset): Likewise.
3448
3449 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3450         Add the `-nd' flag when running pre-dump operations under the debugger.
3451         * .dbxrc (run-temacs): Add `-nd'.
3452         * .dbxrc (update-elc): Likewise.
3453         * .dbxrc (dump-temacs): Likewise.
3454         * .gdbinit (run-temacs): Likewise.
3455         * .gdbinit (check-temacs): Likewise.
3456         * .gdbinit (update-elc): Likewise.
3457         * .gdbinit (dump-temacs): Likewise.
3458
3459 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3460
3461         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3462         export OBJECT_MODE=64
3463         configure --pdump --use-union-type=no
3464         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3465         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3466
3467         * miscplay.c (sndcnv8U_2mono):
3468         Avoid two uses of `++' in the same expression.
3469         Suppresses a GCC warning.
3470
3471 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3472
3473         Make sure future compilers don't miscompile alloc.c.
3474         * alloc.c:
3475         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3476         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3477
3478 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3479
3480         * dumper.c: A little post-pdump-rename comment fixup.
3481
3482 2001-01-09  Jerry James  <james@eecs.ku.edu>
3483
3484         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3485
3486 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3487
3488         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3489         script:
3490         #!/bin/sh
3491         replace_symbol () {
3492           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3493         }
3494
3495         replace_symbol pdump_wire_lists pdump_weak_object_chains
3496         replace_symbol pdump_wire_list dump_add_weak_object_chain
3497
3498         replace_symbol pdump_wires pdump_root_objects
3499         replace_symbol pdump_wire dump_add_root_object
3500
3501         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3502         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3503
3504         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3505         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3506         replace_symbol dumpstructinfo pdump_root_struct_ptr
3507         replace_symbol dumpstruct dump_add_root_struct_ptr
3508
3509         replace_symbol dumpopaque dump_add_opaque
3510         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3511         replace_symbol dumpopaqueinfos pdump_opaques
3512         replace_symbol dumpopaqueinfo pdump_opaque
3513
3514         replace_symbol nb_structdump nb_root_struct_ptrs
3515         replace_symbol nb_opaquedump nb_opaques
3516
3517         replace_symbol align_table pdump_align_table
3518         replace_symbol dump_header pdump_header
3519
3520         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3521         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3522
3523
3524 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3525
3526         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3527         optimizing bytecount_to_charcount().
3528
3529 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3530
3531         * config.h.in:
3532         (HAVE_DLFCN_H): Removed.
3533         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3534
3535 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3536
3537         Portable dumper maintainability improvements.
3538         * alloc.c (staticpro):
3539         * alloc.c (staticpro_nodump):
3540         * alloc.c (garbage_collect_1):
3541         * alloc.c (reinit_alloc_once_early):
3542         * alloc.c (init_alloc_once_early):
3543         * alloc.c: Move dumper functions to alloc.c.
3544         * dumper.c (pdump_backtrace):
3545         * dumper.c (pdump_dump_structs):
3546         * dumper.c (pdump_dump_opaques):
3547         * dumper.c (pdump_dump_rtables):
3548         * dumper.c (pdump_dump_wired):
3549         * dumper.c (pdump):
3550         * dumper.c (pdump_load_check):
3551         * dumper.c (pdump_load_finish):
3552         * dumper.c (pdump_file_unmap):
3553         * dumper.c (pdump_file_get):
3554         * dumper.c (pdump_resource_free):
3555         * dumper.c (pdump_resource_get):
3556         * dumper.c (pdump_file_free):
3557         * dumper.c (pdump_file_try):
3558         * dumper.c (pdump_load):
3559         Remove fixed size limits on staticpro(), staticpro_nodump(),
3560         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3561         Remove custom code for dumping lrecord_implementations_table - use
3562         dumpopaque instead.
3563         Remove (most of the) custom code for dumping staticpros - dump it
3564         like any other dynarr.
3565
3566         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3567         * dumper.c: Moved functions from alloc.c.
3568         * alloc.c (dumpstruct): Moved to dumper.c.
3569         * alloc.c (dumpopaque): Likewise.
3570         * alloc.c (pdump_wire): Likewise.
3571         * alloc.c (pdump_wire_list): Likewise.
3572
3573         * lisp.h (Dynarr_sizeof): New.
3574         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3575         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3576         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3577
3578         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3579         * lisp.h (dumpopaque): ditto.
3580         * lisp.h (pdump_wire): ditto.
3581         * lisp.h (pdump_wire_list): ditto.
3582
3583 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3584
3585         * make-src-depend (PrintPatternDeps):
3586         Use `sort' to make output independent of perl version.
3587
3588 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3589
3590         Port to Netbsd 1.5.
3591         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3592         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3593
3594 2001-01-03  Didier Verna  <didier@xemacs.org>
3595
3596         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3597         that `focus_frame' is alive before thinking of calling
3598         `redisplay_redraw_cursor' on it.
3599
3600 2001-01-08  Martin Buchholz <martin@xemacs.org>
3601
3602         * XEmacs 21.2.40 is released.
3603
3604 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3605
3606         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3607
3608 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3609
3610         * alloc.c (dbg_valmask): Make const.
3611         * alloc.c (dbg_typemask): Make const.
3612         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3613         * alloc.c (dbg_valbits): Make const.
3614         * alloc.c (dbg_gctypebits): Make const.
3615
3616 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3617
3618         * redisplay-x.c (x_bevel_area):
3619         redisplay.h (struct rune):
3620         Typo fixes in comments.
3621
3622 2001-01-05  Andy Piper  <andy@xemacs.org>
3623
3624         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3625         adjustment.
3626
3627         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3628
3629 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3630
3631         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3632
3633         * mule-ccl.c (stack_idx_of_map_multiple):
3634         Non const global data must not be initialized!
3635         Found by MIYASHITA Hisashi.
3636
3637 2001-01-02  Andy Piper  <andy@xemacs.org>
3638
3639         * frame.c (change_frame_size): make sure frame size is always
3640         marked as changed.
3641
3642         * glyphs.c (image_instance_layout): minor code reuse.
3643
3644         * window.c (Fcurrent_window_configuration): revert previous
3645         change.
3646
3647 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3648
3649         * glyphs.h:
3650         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3651
3652 2000-12-31  Andy Piper  <andy@xemacs.org>
3653
3654         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3655         when widget gets unmapped.
3656
3657         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3658         function. Make sure widgets losing focus don't just drop it.
3659         (handle_focus_event_1): record the widget with focus.
3660
3661 2000-12-31  Andy Piper  <andy@xemacs.org>
3662
3663         * window.c (allocate_window): use
3664         make_image_instance_cache_hash_table.
3665         (make_dummy_parent): ditto.
3666         (Fset_window_configuration): ditto.
3667
3668         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3669
3670         * glyphs.c (process_image_string_instantiator): use
3671         INSTANTIATOR_TYPE.
3672         (get_image_instantiator_governing_domain): ditto.
3673         (normalize_image_instantiator): ditto.
3674         (instantiate_image_instantiator): ditto.
3675         (make_image_instance_1): ditto.
3676         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3677         (instantiator_eq_equal): new function for use with instance hash
3678         tables.
3679         (instantiator_eq_hash): ditto.
3680         (make_image_instance_cache_hash_table): create a suitable hash
3681         table for storing image instances.
3682
3683         * elhash.h (hash_table_weakness): new internal weakness type
3684         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3685         declare new functions.
3686
3687         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3688         another weakness type for glyphs.
3689         (make_standard_lisp_hash_table): new function split out from
3690         make_general_lisp_hash_table.
3691         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3692         (hash_table_instantiate): ditto.
3693         (Fmake_hash_table): ditto.
3694
3695 2000-12-31  Martin Buchholz <martin@xemacs.org>
3696
3697         * XEmacs 21.2.39 is released.
3698
3699 2000-12-29  Andy Piper  <andy@xemacs.org>
3700
3701         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3702
3703         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3704         the frame has changed so that we pick up geometry changes such as
3705         menubar visibility.
3706
3707 2000-12-28  Andy Piper  <andy@xemacs.org>
3708
3709         * lastfile.c (my_ebss): make a char array so we can pad the
3710         bss. Fixes cygwin unexec.
3711
3712         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3713
3714 2000-12-26  Andy Piper  <andy@xemacs.org>
3715
3716         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3717         comments and try and be more precise about a non-/SIGIO world.
3718         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3719         SIGIO.
3720
3721         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3722         we don't normalize to zero width or height.
3723
3724 2000-12-24  Andy Piper  <andy@xemacs.org>
3725
3726         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3727
3728 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3729
3730         * s/sco5.h: SCO 5 has pty support.
3731
3732 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3733
3734         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3735         input-method-xlib.c contains whole contents of input-method-xfs.c,
3736         so we can use input-method-xlib.c's code for USE_XFONTSET
3737         using #ifdefs.
3738         * input-method-xfs.c: removed.
3739
3740 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3741
3742         * file-coding.h (enum coding_category_type): reorder enumerators to
3743         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3744         (now one greater than largest real coding_category_type enumerator).
3745         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3746         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3747         Fcoding_category_list, Fset_coding_priority_list,
3748         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3749         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3750
3751 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3752
3753         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3754         * redisplay-output.c (redisplay_output_window): Clear top of window
3755         when face is changed.
3756         * redisplay-x.c (x_redraw_exposed_window): Call
3757         redisplay_clear_top_of_window.
3758         * redisplay.h: Publish redisplay_clear_top_of_window.
3759
3760 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3761
3762         * buffer.c (Fkill_buffer): Map over all devices.
3763         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3764         (list_windows): New function.
3765         (list_all_windows): Ditto.
3766         (Freplace_buffer_in_windows): Use them.
3767
3768 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3769
3770         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3771         (Fopen_database): Use `db_create' instead of `db_open'.
3772         (syms_of_database): Initialize Qqueue.
3773
3774 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3775
3776         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3777         buffer_local_face_property.
3778         * buffer.h (struct buffer): New member buffer_local_face_property.
3779         * window.c (Fset_window_buffer):  Mark window's face as changed
3780         when buffer has buffer local face.
3781         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3782         * objects.c (color_after_change): Set buffer_local_face_property
3783         when locale of face specifier is buffer.
3784         * objects.c (font_after_change): Ditto.
3785         * objects.c (face_boolean_after_change): Ditto.
3786         * glyphs.c (image_after_change): Ditto.
3787
3788 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3789
3790         * nt.c (mswindows_fstat): Report file permissions, volume serial
3791         number, etc. Code adapted from FSF Emacs 20.7.
3792
3793 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3794
3795         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3796         of stat when we don't have symbolic links, to make sure
3797         mswindows_stat is called on mswindows.
3798
3799 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3800
3801         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3802
3803 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3804
3805         * doprnt.c (emacs_doprnt_1): More printing fixes.
3806         Make printing of numbers compatible with libc and FSF Emacs.
3807         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3808         Use the system printf to do most of the hard work of formatting,
3809         instead of doprnt_1().
3810         Calculate memory to allocate for format string.
3811         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3812         (doprnt_1): Cleaner code and documentation.
3813
3814 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3815
3816         * Makefile.in.in: Use the loop variable to install headers.
3817
3818 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3819
3820         * window.c (Fsplit_window): Don't invalidate face cache.
3821
3822 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3823
3824         * minibuf.c (Fall_completions): Undo the previous change
3825         which removed checking elements start with space.
3826
3827 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3828
3829         * mule-canna.c: Didier suppression.
3830
3831 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3832
3833         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3834         (warning suppression).  Add English comment translations.
3835
3836 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3837
3838         * unexelfsgi.c (unexec): Better test for mmap failure.
3839
3840 2000-12-05  Martin Buchholz <martin@xemacs.org>
3841
3842         * XEmacs 21.2.38 is released.
3843
3844 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3845
3846         * redisplay.c (bar-cursor): Make a user variable.
3847
3848         * symsinit.h: Add init_postgresql_from_environment.
3849
3850 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3851
3852         * regex.c: Convert to clean C.
3853
3854 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3855
3856         * realpath.c:
3857         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3858         initialization.
3859         (sys_readlink): renamed to system_readlink to avoid conflict with
3860         the other sys_readlink.
3861
3862 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3863
3864         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3865
3866 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3867
3868         * postgresql.c (init_postgresql_from_environment): new function.
3869         (vars_of_postgresql): Move code initializing Lisp variables out and
3870         into init_postgresql_from_environment.
3871         emacs.c (main_1): Call init_postgresql_from_environment if and only
3872         if running a dumped XEmacs.
3873
3874 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3875
3876         * buffer.c: Make find-file-compare-truenames default to true on
3877         windows.
3878
3879         * realpath.c (win32_abs_start):
3880         (cygwin_readlink):
3881         (win32_readlink): New functions.
3882         (xrealpath): Return really real filenames on windows.
3883
3884         * fileio.c (Ffile_truename): Make file-truename work on windows.
3885
3886 2000-11-29  Didier Verna  <didier@xemacs.org>
3887
3888         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3889         * faces.c (update_face_cachel_data): use it.
3890         * faces.c (add_face_cachel): use it. Complete background pixmap
3891         frobbing in face cache if `update_face_cachel_data' has not done so.
3892
3893 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3894
3895         * search.c (string_match_1): Don't set last_thing_searched
3896         when search failed.
3897
3898 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3899
3900         * buffer.c: Include casetab.h
3901         (common_init_complex_vars_of_buffer): Use new case-table object.
3902         * buffer.h: Include casetab.h
3903         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3904         (DOWNCASE_TABLE_OF): Ditto.
3905         * bufslots.h: Remove char-tables and add case-table.
3906         * casetab.c: Include casetab.h
3907         (CASE_TABLE_P): Removed.
3908         (mark_case_table): New function.
3909         (allocate_case_table): New function.
3910         (Fcase_table_p): Use new case-table.
3911         (case_table_char): New function.
3912         (Fget_case_table): Ditto.
3913         (Fput_case_table): Ditto.
3914         (Fput_case_table_pair): Ditto.
3915         (Fcopy_case_table): Ditto.
3916         (Fcurrent_case_table): Return case-table.
3917         (Fstandard_case_table): Return case-table.
3918         (Fset_case_table): Fix doc-string.
3919         (set_case_table): Use case-table
3920         (syms_of_casetab): DEFSUBR new functions.
3921         (complex_vars_of_casetab): Set up standard case-table.
3922         * casetab.h: New file.
3923         * editfns.c: Include casetab.h
3924         (Fcompare_buffer_substrings): Use case-table.
3925         * inline.c: Include casetab.h
3926         * lisp.h: Remove bogus extern.
3927         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3928         * search.c: Include casetab.h
3929         (TRANSLATE_ASCII): Removed.
3930         (TRANSLATE): Unconditionally translate character.
3931         (looking_at_1): Use case-table.
3932         (string_match_1): Ditto.
3933         (fast_string_match): Ditto.
3934         (search_command): Ditto.
3935         (search_buffer): Separate boyer_moore.  Check whether
3936         boyer_moore is poosible.
3937         (simple_search): New function.
3938         (boyer_moore): Separated from search_buffer. Translate char.
3939
3940 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3941
3942         * regex.c (RE_TR_ASCII): Removed.
3943         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3944         (PATFETCH): Call PATFETCH_RAW.
3945         (PATFETCH_RAW): Fetch Emchar.
3946         (PATUNFETCH): Decrement charptr.
3947         (GET_BUFFER_SPACE): Rename b to buf_end.
3948         (BUF_PUSH): Ditto.
3949         (BUF_PUSH_2): Ditto.
3950         (BUF_PUSH_3): Ditto.
3951         (EXTEND_BUFFER): Ditto.
3952         (SET_LIST_BIT): Ditto.
3953         (regex_compile): Ditto.  Translate non ASCII char.
3954         (compile_range): Ditto.
3955         (re_search_2): Ditto.
3956         (re_match_2_internal): Compare Emchar.
3957         (bcmp_translate): Ditto.
3958
3959 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3960
3961         * lisp.h (basic char/int typedefs):  comment improvement.
3962
3963 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3964
3965         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3966         unstomp inhibit_site_lisp.  Improve comments.
3967
3968 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3969
3970         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3971
3972 2000-11-28  Andy Piper  <andy@xemacs.org>
3973
3974         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3975         clipped display for windows in the gutter also.
3976         (redisplay_display_boxes_in_window_p): change semantics of return
3977         codes to be more intuitive.
3978
3979         * gutter.h: declare display_boxes_in_gutter_p.
3980
3981         * gutter.c (display_boxes_in_gutter_p): new function for
3982         redisplay.
3983
3984 2000-11-22  Andy Piper  <andy@xemacs.org>
3985
3986         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3987         autodetect domain.
3988
3989 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3990
3991         * callproc.c (Fold_call_process_internal):
3992         * gpm.c (Freceive_gpm_event):
3993         (tty_get_foreign_selection): Might be just warning supression.
3994         * fileio.c (Fwrite_region_internal):
3995         (Fset_visited_file_modtime):
3996         * keymap.c (event_matches_key_specifier_p):
3997         Initialize GCPROed variable.
3998
3999         * menubar-x.c (command_builder_find_menu_accelerator):
4000         Initialize before use.
4001
4002 2000-11-23  Andy Piper  <andy@xemacs.org>
4003
4004         * unexcw.c (unexec): make the resulting executable executable.
4005
4006 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4007
4008         * doc.c (get_doc_string):
4009         Use size_t, not int, for result of XSTRING_LENGTH.
4010
4011         * cmds.c (Fdelete_char):
4012         * cmds.c (Fpoint_at_eol):
4013         * cmds.c (Fself_insert_command):
4014         Use EMACS_INT, not int, for result of XINT.
4015         Someday, someone will want to insert more than 2**31 identical characters.
4016
4017         * cmds.c (Fdelete_char):
4018         * cmds.c (Fdelete_backward_char):
4019         * syntax.c (Fforward_word):
4020         * syntax.c (Fforward_comment):
4021         Make COUNT argument optional, for consistency with forward-char et al.
4022
4023 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4024
4025         * lisp.h:
4026         * print.c (long_to_string):
4027         Return a useful value: the pointer at end of data written.
4028
4029         * doprnt.c:
4030         Use `static const char * const' for constant strings.
4031         (union printf_arg): Delete `i', `ui' members.
4032         (get_doprnt_args):
4033         (emacs_doprnt_1):
4034         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4035         Do all printf-ing via the `l' specifier.
4036         Use EMACS_INT instead of int.
4037         Optimize.
4038
4039 2000-11-20  Didier Verna  <didier@xemacs.org>
4040
4041         * faces.c (update_face_cachel_data): don't frob the background
4042         pixmap when the window is being created. The face is needed but
4043         does not exist yet.
4044
4045 2000-11-20  Andy Piper  <andy@xemacs.org>
4046
4047         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4048         messing with a debug environment.
4049
4050 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4051
4052         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4053
4054 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4055
4056         * casetab.c (Fcase_table_p): Fix compile error and crash.
4057
4058 2000-11-18  Philip Aston  <philipa@mail.com>
4059
4060         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4061
4062 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4063
4064         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4065         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4066
4067 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4068
4069         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4070         * unexelf.c: Use HAVE_ELF_H.
4071         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4072         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4073         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4074         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4075         for testing.
4076         So this is an unexelfsgi.c from a different line of development.
4077
4078 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4079
4080         * regex.c (RE_TR_ASCII): New function.
4081         (RE_TRANSLATE): Call it.
4082
4083 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4084
4085         * buffer.h (TRT_TABLE_OF): Remove assert.
4086         (IN_TRT_TABLE_DOMAIN): Removed.
4087
4088 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4089
4090         * free-hook.c (log_gcpro):
4091         (show_gcprohist): Add support for GCPRO5.
4092
4093 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4094
4095         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4096
4097 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4098
4099         * symeval.h: Declare flush_all_buffer_local_cache.
4100
4101         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4102         (flush_buffer_local_cache): Added.
4103         (flush_all_buffer_local_cache): Added.
4104
4105         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4106
4107         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4108         (pdump_dump_data): Ditto.
4109         (pdump_reloc_one): Ditto.
4110         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4111         before dumping.
4112
4113
4114 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4115
4116         * buffer.c: Remove if 0'ed entry.
4117         * buffer.h: Rewrite TRT to use char-table.
4118         * bufslots.h: Remove mirror tables.
4119         * casetab.c: Remove mirror tables.
4120         (CASE_TABLE_P): New macro.
4121         (Fcase_table_p): Element of a case table is string or char-table.
4122         (make_mirror_trt_table): Removed.
4123         (set_case_table): Setup char-table from strings for backward
4124         compatibility.
4125         * dired.c (Fdirectory_files):
4126         * dired-msw.c: (mswindows_get_files):
4127         * lisp.h: Change prototype of re_pattern_buffer.
4128         * regex.c: (RE_TRANSLATE): New macro.
4129         (TRANSLATE_P): Ditto.
4130         Change translate to type RE_TRANSLATE_TYPE.
4131         * regex.h: Define RE_TRANSLATE_TYPE
4132         * search.c (TRANSLATE): New macro.
4133         (TRANSLATE_ASCII): New macro.
4134         Translate table is changed to Lisp_Object.
4135         (signal_failure): Inhibit return.
4136
4137 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4138
4139         * device-msw.c:
4140         * eldap.c:
4141         * event-Xt.c:
4142         * event-stream.c:
4143         * print.c:
4144         Do UNGCPRO before return.
4145
4146 2000-11-14  Martin Buchholz <martin@xemacs.org>
4147
4148         * XEmacs 21.2.37 is released.
4149
4150 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4151
4152         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4153         Add comments about discarded return value.
4154
4155 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4156
4157         * callint.c:
4158         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4159
4160 2000-10-27  Andy Piper  <andy@xemacs.org>
4161
4162         * gutter.c (Fset_default_gutter_position): default left and right
4163         gutters to visible.
4164         (calculate_gutter_size): calculate resonable heuristic for left
4165         and right gutter sizes.
4166         (specifier_vars_of_gutter): change left and right gutter sizes to
4167         autodetect.
4168         (calculate_gutter_size_from_display_lines): new function.
4169         (output_gutter): check for resizing on left and right gutters.
4170         (clear_gutter): don't special case top and left gutters.
4171         (specifier_vars_of_gutter): use new signature for
4172         set_specifier_caching.
4173
4174         * glyphs-x.c (x_redisplay_widget): spelling fix.
4175         * glyphs.c (specifier_vars_of_glyphs):
4176         * menubar.c (specifier_vars_of_menubar):
4177         * redisplay.c (specifier_vars_of_redisplay):
4178         * toolbar.c (specifier_vars_of_toolbar):
4179         * window.c (specifier_vars_of_window):
4180         * scrollbar.c (specifier_vars_of_scrollbar):
4181         (complex_vars_of_scrollbar): use new signature for
4182         set_specifier_caching.
4183
4184         * specifier.c (set_specifier_caching): include recompute flag.
4185         (recompute_one_cached_specifier_in_window): always recompute if
4186         flag set.
4187         (recompute_one_cached_specifier_in_frame): ditto.
4188
4189         * specifier.h (struct specifier_caching): add recompute flag.
4190
4191 2000-10-24  Andy Piper  <andy@xemacs.org>
4192
4193         * unexcw.c (copy_executable_and_dump_data_section): add new
4194         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4195         5.0 happy.
4196
4197 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4198
4199         * console-x.h (x_device): New member modifier_release_time.
4200         * event-Xt.c (x_handle_sticky_modifiers):
4201         Bound interval modifier keys are sticky.
4202         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4203         * events.h: extern it.
4204
4205 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4206
4207         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4208
4209 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4210
4211         * event-stream.c (execute_command_event): Preserve current_events
4212         and the like when event is misc-user-event.
4213         Inhibit quit during the call to maybe_echo_keys.
4214
4215 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4216
4217         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4218         symlink when buffer is killed.
4219         (inhibit_clash_detection): New variable.
4220
4221 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4222
4223         * console.c (Fset_input_method): Trigger redisplay on tty.
4224
4225 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4226
4227         * process.c (Fprocess_status): Revert to previous behavior:
4228         (process-status "nosuchprocess") ==> nil
4229
4230 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4231
4232         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4233         Work around another GCC 2.95.2 optimizer bug.
4234
4235 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4236
4237         * process.c (Fget_process): Use LIST_LOOP_2.
4238         (kill_buffer_processes): Use LIST_LOOP_2.
4239
4240         * minibuf.c (Fall_completions):
4241         Delete old non-functional code for FSF fourth argument.
4242
4243         * frame.c (frame_matches_frame_spec):
4244         Renamed from `frame_matches_frametype'.  Update all callers.
4245         (device_matches_device_spec):
4246         Renamed from 'device_matches_console_spec'.  Update all callers.
4247
4248         * doc.c (Fsubstitute_command_keys):
4249         Remove buffer overflow crash.  Small code cleanups.
4250
4251         * casetab.c (check_case_table): Simpler code.
4252
4253         * window.c (Freplace_buffer_in_windows):
4254         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4255         (and similar implementation) as Fdelete_windows_on.
4256         Update all callers.
4257
4258         * alloc.c (Fmake_list):
4259         * alloc.c (make_vector):
4260         * alloc.c (Fmake_vector):
4261         * alloc.c (make_bit_vector):
4262         * alloc.c (Fmake_bit_vector):
4263         * alloc.c (Fbit_vector):
4264         * alloc.c (Fmake_string):
4265         * alloc.c (Fpurecopy):
4266         * alloc.c (Fmemory_limit):
4267         * buffer.c:
4268         * buffer.c (Fget_buffer):
4269         * buffer.c (Fkill_buffer):
4270         * buffer.c (complex_vars_of_buffer):
4271         * bytecode.c (Fcompiled_function_stack_depth):
4272         * callint.c (Fprefix_numeric_value):
4273         * event-stream.c:
4274         * event-stream.c (Fread_key_sequence):
4275         * casetab.c:
4276         * casetab.c (Fcase_table_p):
4277         * casetab.c (check_case_table):
4278         * casetab.c (Fset_case_table):
4279         * casetab.c (Fset_standard_case_table):
4280         * chartab.c:
4281         * chartab.c (Fchar_table_type):
4282         * chartab.c (Freset_char_table):
4283         * chartab.c (Fget_char_table):
4284         * chartab.c (Fget_range_char_table):
4285         * chartab.c (Fput_char_table):
4286         * chartab.c (Fmap_char_table):
4287         * chartab.c (Fcategory_table_p):
4288         * chartab.c (Fcheck_category_at):
4289         * chartab.c (Fchar_in_category_p):
4290         * chartab.c (Fcategory_table):
4291         * chartab.c (Fcopy_category_table):
4292         * chartab.c (Fset_category_table):
4293         * chartab.c (Fcategory_designator_p):
4294         * chartab.c (Fcategory_table_value_p):
4295         * cmds.c (Fdelete_char):
4296         * cmds.c (Fdelete_backward_char):
4297         * cmds.c (Fself_insert_command):
4298         * cmds.c (Fself_insert_internal):
4299         * console.c (Fvalid_console_type_p):
4300         * console.c (Fcdfw_console):
4301         * console.c (Fconsole_type):
4302         * console.c (Fconsole_name):
4303         * console.c (Fconsole_device_list):
4304         * console.c (Fconsole_on_window_system_p):
4305         * data.c:
4306         * data.c (Feq):
4307         * data.c (Fold_eq):
4308         * data.c (Fsubr_interactive):
4309         * data.c (Fchar_to_int):
4310         * data.c (Fint_to_char):
4311         * data.c (Fsetcar):
4312         * data.c (Fsetcdr):
4313         * data.c (Fnumber_to_string):
4314         * data.c (Fstring_to_number):
4315         * data.c (Frem):
4316         * database.c (mark_database):
4317         * database.c (finalize_database):
4318         * database.c (Fdatabase_live_p):
4319         * database.c (Fdatabasep):
4320         * device-x.c (Fx_get_resource):
4321         * device.c (Fdfw_device):
4322         * dired.c:
4323         * dired.c (Ffile_name_completion):
4324         * dired.c (Ffile_name_all_completions):
4325         * dired.c (Fuser_name_completion):
4326         * dired.c (Fuser_name_completion_1):
4327         * dired.c (Fuser_name_all_completions):
4328         * doc.c (Fdocumentation):
4329         * doc.c (Fdocumentation_property):
4330         * doc.c (Fsubstitute_command_keys):
4331         * editfns.c:
4332         * editfns.c (Fchar_to_string):
4333         * editfns.c (Fstring_to_char):
4334         * editfns.c (Ftemp_directory):
4335         * editfns.c (Finsert_char):
4336         * editfns.c (Fbuffer_substring_no_properties):
4337         * editfns.c (Fnarrow_to_region):
4338         * editfns.c (Fchar_equal):
4339         * editfns.c (Fchar_Equal):
4340         * editfns.c (Ftranspose_regions):
4341         * emacs.c (Fdump_emacs):
4342         * eval.c (Fthrow):
4343         * eval.c (Fcommand_execute):
4344         * eval.c (Fautoload):
4345         * eval.c (Fbacktrace):
4346         * eval.c (Fbacktrace_frame):
4347         * events.c:
4348         * events.c (Fcopy_event):
4349         * events.c (Fcharacter_to_event):
4350         * events.c (Fevent_button):
4351         * events.c (Fevent_process):
4352         * extents.c:
4353         * extents.c (Fnext_extent_change):
4354         * extents.c (Fextent_property):
4355         * faces.c (Ffacep):
4356         * faces.c (Fmake_face):
4357         * file-coding.c:
4358         * file-coding.c (Fencode_shift_jis_char):
4359         * file-coding.c (Fencode_big5_char):
4360         * fileio.c (Ffile_name_directory):
4361         * fileio.c (Ffile_name_nondirectory):
4362         * fileio.c (Ffile_name_as_directory):
4363         * fileio.c (Fdirectory_file_name):
4364         * fileio.c (Ffile_truename):
4365         * fileio.c (Fsubstitute_in_file_name):
4366         * fileio.c (Ffile_modes):
4367         * fileio.c (Fset_file_modes):
4368         * fileio.c (Fset_default_file_modes):
4369         * fileio.c (Fverify_visited_file_modtime):
4370         * floatfns.c (Facos):
4371         * floatfns.c (Fasin):
4372         * floatfns.c (Fatan):
4373         * floatfns.c (Fcos):
4374         * floatfns.c (Fsin):
4375         * floatfns.c (Ftan):
4376         * floatfns.c (Fbessel_j0):
4377         * floatfns.c (Fbessel_j1):
4378         * floatfns.c (Fbessel_jn):
4379         * floatfns.c (Fbessel_y0):
4380         * floatfns.c (Fbessel_y1):
4381         * floatfns.c (Fbessel_yn):
4382         * floatfns.c (Ferf):
4383         * floatfns.c (Ferfc):
4384         * floatfns.c (Flog_gamma):
4385         * floatfns.c (Fexp):
4386         * floatfns.c (Fexpt):
4387         * floatfns.c (Flog):
4388         * floatfns.c (Flog10):
4389         * floatfns.c (Fsqrt):
4390         * floatfns.c (Fcube_root):
4391         * floatfns.c (Facosh):
4392         * floatfns.c (Fasinh):
4393         * floatfns.c (Fatanh):
4394         * floatfns.c (Fcosh):
4395         * floatfns.c (Fsinh):
4396         * floatfns.c (Ftanh):
4397         * floatfns.c (Fabs):
4398         * floatfns.c (Ffloat):
4399         * floatfns.c (Flogb):
4400         * floatfns.c (Fceiling):
4401         * floatfns.c (Ffloor):
4402         * floatfns.c (Fround):
4403         * floatfns.c (Ftruncate):
4404         * floatfns.c (Ffceiling):
4405         * floatfns.c (Fffloor):
4406         * floatfns.c (Ffround):
4407         * floatfns.c (Fftruncate):
4408         * fns.c (Fstring_equal):
4409         * fns.c (Fstring_lessp):
4410         * fns.c (concat2):
4411         * fns.c (concat3):
4412         * fns.c (vconcat2):
4413         * fns.c (vconcat3):
4414         * fns.c (Fsubstring):
4415         * fns.c (Fassoc):
4416         * fns.c (Fold_assoc):
4417         * fns.c (assoc_no_quit):
4418         * fns.c (Fassq):
4419         * fns.c (Fold_assq):
4420         * fns.c (assq_no_quit):
4421         * fns.c (Frassoc):
4422         * fns.c (Fold_rassoc):
4423         * fns.c (Frassq):
4424         * fns.c (Fold_rassq):
4425         * fns.c (rassq_no_quit):
4426         * fns.c (Fremassoc):
4427         * fns.c (remassoc_no_quit):
4428         * fns.c (Fremassq):
4429         * fns.c (remassq_no_quit):
4430         * fns.c (Fremrassoc):
4431         * fns.c (Fremrassq):
4432         * fns.c (remrassq_no_quit):
4433         * fns.c (Fsort):
4434         * fns.c (Fplist_get):
4435         * fns.c (Fplist_put):
4436         * fns.c (Fplist_remprop):
4437         * fns.c (Fplist_member):
4438         * fns.c (Flax_plist_get):
4439         * fns.c (Flax_plist_put):
4440         * fns.c (Flax_plist_remprop):
4441         * fns.c (Flax_plist_member):
4442         * fns.c (Fequal):
4443         * fns.c (Fold_equal):
4444         * fns.c (Frequire):
4445         * fns.c (Fbase64_encode_region):
4446         * fns.c (Fbase64_encode_string):
4447         * fns.c (Fbase64_decode_region):
4448         * frame.c:
4449         * frame.c (frame_matches_frame_spec):
4450         * frame.c (device_matches_device_spec):
4451         * frame.c (next_frame):
4452         * frame.c (previous_frame):
4453         * frame.c (Fnext_frame):
4454         * frame.c (Fprevious_frame):
4455         * frame.c (Fframe_property):
4456         * frame.c (Fset_frame_height):
4457         * frame.c (Fset_frame_size):
4458         * frame.h:
4459         * glyphs.c:
4460         * glyphs.c (if):
4461         * glyphs.c (decode_error_behavior_flag):
4462         * glyphs.c (Fmake_image_instance):
4463         * indent.c (Findent_to):
4464         * intl.c (Fignore_defer_gettext):
4465         * keymap.c (Fkeymapp):
4466         * keymap.c (Flookup_key):
4467         * lread.c:
4468         * lread.c (Fload_internal):
4469         * lread.c (Feval_buffer):
4470         * lread.c (Feval_region):
4471         * macros.c (Fexecute_kbd_macro):
4472         * marker.c (set_marker_internal):
4473         * marker.c (Fset_marker):
4474         * marker.c (set_marker_restricted):
4475         * marker.c (Fcopy_marker):
4476         * marker.c (noseeum_copy_marker):
4477         * menubar.c:
4478         * menubar.c (Fpopup_menu):
4479         * minibuf.c:
4480         * mule-charset.c (Fcharset_name):
4481         * mule-charset.c (Fchar_charset):
4482         * mule-charset.c (Fchar_octet):
4483         * mule-charset.c (Fsplit_char):
4484         * mule-wnnfns.c (Fwnn_open):
4485         * mule-wnnfns.c (Fwnn_dict_comment):
4486         * mule-wnnfns.c (Fwnn_quit_henkan):
4487         * mule-wnnfns.c (Fwnn_word_toroku):
4488         * mule-wnnfns.c (Fwnn_word_sakujo):
4489         * mule-wnnfns.c (Fwnn_word_use):
4490         * mule-wnnfns.c (Fwnn_hindo_set):
4491         * objects.c:
4492         * objects.c (Fmake_color_instance):
4493         * objects.c (Fmake_font_instance):
4494         * print.c (Fwrite_char):
4495         * process.c:
4496         * process.c (mark_process):
4497         * process.c (print_process):
4498         * process.c (get_process_from_usid):
4499         * process.c (Fprocessp):
4500         * process.c (Fprocess_live_p):
4501         * process.c (Fget_process):
4502         * process.c (Fget_buffer_process):
4503         * process.c (get_process):
4504         * process.c (Fprocess_id):
4505         * process.c (Fprocess_name):
4506         * process.c (Fprocess_command):
4507         * process.c (init_process_io_handles):
4508         * process.c (start_process_unwind):
4509         * process.c (Fstart_process_internal):
4510         * process.c (Fopen_multicast_group_internal):
4511         * process.c (Fset_process_window_size):
4512         * process.c (read_process_output):
4513         * process.c (send_process):
4514         * process.c (Fprocess_tty_name):
4515         * process.c (Fset_process_buffer):
4516         * process.c (Fprocess_buffer):
4517         * process.c (Fprocess_mark):
4518         * process.c (set_process_filter):
4519         * process.c (Fset_process_filter):
4520         * process.c (Fprocess_filter):
4521         * process.c (Fprocess_send_region):
4522         * process.c (Fprocess_send_string):
4523         * process.c (exec_sentinel):
4524         * process.c (Fset_process_sentinel):
4525         * process.c (Fprocess_sentinel):
4526         * process.c (status_notify):
4527         * process.c (Fprocess_status):
4528         * process.c (Fprocess_exit_status):
4529         * process.c (process_send_signal):
4530         * process.c (Fprocess_send_eof):
4531         * process.c (deactivate_process):
4532         * process.c (remove_process):
4533         * process.c (Fdelete_process):
4534         * process.c (kill_buffer_processes):
4535         * process.c (Fprocess_kill_without_query):
4536         * process.c (Fprocess_kill_without_query_p):
4537         * rangetab.c:
4538         * rangetab.c (Fget_range_table):
4539         * rangetab.c (Fput_range_table):
4540         * rangetab.c (Fremove_range_table):
4541         * rangetab.c (Fclear_range_table):
4542         * search.c:
4543         * search.c (Fskip_chars_forward):
4544         * search.c (Fskip_chars_backward):
4545         * search.c (Fskip_syntax_forward):
4546         * search.c (Fskip_syntax_backward):
4547         * search.c (search_command):
4548         * search.c (Freplace_match):
4549         * search.c (Fregexp_quote):
4550         * select.c (Fown_selection_internal):
4551         * select.c (Fselection_owner_p):
4552         * select.c (Fselection_exists_p):
4553         * select.c (Fget_selection_internal):
4554         * specifier.c:
4555         * symbols.c:
4556         * symbols.c (Fintern):
4557         * symbols.c (Fintern_soft):
4558         * symbols.c (Funintern):
4559         * symbols.c (Fapropos_internal):
4560         * symbols.c (Fset_default):
4561         * syntax.c:
4562         * syntax.c (Fsyntax_table_p):
4563         * syntax.c (Fcopy_syntax_table):
4564         * syntax.c (Fset_syntax_table):
4565         * syntax.c (Fchar_syntax):
4566         * syntax.c (syntax_match):
4567         * syntax.c (Fmatching_paren):
4568         * syntax.c (Fforward_word):
4569         * syntax.c (scan_lists):
4570         * syntax.c (Fscan_lists):
4571         * syntax.c (Fscan_sexps):
4572         * syntax.c (Fparse_partial_sexp):
4573         * toolbar.c (Fcheck_toolbar_button_syntax):
4574         * tooltalk.doc:
4575         * window.c:
4576         * window.c (Fwindowp):
4577         * window.c (Fwindow_live_p):
4578         * window.c (Fwindow_point):
4579         * window.c (Fdelete_window):
4580         * window.c (Fnext_window):
4581         * window.c (Fprevious_window):
4582         * window.c (Fother_window):
4583         * window.c (window_loop):
4584         * window.c (Fget_lru_window):
4585         * window.c (Fsplit_window):
4586         * window.c (Fenlarge_window):
4587         * window.c (Fenlarge_window_pixels):
4588         * window.c (Fshrink_window):
4589         * window.c (Fshrink_window_pixels):
4590         * window.c (change_window_height):
4591         * window.c (Fwindow_configuration_p):
4592         * window.c (Fcurrent_window_configuration):
4593         * window.h:
4594         * casefiddle.c (casify_object):
4595         * casefiddle.c (Fupcase):
4596         * casefiddle.c (Fdowncase):
4597         * casefiddle.c (Fcapitalize):
4598         * casefiddle.c (Fupcase_initials):
4599         * casefiddle.c (casify_region_internal):
4600         * casefiddle.c (casify_region):
4601         * casefiddle.c (Fupcase_region):
4602         * casefiddle.c (Fdowncase_region):
4603         * casefiddle.c (Fcapitalize_region):
4604         * casefiddle.c (Fupcase_initials_region):
4605         * casefiddle.c (Fupcase_word):
4606         * casefiddle.c (Fdowncase_word):
4607         * casefiddle.c (Fcapitalize_word):
4608         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4609         Replace 0 with '\0' when working with bytes.
4610         Replace initial "(" with "\(" in docstrings.
4611
4612 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4613
4614         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4615
4616         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4617
4618 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4619
4620         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4621
4622 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4623
4624         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4625         correctly.
4626
4627 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4628
4629         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4630         (inhibit_auto_save_session): New variable.
4631         (vars_of_fileio): Declare and initialize them.
4632         * fileio.c (Fdo_auto_save): Don't create session file if
4633         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4634
4635 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4636
4637         * sgiplay.c (play_internal): C++ compilability.
4638         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4639         * callproc.c (Fold_call_process_internal):
4640         Remove unused vars `env', `first'.
4641         * scrollbar.c (update_scrollbar_instance):
4642         #### unused var `current_window'.
4643         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4644         etc. within #ifdef NOT_YET.
4645         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4646         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4647         * specifier.c (specifier_instance):
4648         #### unused var `tag'.
4649         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4650
4651 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4652
4653         * fns.c (Fbutlast):
4654         * fns.c (list_sort):
4655         * fns.c (Ffillarray):
4656         * fns.c (bytecode_nconc2):
4657         * fns.c (Fnconc):
4658         * fns.c (mapcar1):
4659         * fns.c (Fmapconcat):
4660         Be pedantically 64-bit correct.  For the time when someone will
4661         want to have a list with length > 2**32.
4662
4663         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4664         Work around MIPSpro compiler bug.
4665
4666         * process-unix.c (unix_kill_child_process): Add snarky comment.
4667         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4668
4669         * config.h.in: Oops, _getpt ==> _getpty
4670
4671 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4672
4673         * config.h.in:
4674         * regex.c:
4675         Use void*, not char*, as return type of alloca().
4676
4677         * alloc.c (free_marker): Side effect inside assert expression!
4678
4679 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4680
4681         * mule-charset.c (Fset_charset_ccl_program): To check
4682         if the given ccl program is valid, use setup_ccl_program()
4683         instead of CHECK_VECTOR().
4684         (Fmake_charset): Likewise.
4685
4686 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4687
4688         * faces.c (get_extent_fragment_face_cache_index):
4689         Fix cachel.merged_faces memory leak.
4690
4691 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4692
4693         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4694         Reset MSB of octets obtained by DECODE_SJIS
4695         because of the incompatibility with Emacs.
4696         (ccl_driver)<CCL_ENCODE_SJIS>:
4697         Set MSB of octets before passing them to
4698         ENCODE_SJIS because of the incompatibility
4699         with Emacs.
4700
4701 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4702
4703         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4704         (DECLARE_LRECORD): Undo the last change.
4705         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4706
4707 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4708
4709         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4710         the implementation to lrecord_implementations_table.
4711
4712 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4713
4714         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4715         initial value of `lrecord_type_##c_name' and
4716         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4717         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4718         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4719         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4720         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4721
4722 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4723
4724         * miscplay.c (sndcnv8S_2mono):
4725         (sndcnv2monounsigned):
4726         (sndcnvULaw_2linear):
4727         (sndcnv16swap):
4728         Remove implementation-defined behavior.
4729
4730 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4731
4732         * input-method-xlib.c: Warning suppression.
4733
4734 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4735
4736         * mule-ccl.c: Sync up with Emacs 21.0.90.
4737         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4738         Do nothing.
4739         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4740         Likewise.
4741         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4742         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4743         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4744         leading char belongs to official 2-dimensional charset.
4745         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4746         write the given character as is.  Otherwise,
4747         if it is a multibyte char, convert it by
4748         non_ascii_set_charptr_emchar, then write it.
4749         (CCL_WRITE_STRING): Likewise.
4750         (ccl_get_compiled_code): New function.
4751         (setup_ccl_program): When ccl_prog is invalid,
4752         return -1.
4753         (Fregister_code_conversion_map): New function.
4754         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4755
4756         * mule-ccl.h: Sync up with Emacs 21.0.90.
4757         (Fregister_ccl_program): export it.
4758
4759         * redisplay-msw.c (separate_textual_runs):
4760         If ccl program is not valid, don't do ccl conversion.
4761
4762         * redisplay-x.c (separate_textual_runs): Ditto.
4763
4764         * file-coding.c (Fmake_coding_system):
4765         When type is ccl and value is vector, register it
4766         with a proper symbol.  And checks whether the
4767         given ccl program is valid.
4768         (mule_decode): When calling ccl_driver, if src indicates
4769         NULL pointer, set an empty string instead.
4770         (mule_encode): Likewise.
4771
4772 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4773
4774         The following large batch of changes gets us back to a state of
4775         C++ compilability.  Extbyte is now a char, which means that
4776         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4777
4778         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4779
4780         * sound.c (Fplay_sound): Type correctness.
4781
4782         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4783         (x_get_window_property): Type correctness.
4784         (receive_incremental_selection): unsigned char ==> Extbyte
4785         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4786         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4787         (Fx_store_cutbuffer_internal): Type correctness.
4788
4789         * process-unix.c (try_to_initialize_subtty): Type correctness.
4790
4791         * objects-x.c (x_print_color_instance): Type correctness.
4792         (x_print_font_instance): Type correctness.
4793         (x_list_fonts): SExtbyte ==> Extbyte.
4794         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4795         (x_find_charset_font): SExtbyte ==> Extbyte.
4796         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4797         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4798         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4799         Use bufbyte_strcmp.
4800
4801         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4802         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4803         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4804         (BYTE_C0_P): Use bit ops for char-signedness safety.
4805         (BYTE_C1_P): Use bit ops for char-signedness safety.
4806         (CHARSET_BY_LEADING_BYTE):
4807         (CHARSET_BY_ATTRIBUTES):
4808         Always use inline function.
4809         Use type_checking_assert.
4810         Hide chlook.
4811
4812         * mule-charset.c (non_ascii_charptr_copy_char):
4813         Modify to work with both ASCII and non-ASCII characters.
4814         Improve docs and variable names.
4815         Replace over-clever fall-through switch with a simple loop.
4816         (Lstream_get_emchar_1):
4817         Replace over-clever fall-through switch with a simple loop.
4818
4819         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4820         Warning suppression.
4821
4822         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4823         the return value of Lstream_getc, which could be EOF as well.
4824
4825         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4826
4827         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4828         APIs can be used on Extbytes without casts.  Risky!
4829         (SExtbyte): Remove.
4830         (UExtbyte): Remove.
4831
4832         * input-method-xlib.c (XIM_init_device):
4833         Use Xlib.h instead of IntrinsicP.h.
4834         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4835         which will break in X11R7.
4836         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4837         to call XRegisterIMInstantiateCallback with correct types.
4838
4839         * gui-x.c (button_item_to_widget_value): Type correctness.
4840
4841         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4842
4843         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4844         (xbm_instantiate_1): Type correctness.
4845         (BUILD_GLYPH_INST):  Type correctness.
4846
4847         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4848
4849         * file-coding.c:
4850         (decode_coding_sjis):
4851         (decode_coding_big5):
4852         (decode_coding_ucs4):
4853         (decode_coding_utf8):
4854         (decode_coding_iso2022):
4855         (decode_coding_no_conversion):
4856         Make all decoding functions take an Extbyte * arg.
4857         (encode_coding_sjis):
4858         (encode_coding_big5):
4859         (encode_coding_ucs4):
4860         (encode_coding_utf8):
4861         (encode_coding_iso2022):
4862         (encode_coding_no_conversion):
4863         Make all encoding functions take a Bufbyte * arg.
4864         Use size_t instead of unsigned int for memory sizes.
4865         Only cast to unsigned char whenever dereferencing Extbyte *.
4866
4867         * doc.c (unparesseuxify_doc_string): Type correctness.
4868
4869         * console-x.c (split_up_display_spec):
4870         Rewrite without using details of internal string representation.
4871         (x_semi_canonicalize_device_connection): Type correctness.
4872
4873         * config.h.in:
4874         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4875         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4876         (HAVE_XFREE386): Removed.
4877
4878         * buffer.h (DEC_CHARPTR): `const' correctness.
4879         (bufbyte_strcmp): New.
4880         (bufbyte_memcmp): New.
4881
4882         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4883
4884         * buffer.h (XCHAR_OR_CHAR_INT):
4885         Always use inline function.
4886         Remove redundant type checking assert() - XINT will abort quite nicely.
4887
4888 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4889
4890         * search.c (Freplace_match): Set newtext to an empty string.
4891
4892 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4893
4894         * s/decosf1-3.h: Remove #include of stropts.h
4895         * s/ptx.h: Remove #include of stropts.h
4896         * s/usg5-4.h: Remove #include of stropts.h
4897         * sysproc.h:
4898         * config.h.in:
4899         Use stropts.h, not sys/stropts.h.
4900         Use strtio.h, not sys/strtio.h.
4901
4902 2000-10-04  Martin Buchholz <martin@xemacs.org>
4903
4904         * XEmacs 21.2.36 is released.
4905
4906 2000-09-21  Andy Piper  <andy@xemacs.org>
4907
4908         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4909         changes still involve copying the widget tree.
4910         (update_widget_face): make sure a change is register in the widget
4911         tree. Call update_tab_widget_face appropriately.
4912         (update_tab_widget_face): ditto.
4913         (x_tab_control_redisplay): make sure non-structural changes still
4914         involve copying the widget tree.
4915
4916 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4917
4918         * lread.c (locate_file): Check the path element is non-nil.
4919
4920 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4921
4922         * lisp.h: Warning suppression for SCO compilers.
4923
4924         * redisplay-tty.c (reset_tty_modes): Fix crash.
4925         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4926
4927 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4928
4929         Big signal/process handling overhaul.  Bugs fixed:
4930         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4931         M-x comint-kill-subjob should work for both values nil and t of
4932         process-connection-type. It was broken on most platforms.
4933         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4934         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4935         * process-unix.c: Signal/Process handling overhaul.
4936         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4937         (allocate_pty): Use all available modern methods of allocating
4938         ptys, falling back to old style BSD allocation as a last resort.
4939         Use allegedly more secure Unix98 pty allocation by default.
4940         (allocate_pty_the_old_fashioned_way): New. the last resort.
4941         (unix_create_process): Push ptem, ldterm, ttcompat where
4942         available.  Autoconfiscate.
4943         (try_to_initialize_subtty): New.
4944         (unix_kill_child_process): Proper signal handling for ptys on most
4945         platforms, using special knowledge of AIX, BSD, etc...
4946         (unix_create_process): Always disconnect_controlling_terminal() for
4947         subprocesses, whether using ptys or not.
4948         * process.h: Remove old getpt-dependent PTY code.
4949         * process.c (Fprocess_send_signal): New, obvious generic function.
4950         (decode_signal): New.
4951         (Finterrupt_process):
4952         (Fkill_process):
4953         (Fquit_process):
4954         (Fstop_process):
4955         (Fcontinue_process):
4956         (Fsignal_process): Use decode_signal.
4957         (process_send_signal):
4958         Many docstring corrections.
4959         Allow any signal to be sent to a process object.
4960         * config.h.in: Add symbols for big signal/process overhaul.
4961         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4962         * sysproc.h: Include process-related headers, where available:
4963         sys/stropts.h sys/strtio.h pty.h libutil.h
4964         * s/irix4-0.h:
4965         * s/irix5-0.h:
4966         * s/cygwin32.h:
4967         * s/gnu.h:
4968         * s/linux.h:
4969         * s/hpux.h:
4970         * s/aix3-1.h:
4971         Remove old S&M pty stuff.
4972         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4973         * systty.h: Simplify cpp hackery, improve comments.
4974         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4975
4976         * editfns.c (Fformat_time_string):
4977         Be a little more paranoid with the return value of ctime.
4978
4979         * fileio.c (check_executable):
4980         (check_writable):
4981         Use symbolic constants X_OK, W_OK.
4982
4983         * console-x.c (split_up_display_spec): Fix a warning.
4984
4985 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4986
4987         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4988         * ntproc.c (sys_spawnve): make_string ==> build_string
4989         Small clarity improvements.
4990
4991 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4992
4993         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4994
4995         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4996
4997         * config.h.in (HAVE_STRCASECMP): Remove.
4998
4999 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5000
5001         * redisplay-output.c (redisplay_output_pixmap):
5002         Cleaner and possibly more 64-bit correct code.
5003
5004 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5005
5006         * dumper.c (pdump_load_finish): move restoration of
5007         `noninteractive1' to emacs.c (main_1).
5008         * emacs.c (main_1): protect LISP-visible command-line flags
5009         from pdump_load().
5010
5011 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5012
5013         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5014         DUMP_TARGET instead of literal program names.
5015
5016 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5017
5018         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5019
5020 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5021
5022         * *: Spelling mega-patch
5023
5024 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5025
5026         * fns.c (bad_bad_turtle):
5027         Delete "Eek!" comment, since we fixed the bug to which it refers.
5028
5029 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5030
5031         * alloca.c: Replace REGISTER with register.
5032
5033 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5034
5035         * file-coding.c (ucs_to_char): Use countof.
5036
5037 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5038
5039         * file-coding.c: (ucs_to_char):
5040         (complex_vars_of_file_coding):
5041         Use countof instead of sizeof.
5042         Use CHECK_NATNUM instead of CHECK_INT.
5043
5044         * sysdep.c (strcasecmp): Remove.
5045         * device-x.c (ascii_strcasecmp): New.
5046         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5047         Avoid using non-standard non-portable strcasecmp.
5048
5049 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5050
5051         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5052         * font-lock.c: remove reference to emacsfns.h.
5053         * search.c: small doc improvement.
5054         * event-Xt.c: correct file names in comments.
5055         * console-x.h Correct file names in comments.
5056         * frame.c: Correct file names in comments.
5057         * event-stream.c: remove Energize from comments.
5058
5059 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5060
5061         * symeval.h (DEFERROR_STANDARD):
5062         (DEFERROR):
5063         (DEFSYMBOL):
5064         (DEFSYMBOL_NO_DUMP):
5065         (DEFSYMBOL_MULTIWORD_PREDICATE):
5066         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5067         (DEFKEYWORD):
5068         The construct &##name is not sensible C.
5069         Fixes compilation errors with Unixware native compiler.
5070
5071 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5072
5073         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5074         (next_frame_internal): Removed.  We now just have next_frame.
5075         (next_frame):
5076         Write a simpler and cleaner one-pass algorithm.
5077         Remove called_from_delete_device arg and #ifdefed-out code.
5078         (previous_frame):
5079         Renamed from prev_frame.  Update callers.
5080         Cleaned up to have an analogous implementation to next_frame.
5081         (other_visible_frames_internal): Remove the
5082         called_from_delete_device bogus arg, and hence, remove this
5083         function.  Just use other_visible_frames().
5084
5085         * window.c (Fnext_window):
5086         Prettify docstring.
5087         Since next_frame() is guaranteed to return a frame, remove check
5088         for nil inserted in previous patch.
5089         (Fprevious_window):
5090         Prettify docstring.
5091         Make code look more like Fnext_window.
5092         (window_loop):
5093         Respect the `console' arg when iterating through windows.
5094         Fixes bug: (get-buffer-window buffer t device) not respecting
5095         the `device' arg.
5096         This function needs more work, as others have pointed out.
5097
5098         * frame.h: Rename prev_frame to previous_frame.
5099         device_matches_console_spec no longer takes a `frame' arg.
5100
5101         * s/gnu.h:
5102         * s/linux.h:
5103         * s/hpux.h:
5104         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5105         From "Golubev I. N." <gin@mo.msk.ru>.
5106
5107         * make-src-depend: Fix typo.
5108
5109 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5110
5111         * window.c (Fnext_window):
5112         next_frame() might return nil, not a frame.
5113         Fixes this crash:
5114         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5115
5116         * frame.c (next_frame_internal):
5117         We've passed a frame if we've passed its device.
5118         Fixes this crash:
5119         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5120 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5121
5122 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5123
5124         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5125         Allow option to suppress accelerators in menu/dialog items.
5126         (populate_or_checksum_helper): Pass dialog title through above.
5127
5128 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5129
5130         * event-msw.c (mswindows_key_to_emacs_keysym):
5131         Add "pause" key, fix "menu" key.
5132
5133 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5134
5135         * eval.c (reinit_vars_of_eval):
5136         Increase max_lisp_eval_depth to 1000,
5137         required for thai-xtis.el to byte-compile under some circumstances.
5138
5139 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5140
5141         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5142         From Kenichi Handa.
5143
5144 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5145
5146         * make-src-depend: Make the generated Makefiles smaller.
5147
5148         * s/hpux.h (SETUP_SLAVE_PTY):
5149         Provide a %d in the format string for the errno argument.
5150
5151         * editfns.c (Ftemp_directory):
5152         Warning fix.
5153         Avoid buffer overrun on very long file name.
5154
5155         * input-method-xlib.c (XIM_init_device):
5156         6th parameter of XRegisterIMInstantiateCallback has different
5157         pointer types on different OSes, so simply cast to (void *).
5158
5159         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5160
5161         * sysdll.c (dll_open):
5162         shl_load will hang hard if passed a NULL filename.
5163         Simply return NULL for compatibility with dlopen.
5164         * sysdll.c: Conform to XEmacs coding standards.
5165
5166         * sysdep.c (get_pty_max_bytes):
5167         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5168
5169 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5170
5171         * tooltalk.c: Add #include <syssignal.h>
5172
5173 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5174
5175         * s/hpux.h: Don't use undefined function sigunblock().
5176
5177 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5178
5179         * config.h.in: Add HAVE_BALLOON_HELP.
5180         * emacs.c: Use HAVE_BALLOON_HELP.
5181         * Makefile.in.in (x_objs):
5182         Make Balloon Help conditional on finding shape.h.
5183
5184 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5185
5186         * syntax.c (regex_emacs_buffer_p): New variable.
5187         * syntax.h (regex_emacs_buffer_p): extern.
5188         * search.c (looking_at_1):
5189         (string_match_1):
5190         (fast_string_match):
5191         (search_buffer): Set regex_emacs_buffer_p.
5192         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5193         when before_dot, at_dot, after_dot.
5194
5195 2000-08-23  Andy Piper  <andy@xemacs.org>
5196
5197         * gui-x.c (popup_selection_callback): Only set action_occurred
5198         when we really have an image instance.
5199         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5200
5201 2000-08-23  Andy Piper  <andy@xemacs.org>
5202
5203         * gui-msw.c (mswindows_handle_gui_wm_command): set
5204         action_occurred.
5205         * gui-x.c (popup_selection_callback): ditto.
5206
5207         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5208         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5209         (struct Lisp_Image_Instance): add action_occurred flag.
5210
5211         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5212         (image_instance_changed): ditto.
5213         (reset_frame_subwindow_instance_cache): only unmap windows - do
5214         not remove them from the cache also.
5215
5216         * glyphs-widget.c (tab_control_update): better debug.
5217         (progress_gauge_update): ditto.
5218         (layout_update): ditto.
5219         (layout_instantiate): ditto.
5220         (tab_control_order_only_changed): cope with null pending items.
5221
5222         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5223         debug. Force selection of an item when an action occurred. Cope
5224         with null pending_items.
5225         (mswindows_progress_gauge_redisplay): better debug.
5226         * glyphs-x.c (x_tab_control_redisplay): ditto.
5227
5228         * redisplay.c (redisplay_frame): reset the frame cache if the
5229         frame is garbaged.
5230
5231         * window.c (Fset_window_configuration): potentially re-enable
5232         frame cache reset.
5233         (window_unmap_subwindows): need to finalize instances here since
5234         it is only used in mark_window_as_deleted.
5235
5236 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5237
5238         * nas.c (SndOpenDataForReading):
5239         nas.c (WaveOpenDataForReading):
5240         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5241         Somehow escaped from the 2000-08-14 patch.
5242
5243 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5244
5245         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5246         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5247
5248 2000-08-21  Andy Piper  <andy@xemacs.org>
5249
5250         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5251         window if it is not already displayed.
5252
5253         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5254         it is not already displayed.
5255
5256         * window.c (Fset_window_configuration): don't reset the frame
5257         cache.
5258
5259         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5260         instances from the frame cache if we are actually finalizing them.
5261         (reset_frame_subwindow_instance_cache): reset frame cache only
5262         after unmapping everything.
5263         (map_subwindow): set displayed flag after mapping.
5264
5265 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5266
5267         * data.c (indirect_function):
5268         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5269
5270         * eval.c (function_argcount):
5271         Use original function when signaling errors.
5272
5273 2000-08-18  Andy Piper  <andy@xemacs.org>
5274
5275         * frame.c (delete_frame_internal): use new
5276         free_frame_subwindow_instances name.
5277
5278         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5279         (add_tab_item): make return type correct.
5280         (mswindows_tab_control_instantiate): assert index of tab.
5281         (mswindows_tab_control_redisplay): Re-code to use
5282         gui_item_equal_sans_selected and gui_item_list_find_selected.
5283
5284         * glyphs-widget.c (tab_control_update): Correct comment.
5285
5286         * window.c (window_unmap_subwindows): use new
5287         unmap_subwindow_instance_cache_mapper.
5288         (window_unmap_subwindows_cache_mapper): deleted.
5289         (Fset_window_configuration): comparisons should now be with
5290         EQ. Preserve the subwindow instance cache across configuration
5291         changes.
5292         (allocate_window): ditto.
5293         (make_dummy_parent): ditto.
5294
5295         * glyphs.c (free_frame_subwindow_instances): rename from
5296         free_frame_subwindow_instance_cache. finalize all instances rather
5297         than just those in the display cache.
5298         (finalize_all_subwindow_instances): walk windows unmapping and
5299         finalizing subwindows.
5300         (unmap_subwindow_instance_cache_mapper): moved from
5301         window.c. Allow finalization as well as unmapping.
5302
5303         * gui.c (gui_item_list_find_selected): new function.
5304
5305         * gui.h (gui_item_list_find_selected): declare.
5306
5307         * glyphs-x.c (x_tab_control_redisplay): pick tab
5308         explicitly. Re-code to use gui_item_equal_sans_selected and
5309         gui_item_list_find_selected.
5310
5311         * glyphs-x.h: add lwlib-utils.h
5312
5313         * buffer.c (Frecord_buffer): undo previous change.
5314
5315 2000-08-09  Vin Shelton  <acs@xemacs.org>
5316
5317         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5318         possible.  Create temporary files more securely.  The patch was
5319         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5320         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5321         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5322         for details.
5323
5324 2000-08-07  Ben Wing  <ben@xemacs.org>
5325
5326         * getloadavg.c: remove duplicate (and windows-breaking)
5327         includes of fcntl.h and sys/file.h.
5328
5329         * nt.c: remove duplicate getloadavg() definition.
5330
5331         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5332         encodings.
5333
5334 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5335
5336         * eval.c (function_argcount): If function needs to be autoloaded
5337         actually use the loaded definition.
5338         GCPRO function.
5339
5340 2000-08-05  Ben Wing  <ben@xemacs.org>
5341
5342         * getloadavg.c: add prototype for getloadavg().  remove
5343         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5344         of the code).  remove duplicate header includes.
5345
5346         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5347
5348         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5349         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5350         useful load average.
5351
5352         * alloc.c (reinit_alloc_once_early): removed references to
5353         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5354         the lisp vars are the only things referencing the malloc_sbrk_*
5355         vars, and they were already if 0'd out.  these vars only exist
5356         in the older malloc.c, which is basically unused, and they're
5357         only for informational purposes.
5358
5359         * m\*.h: removed useless VIRT_ADDR_VARIES.
5360
5361         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5362
5363 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5364
5365         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5366         color if the image is a mono pixmap.
5367
5368 2000-07-30  Ben Wing  <ben@xemacs.org>
5369
5370         * Makefile.in.in (release):
5371         Remove stray @.
5372
5373         * buffer.c (directory_is_current_directory):
5374         * dired-msw.c (mswindows_get_files):
5375         * dired.c:
5376         * dired.c (Fdirectory_files):
5377         * dired.c (file_name_completion_stat):
5378         * dired.c (Ffile_attributes):
5379         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5380         preprocessor tricks, to avoid problems on some machines
5381         (e.g. SCO).
5382
5383         * callproc.c (egetenv): GC docs.
5384
5385         * console-msw.h:
5386         * console-msw.h (struct mswindows_dialog_id):
5387         * lrecord.h (lrecord_type):
5388         New object for use with MSW dialogs.
5389
5390         * console.h (struct console_methods):
5391         New enable/disable frame methods, for proper modal dialogs.
5392
5393         * device-msw.c (msprinter_default_printer): Fix to follow
5394         proper Mule conventions.
5395
5396         * device-msw.c:
5397         * device-msw.c (signal_open_printer_error):
5398         * device-msw.c (msprinter_init_device):
5399         * device-msw.c (ensure_not_printing):
5400         * device-msw.c (plist_get_margin):
5401         * device-msw.c (Fmsprinter_select_settings):
5402         * device-msw.c (finalize_devmode):
5403         * device-msw.c (Fmsprinter_settings_despecialize):
5404         * device-msw.c (signal_enum_priner_error):
5405         * extents.c (decode_extent):
5406         * extents.c (decode_map_extents_flags):
5407         * extents.c (decode_extent_at_flag):
5408         * extents.c (Fextent_at):
5409         * extents.c (Fextents_at):
5410         * extents.c (symbol_to_glyph_layout):
5411         [[[[2]]]] Use structured errors.
5412
5413         * dialog-msw.c:
5414         * dialog-msw.c (mswindows_is_dialog_msg):
5415         * dialog-msw.c (mark_mswindows_dialog_id):
5416         * dialog-msw.c (dialog_proc):
5417         * dialog-msw.c (handle_question_dialog_box):
5418         * dialog-msw.c (syms_of_dialog_mswindows):
5419         Define new object to clean up marking; use it as a dialog identifier.
5420         Call new delete-dialog-box-hook.
5421
5422         * dialog-x.c (dbox_selection_callback):
5423         * dialog-x.c (dbox_descriptor_to_widget_value):
5424         * dialog-x.c (x_make_dialog_box_internal):
5425         Call new delete-dialog-box-hook.
5426         Return an id.
5427
5428         * dialog.c:
5429         * dialog.c (syms_of_dialog):
5430         * dialog.c (vars_of_dialog):
5431         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5432
5433         * eval.c:
5434         * eval.c (signal_call_debugger):
5435         when noninteractive, output stack traces on the console instead
5436         of in a (never-seen) buffer.
5437
5438         * eval.c (signal_type_error):
5439         * eval.c (invalid_argument_2):
5440         * lisp.h:
5441         new funs for use w/structured errors.
5442
5443         * event-Xt.c:
5444         * event-Xt.c (x_to_emacs_keysym):
5445         * event-Xt.c (describe_event):
5446         * event-Xt.c (emacs_Xt_event_handler):
5447         * event-Xt.c (vars_of_event_Xt):
5448         * event-msw.c:
5449         * event-msw.c (mswindows_wnd_proc):
5450         * event-msw.c (vars_of_event_mswindows):
5451         rename {x,mswindows}-debug-events to debug-{}-events for
5452         consistency with other debug-foo variables.
5453
5454         * event-stream.c:
5455         document next-event more clearly.
5456
5457         * fileio.c (Ffile_name_directory):
5458         * fileio.c (Ffile_name_nondirectory):
5459         * fileio.c (Funhandled_file_name_directory):
5460         * fileio.c (file_name_as_directory):
5461         * fileio.c (Ffile_name_as_directory):
5462         * fileio.c (directory_file_name):
5463         * fileio.c (Fdirectory_file_name):
5464         * fileio.c (Fmake_temp_name):
5465         * fileio.c (Ffile_truename):
5466         * fileio.c (Fsubstitute_in_file_name):
5467         * fileio.c (expand_and_dir_to_file):
5468         * fileio.c (barf_or_query_if_file_exists):
5469         * fileio.c (check_executable):
5470         * fileio.c (Ffile_exists_p):
5471         * fileio.c (Ffile_writable_p):
5472         * fileio.c (Ffile_directory_p):
5473         * fileio.c (Ffile_regular_p):
5474         * fileio.c (Ffile_modes):
5475         * fileio.c (Ffile_newer_than_file_p):
5476         * fileio.c (Fverify_visited_file_modtime):
5477         * fileio.c (Fset_visited_file_modtime):
5478         * fileio.c (auto_save_1):
5479         (1). (2).
5480         fix up gcpro's.
5481
5482         * frame-msw.c:
5483         * frame-msw.c (mswindows_init_frame_1):
5484         * frame-msw.c (mswindows_enable_frame):
5485         * frame-msw.c (error_frame_unsizable):
5486         * frame-msw.c (msprinter_init_frame_1):
5487         * frame-msw.c (msprinter_init_frame_3):
5488         * frame-msw.c (console_type_create_frame_mswindows):
5489         (2).
5490         implement new enable/disable frame methods.
5491
5492         * frame-x.c:
5493         * frame-x.c (x_enable_frame):
5494         * frame-x.c (console_type_create_frame_x):
5495         implement new enable/disable frame methods.
5496
5497         * frame.c:
5498         * frame.c (Fdisable_frame):
5499         * frame.c (syms_of_frame):
5500         * frame.h (struct frame):
5501         implement new enable/disable frame methods/functions.
5502
5503         * general-slots.h:
5504         add initial-focus.
5505
5506         * glyphs-msw.c (mswindows_widget_instantiate):
5507         comment that initial-focus should be implemented.
5508
5509         * glyphs-widget.c:
5510         * glyphs-widget.c (check_valid_instantiator):
5511         * glyphs-widget.c (check_valid_orientation):
5512         * glyphs-widget.c (check_valid_tab_orientation):
5513         * glyphs-widget.c (check_valid_justification):
5514         * glyphs-widget.c (check_valid_border):
5515         * glyphs-widget.c (check_valid_callback):
5516         * glyphs-widget.c (check_valid_int_or_function):
5517         * glyphs-widget.c (check_valid_string_or_vector):
5518         * glyphs-widget.c (check_valid_item_list_1):
5519         * glyphs-widget.c (widget_validate):
5520         * glyphs-widget.c (combo_box_validate):
5521         * glyphs-widget.c (widget_instantiate):
5522         * glyphs-widget.c (syms_of_glyphs_widget):
5523         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5524         * glyphs-widget.c (image_instantiator_combo_box):
5525         * glyphs-widget.c (image_instantiator_scrollbar):
5526         * glyphs-widget.c (image_instantiator_tab_control):
5527         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5528         (2).
5529         support (unimplemented) keyword initial-focus.
5530         reindent long macros.
5531
5532         * glyphs-x.c (x_redisplay_widget):
5533         * glyphs-x.c (x_button_instantiate):
5534         * glyphs-x.c (x_button_redisplay):
5535         * glyphs-x.c (x_progress_gauge_instantiate):
5536         * glyphs-x.c (x_edit_field_instantiate):
5537         * glyphs-x.c (x_combo_box_instantiate):
5538         * glyphs-x.c (x_tab_control_instantiate):
5539         * glyphs-x.c (x_label_instantiate):
5540         * gui-x.c:
5541         * gui-x.c (button_item_to_widget_value):
5542         * gui-x.c (gui_items_to_widget_values_1):
5543         * gui-x.c (gui_item_children_to_widget_values):
5544         * gui-x.c (gui_items_to_widget_values):
5545         * gui-x.h:
5546         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5547         add new flag to gui-parsing routines to indicate whether
5548         accelerator specs should be supported.
5549
5550         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5551
5552         * glyphs.h (struct Lisp_Image_Instance):
5553         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5554         add initial-focus flag.
5555
5556         * gui.c:
5557         * gui.c (syms_of_gui):
5558         * gui.c (vars_of_gui):
5559         clean up menu-no-selection-hook.
5560
5561         * gui.h:
5562         support delete-dialog-box-hook.
5563
5564         * lread.c (Fload_internal):
5565         * lread.c (locate_file_in_directory_mapper):
5566         (1).
5567
5568         * lrecord.h:
5569         * lrecord.h (struct toolbar_button):
5570         * lrecord.h (syms_of_toolbar):
5571         document how to create a new object.
5572
5573         * menubar-msw.c (mswindows_char_is_accelerator):
5574         may be called on frames w/o menus.
5575
5576         * menubar.c (vars_of_menubar):
5577         clean up :filter docs.
5578
5579         * nt.c (readdir):
5580         * ntproc.c:
5581         (1).
5582
5583         * process-nt.c:
5584         * process-nt.c (validate_signal_number):
5585         * process-nt.c (signal_cannot_launch):
5586         * process-nt.c (nt_create_process):
5587         * process-nt.c (nt_send_process):
5588         * process-nt.c (nt_kill_child_process):
5589         * process-nt.c (nt_open_network_stream):
5590         * process-nt.c (syms_of_process_nt):
5591         (2).
5592         delete quote-handling.  call new lisp code that does it better.
5593
5594         * process-unix.c (connect_to_file_descriptor):
5595         * process-unix.c (allocate_pty):
5596         * process-unix.c (unix_send_process):
5597         * process-unix.c (unix_kill_child_process):
5598         * process-unix.c (unix_open_network_stream):
5599         * process-unix.c (unix_open_multicast_group):
5600         (1). (2).
5601
5602         * process.c:
5603         * process.c (Fstart_process_internal):
5604         (2).  need to canonicalize process path even if absolute.
5605
5606         * select-msw.c (symbol_to_ms_cf):
5607         * select-msw.c (ms_cf_to_symbol):
5608         * select-msw.c (cf_is_autofreed):
5609         * select-msw.c (mswindows_destroy_selection):
5610         * select.c:
5611         * select.c (syms_of_select):
5612         * select.h:
5613         support dibv5, fix bugs. (from Mike Alexander)
5614
5615         * select.c (Fget_selection_internal):
5616         * select.c (select_convert_out):
5617
5618         * sysdep.c:
5619         * sysdep.c (xemacs_stat):
5620         renamed.
5621
5622         * sysdep.c (mkdir):
5623         * sysdep.c (rmdir):
5624         but keep original stat() here because we provide encapsulation
5625         around these funs.
5626
5627         * sysfile.h:
5628         * sysfile.h (fstat):
5629         remove stat garbage.
5630
5631         * syswindows.h:
5632         fix X/MSW conflict.
5633         don't include tchar.h.  it's inappropriate because it makes
5634         compile-time distinctions when we want runtime distinctions.
5635         (we provide our own tchar replacements)
5636
5637         * toolbar.c:
5638         use default object printer for toolbar-button.
5639
5640         * unexcw.c:
5641         make sure we don't encapsulate.
5642
5643         * window.c (vars_of_window):
5644         emphasize that temp-buffer-show-hook is obsolete.
5645
5646 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5647
5648         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5649         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5650
5651         * events.c (Fevent_timestamp_lessp):
5652         Not 64-bit clean.  Use EMACS_INT, not int.
5653
5654 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5655
5656         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5657         unsigned int and changed the last enum to
5658         lrecord_type_last_built_in_type.
5659         (lrecord_implementations_table): changed prototype to know how
5660         long the array is supposed to be.
5661         (lrecord_type_count): new unsigned int to keep track of the
5662         current number of lisp lrecord types.
5663         (DEFINE_EXTERNAL_LRECORD):
5664         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5665         dynamic-modules to declare new lisp types. They are the same
5666         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5667         int for each new type, and increment lrecord_type_count by 1.
5668
5669         * alloc.c (lrecord_implementations_table): Changed to reference
5670         lrecord_type_last_built_in_type for the size of the array.
5671         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5672
5673 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5674
5675         * glyphs.h (check_valid_item_list): Renamed from
5676         check_valid_item_list_1.
5677
5678 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5679
5680         * select.c (Qselect_coerce): New.
5681         * select.c (Vselection_coercion_alist): New.
5682         * select.c (syms_of_select): Declare.
5683         * select.c (get-selection-internal): Use it.
5684         Use the new select-coerce functionality.
5685
5686         * select.c (select_coerce): New.
5687         * select.h (select_coerce): Declare.
5688         New function to coerce one type of data into another.
5689
5690 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5691
5692         * callproc.c (Fcall_process_internal):
5693         (Fcall_process_internal):
5694         * process-unix.c (unix_create_process):
5695         Save and restore the value of errno, so that error messages are accurate.
5696
5697 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5698
5699         * elhash.c (print_hash_table):
5700         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5701         Prettify docstrings and indentation.
5702
5703 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5704
5705         * window.c (Fwindow_pixel_edges): Subtract frame border and
5706         gutter size.
5707
5708 2000-07-31  Andy Piper  <andy@xemacs.org>
5709
5710         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5711         will acknowledge the change.
5712
5713         * glyphs.h: declare tab_control_order_only_changed.
5714
5715         * glyphs-x.c (x_tab_control_redisplay): use
5716         tab_control_order_only_changed.
5717
5718         * glyphs-widget.c (tab_control_order_only_changed): new function.
5719
5720         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5721         tab_control_order_only_changed.
5722
5723         * gui.c (gui_item_equal_sans_selected): new function.
5724         (gui_item_equal): use it.
5725
5726         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5727         :properties in favor of :items..
5728
5729         * glyphs-widget.c (check_valid_item_list): rename from
5730         check_valid_item_list_1.
5731         (check_valid_item_list_1): renamed.
5732         (combo_box_validate): deprecate :properties in favor of :items.
5733         (widget_instantiate): ditto.
5734         (tab_control_update): ditto.
5735         (image_instantiator_combo_box): ditto.
5736         (image_instantiator_tree_view): ditto.
5737         (image_instantiator_tab_control): ditto.
5738         (layout_post_instantiate): remove dead code.
5739
5740         * print.c (debug_print_no_newline): only write to debugger if in
5741         WIN32_NATIVE.
5742
5743         * elhash.c (Fmake_hash_table): update doc string.
5744
5745         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5746         messages whilst in GC. This at least stops XEmacs crashing but has
5747         the potential for wierd behaviour.
5748
5749 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5750
5751         * config.h.in:
5752         Make existence of s&m files optional.
5753
5754         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5755         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5756         * s/gnu.h: Remove HAVE_GETLOADAVG.
5757         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5758         * s/sol2.h: Remove HAVE_GETLOADAVG.
5759         * lisp.h: Remove getloadavg() declaration.
5760         * fns.c:
5761         Include <sys/loadavg.h> if available.
5762         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5763         * config.h.in:  Group together getloadavg()-related macros.
5764         Use only configure-time tests to detect getloadavg().
5765
5766 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5767
5768         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5769
5770 2000-07-25  Andy Piper  <andy@xemacs.org>
5771
5772         * syswindows.h: add tchar.h for native builds.
5773
5774         * frame.c (syms_of_frame): remove set-glyph-image.
5775
5776         * general-slots.h: add Qset_glyph_image.
5777
5778         * glyphs-widget.c (layout_update): add domain arg to
5779         set-glyph-image.
5780         (syms_of_glyphs_widget): remove set-glyph-image.
5781
5782 2000-07-23  Ben Wing  <ben@xemacs.org>
5783
5784         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5785         Vpopup_frame_list.
5786
5787 2000-07-22  Andy Piper  <andy@xemacs.org>
5788
5789         * symsinit.h: add syms_of_win32().
5790
5791         * gui-msw.c (syms_of_gui_mswindows): remove
5792         Fmswindows_shell_execute.
5793         (Fmswindows_shell_execute): moved to win32.c.
5794
5795         * emacs.c (main_1): add syms_of_win32 ().
5796
5797         * win32.c (init_potentially_nonexistent_functions): rewrite in
5798         compiler-friendly terms.
5799         (Fmswindows_shell_execute): move here from gui-msw.c.
5800         (syms_of_win32): new.
5801
5802         * device-msw.c (Fmswindows_printer_list): clean up args to
5803         EnumPrinters.
5804         Don't include tchar under cygwin or mingw.
5805         (msprinter_default_printer): make cygwin-friendly.
5806
5807 2000-07-21  Andy Piper  <andy@xemacs.org>
5808
5809         * glyphs-widget.c (image_instantiator_tree_view): use tab
5810         control's update function.
5811         (layout_property): new function. Retrieve items.
5812
5813         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5814         function. Re-populate the tree view from the pending items.
5815
5816         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5817         is designated the parent if the domain is an image instance. This
5818         is needed so that dirtiness can be cascade up the hierarchy and
5819         thus for layout children to be redisplayed correctly.
5820         (allocate_image_instance): rename glyph -> parent.
5821
5822         * redisplay.h: change redisplay_output_layout signature.
5823
5824         * redisplay-msw.c (mswindows_output_display_block): use domain
5825         arg.
5826
5827         * redisplay-x.c (x_output_display_block): use domain arg.
5828
5829 2000-07-10  Andy Piper  <andy@xemacs.org>
5830
5831         * window.c (Fset_window_configuration): add comment.
5832
5833         * redisplay-output.c (compare_runes):
5834         (redisplay_output_subwindow): redisplay rather than update subwindow.
5835         (redisplay_output_layout): ditto.
5836
5837         * redisplay-msw.c (mswindows_frame_output_end):
5838         (mswindows_frame_output_end): make defer window pos optional.
5839
5840         * lisp.h: add Flast.
5841
5842         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5843         normalize method. Change update method to be for changed
5844         instantiators. Add redisplay method. Change signature of layout
5845         method.
5846         (struct Lisp_Image_Instance): add instantiator.
5847         (IMAGE_INSTANCE_INSTANTIATOR): new.
5848         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5849         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5850         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5851
5852         * glyphs.c:
5853         (find_instantiator_differences): new function.
5854         (Fset_instantiator_property): new convenience function.
5855         (check_image_instance_structure): strictly check for vector
5856         instantiators.
5857         (normalize_image_instantiator): make non-static.
5858         (instantiate_image_instantiator): pass on dest_mask and use new
5859         signatures for image_instance_layout and friends.
5860         (mark_image_instance): mark the instantiator. Mark the subwindow
5861         face not the widget face.
5862         (image_instance_equal): add instantiator.
5863         (image_instance_hash): ditto.
5864         (allocate_image_instance): ditto.
5865         (Fset_image_instance_property): removed.
5866         (Fimage_instance_file_name): ditto.
5867         (Fcolorize_image_instance): ditto.
5868         (image_instance_layout): add offsets to be set.
5869         (update_image_instance): new function. update an image instance
5870         from its changed instantiator.
5871         (inherit_normalize): add dest_mask.
5872         (xbm_normalize): ditto.
5873         (xface_normalize): ditto.
5874         (xpm_normalize): ditto.
5875         (text_update): set_property -> update.
5876         (image_instantiate): use the glyph identity as a hash key, not the
5877         instantiator.
5878         (glyph_width): use new image_instance_layout signature.
5879         (glyph_ascent): ditto.
5880         (glyph_descent): ditto.
5881         (glyph_height): ditto.
5882         (glyph_query_geometry): ressurrect.
5883         (glyph_layout): ditto.
5884         (redisplay_subwindow): update -> redisplay.
5885         (syms_of_glyphs): add Fset_instantiator_property.
5886         (image_instantiator_format_create): set_property -> update.
5887
5888         * glyphs-x.c:
5889         (autodetect_normalize): add dest_maks to signature.
5890         (x_redisplay_subwindow): update -> redisplay.
5891         (x_redisplay_widget): ditto.
5892         (x_button_redisplay): ditto.
5893         (x_progress_gauge_redisplay): ditto.
5894         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5895         stacking order.
5896         (console_type_create_glyphs_x): update -> redisplay.
5897         (image_instantiator_format_create_glyphs_x): ditto.
5898
5899         * glyphs-widget.c:
5900         (check_valid_instantiator): disallow glyphs in the instantiator,
5901         they must now be vectors.
5902         (check_valid_instantiator_list): ditto.
5903         (glyph_instantiator_to_glyph): use internal symbol rather than
5904         intern.
5905         (widget_update): renamed from widget_set_property. Call cascaded
5906         update methods.
5907         (redisplay_widget): renamed from update_widget.
5908         (widget_layout): image_instance_layout now takes position as well
5909         as size.
5910         (widget_normalize): ditto.
5911         (widget_instantiate): ditto.
5912         (tab_control_query_geometry) ditto.:
5913         (tab_control_update): renamed from tab_control_set_property.
5914         (progress_gauge_update): set_property -> update.
5915         (layout_normalize): rewrite so that child instantiators are
5916         normalized also.
5917         (layout_update): new function. Create glyphs from the normalized
5918         children and cope with any other layout keywords. We do not
5919         instantiate children here that will be take care of by
5920         redisplay_output_layout.
5921         (layout_instantiate): call layout_update and not much else.
5922         (layout_post_instantiate): not sure whether this is needed
5923         anymore.
5924         (layout_query_geometry): query glyph geometry rather than
5925         image_instance geometry.
5926         (layout_layout): set offsets from pass in parameters. Use glyph
5927         geometry and layout functions rather than image instance ones.
5928         (native_layout_layout): ditto.
5929         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5930         (image_instantiator_widget): set_property -> update.
5931         (image_instantiator_buttons): ditto.
5932         (image_instantiator_progress_guage): ditto.
5933         (image_instantiator_tab_control): ditto.
5934         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5935         (image_instantiator_layout): add update method.
5936
5937         * glyphs-msw.c (bmp_normalize):
5938         (mswindows_resource_normalize): add dest_mask so that it can be
5939         proprogated by layout_normalize.
5940         (begin_defer_window_pos): make optional because it may not be the
5941         right thing to do and it introduces differences with X.
5942         (mswindows_unmap_subwindow): ditto.
5943         (mswindows_map_subwindow): ditto.
5944         (mswindows_redisplay_subwindow): renamed from
5945         mswindows_update_subwindow.
5946         (mswindows_redisplay_widget): ditto.
5947         (mswindows_button_redisplay): renamed from
5948         mswindows_button_update. Update is now what the instantiation
5949         function does for a changed instantiator.
5950         (mswindows_progress_gauge_instantiate): set the progress value
5951         here if appropriate.
5952         (mswindows_tab_control_redisplay): cope with re-ordering of the
5953         members of the tab widget by simply selecting the new top
5954         widget. This makes things appear ok if you click on a tab.
5955         (mswindows_combo_box_instantiate): image_instance_layout now takes
5956         position as well as size.
5957         (mswindows_progress_gauge_redisplay): renamed from
5958         mswindows_progress_gauge_update.
5959         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5960         (image_instantiator_format_create_glyphs_mswindows): ditto.
5961
5962         * glyphs-eimage.c (jpeg_normalize):
5963         (gif_normalize):
5964         (png_normalize):
5965         (tiff_normalize): add dest_mask so that it can be proprogated by
5966         layout_normalize.
5967
5968         * elhash.c:
5969         (print_hash_table):
5970         (hash_table_weakness_validate):
5971         (decode_hash_table_weakness):
5972         (Fhash_table_weakness):
5973         (Fhash_table_type):
5974         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5975
5976         * console.h (struct console_methods): move update_* to
5977         redisplay_*.
5978
5979 2000-07-20  Ben Wing  <ben@xemacs.org>
5980
5981         * *.[ch] (XSETOBJ): remove unused middle argument.
5982         lisp-disunion.h: correct wrap_object() to one argument.
5983
5984 2000-07-15  Ben Wing  <ben@xemacs.org>
5985
5986         * s/cygwin32.h:
5987         * s/cygwin32.h (CYGWIN_CONV_PATH):
5988         Add missing logb prototype for v1.1.
5989         Use post-b20 names and alias to pre-b20 names when pre-b20.
5990
5991         * s/windowsnt.h: [5].
5992
5993 2000-07-15  Ben Wing  <ben@xemacs.org>
5994
5995         * Makefile.in.in (x_objs):
5996         * Makefile.in.in (sheap_objs):
5997         * Makefile.in.in (objs):
5998         added win32.o, cosmetic cleanups.
5999
6000         * alloc.c (Fmake_byte_code):
6001         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6002         etc. macros which declare their own args now.
6003
6004         * alloc.c (syms_of_alloc):
6005         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6006
6007         * buffer.c:
6008         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6009
6010         * buffer.c (Fget_file_buffer):
6011         Fixed GCPRO problem.
6012
6013         * buffer.c (get_truename_buffer):
6014         Fixed comment about GC checking.
6015
6016         * buffer.c (syms_of_buffer):
6017         Undeclared those dedicated frame funs.
6018         [2].
6019
6020         * buffer.h:
6021         Define convenience macros for internal/external conversions.
6022         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6023         and Qenvironment_variable_encoding for cleaner code.
6024
6025         * bufslots.h:
6026         Remove dedicated-frame; in lisp.
6027
6028         * bytecode.c (funcall_compiled_function):
6029         [1].
6030
6031         * bytecode.c (syms_of_bytecode):
6032         [2].
6033
6034         * console-msw.c:
6035         * console-msw.c (mswindows_show_console): Rewrote.
6036
6037         * console-msw.c (Fmswindows_debugging_output): New.
6038         Sends to OutputDebugString (special MSWin debugger interface).
6039
6040         * console-msw.c (Fmswindows_message_box):
6041         Fixed stupid bugs so it works when called from kill-emacs.
6042
6043         * console-msw.c (syms_of_console_mswindows):
6044         Declare Fmswindows_debugging_output.
6045
6046         * console-msw.h:
6047         New MSWin prototypes.
6048
6049         * console-msw.h (struct mswindows_frame):
6050         New entry last-click-mods for improved button-modifier support.
6051
6052         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6053         New struct entry `popup' with corresponding accessor.
6054
6055         * console-x.c:
6056         * console-x.c (split_up_display_spec):
6057         * console-x.c (get_display_arg_connection):
6058         * console-x.c (x_semi_canonicalize_console_connection):
6059         * console-x.c (x_canonicalize_device_connection):
6060         [[[6]]]: Change char to more specific type.
6061         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6062
6063         * console-x.c (x_semi_canonicalize_console_connection):
6064         * console-x.c (x_canonicalize_device_connection):
6065         [[[9]]]: Fix up error signalling to use new structured error system.
6066
6067         * console-x.h:
6068         [[[4]]]: Define codesys aliases:
6069         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6070         Qx_color_name_encoding, Qx_display_name_encoding.
6071
6072         * console.h (struct console_methods):
6073         New method make_dialog_box_internal supersedes older
6074         popup_dialog_box method.
6075
6076         * data.c:
6077         Define many new errors, part of new structured errors.
6078
6079         * data.c (init_errors_once_early):
6080         * data.c (syms_of_data):
6081         [2].
6082
6083         * device-msw.c (mswindows_init_device):
6084         [[[5]]]: Cleanup to support NT 3.51.
6085
6086         * device-msw.c (decode_devmode): Cleanup.
6087
6088         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6089         * device-msw.c (mswindows_handle_print_dialog_box):
6090         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6091         * device-msw.c (syms_of_device_mswindows):
6092         Delete the dialog box primitives recently introduced by Kirill and
6093         instead interface to general dialog box interface.
6094
6095         * device-x.c:
6096         * device-x.c (compute_x_app_name):
6097         * device-x.c (x_init_device):
6098         * device-x.c (Fx_valid_keysym_name_p):
6099         * device-x.c (Fx_set_font_path):
6100         [6].
6101         [7].
6102
6103         * device.h (wrap_device): New.
6104         First of its kind; meant to replace XSETDEVICE.
6105
6106         * dialog-msw.c: Many file-dialog symbols.
6107
6108         * dialog-msw.c (mswindows_register_popup_frame): New.
6109         * dialog-msw.c (mswindows_is_dialog_msg): New.
6110         For supporting kbd traversal in dialog boxes.
6111
6112         * dialog-msw.c (dialog_proc):
6113         Support hitting ESC in dialogs.
6114
6115         * dialog-msw.c (struct):
6116         Common dialog box errors.
6117
6118         * dialog-msw.c (handle_file_dialog_box): New.
6119         Add file dialog code.
6120
6121         * dialog-msw.c (handle_question_dialog_box):
6122         Redo existing code to support new question dialog syntax.
6123
6124         * dialog-msw.c (console_type_create_dialog_mswindows):
6125         We support new dialog console method.
6126
6127         * dialog-msw.c (syms_of_dialog_mswindows):
6128         * dialog-msw.c (vars_of_dialog_mswindows):
6129         New file dialog symbols, vars.
6130
6131         * dialog-x.c:
6132         * dialog-x.c (maybe_run_dbox_text_callback):
6133         * dialog-x.c (dbox_descriptor_to_widget_value):
6134         * dialog-x.c (x_make_dialog_box_internal):
6135         * dialog-x.c (console_type_create_dialog_x):
6136         Mule-ize entire file.
6137         Redo to support question dialog syntax.
6138         [6].
6139
6140         * dialog.c:
6141         * dialog.c (Fmake_dialog_box_internal):
6142         * dialog.c (syms_of_dialog):
6143         Kill old popup-dialog-box, replace with new primitive.
6144         Just call device method or signal error.
6145
6146         * eldap.c (Fldap_open):
6147         * eldap.c (Fldap_search_basic):
6148         * eldap.c (Fldap_add):
6149         * eldap.c (Fldap_modify):
6150         [1].
6151         [7].
6152
6153         * emacs.c:
6154         * emacs.c (make_arg_list_1):
6155         * emacs.c (make_arg_list):
6156         Mule-ize call to dll_init().
6157         [6].
6158         [8].
6159
6160         * emacs.c (make_argc_argv):
6161         * emacs.c (free_argc_argv):
6162         * emacs.c (init_cmdargs):
6163         * emacs.c (main_1):
6164         * emacs.c (Fkill_emacs):
6165         * emacs.c (Fdump_emacs):
6166         Update comments about what can be used in syms_* etc.
6167         Call init_win32() when necessary.
6168         Fix up MS Win dialog box in kill-buffer to actually work right.
6169         [7].
6170
6171         * eval.c:
6172         * eval.c (For):
6173         * eval.c (Fand):
6174         * eval.c (Fprogn):
6175         * eval.c (Fprog1):
6176         * eval.c (Fprog2):
6177         * eval.c (FletX):
6178         * eval.c (Flet):
6179         * eval.c (condition_case_3):
6180         * eval.c (Feval):
6181         * eval.c (function_argcount):
6182         * eval.c (funcall_lambda):
6183         [1].
6184
6185         * eval.c (type_error): New.
6186         * eval.c (maybe_type_error): New.
6187         * eval.c (continuable_type_error): New.
6188         * eval.c (maybe_continuable_type_error): New.
6189         * eval.c (type_error_with_frob): New.
6190         * eval.c (maybe_type_error_with_frob): New.
6191         * eval.c (continuable_type_error_with_frob): New.
6192         * eval.c (maybe_continuable_type_error_with_frob): New.
6193         New functions for use with structured errors.
6194
6195         * event-Xt.c:
6196         * event-Xt.c (x_event_to_emacs_event):
6197         Buttons are now modifiers too.
6198
6199         * event-Xt.c (emacs_Xt_current_event_timestamp):
6200         Implement new event method.
6201         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6202
6203         * event-msw.c:
6204         * event-msw.c (ntpipe_shove_writer): [5].
6205         * event-msw.c (mswindows_enqueue_mouse_button_event):
6206         * event-msw.c (mswindows_drain_windows_queue):
6207         * event-msw.c (mswindows_wnd_proc): [7].
6208         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6209         * event-msw.c (mswindows_modifier_state):
6210         Throughout: support new button modifiers.
6211
6212         * event-msw.c (emacs_mswindows_current_event_timestamp):
6213         Implement new event method.
6214         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6215
6216         * event-stream.c:
6217         * event-stream.c (event_stream_current_event_timestamp): New.
6218         * event-stream.c (maybe_kbd_translate): New functionality.
6219         * event-stream.c (vars_of_event_stream):
6220         Document new kbd-translate-table functionality.
6221
6222         * event-stream.c (Fcurrent_event_timestamp): New.
6223         New primitive for use in fabricated events.
6224         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6225
6226         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6227
6228         * events.c:
6229         * events.c (Fmake_event):
6230         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6231         [1].
6232         [9].
6233
6234         * events.c (format_event_object): fix gcc warnings.
6235
6236         * events.c (Fevent_timestamp): Document new primitives.
6237
6238         * events.c (TIMESTAMP_HALFSPACE): New.
6239
6240         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6241         comparing timestamps correctly (half-space algorithm).
6242
6243         * events.c (Fevent_modifier_bits): Doc fix.
6244
6245         * events.c (Fevent_modifiers): Major doc addition.
6246         * events.c (event_x_y_pixel_internal): Typo fix.
6247         * events.c (syms_of_events): Declare new primitives.
6248
6249         * events.h:
6250         Update long comment for button modifiers, timestamps.
6251
6252         * events.h (struct event_stream):
6253         New current_event_timestamp method.
6254
6255         * extents.c:
6256         * extents.c (extent_in_region_p):
6257         * extents.c (decode_extent):
6258         * extents.c (Fset_extent_parent):
6259         * extents.c (decode_map_extents_flags):
6260         Fix gcc warnings.
6261         [9].
6262
6263         * extents.c (struct extent_at_arg):
6264         * extents.c (decode_extent_at_flag):
6265         * extents.c (extent_at_mapper):
6266         * extents.c (extent_at_bytind):
6267         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6268         * extents.c (Fextents_at): New primitive. [9].
6269         * extents.c (symbol_to_glyph_layout): [9].
6270         Support new primitive `extents-at'.
6271
6272
6273         * extents.c (get_text_property_bytind):
6274         extent_at_bytind has another arg.
6275         [9].
6276
6277         * extents.c (syms_of_extents): New primitive.
6278
6279         * file-coding.c (Fmake_coding_system): [1].
6280         * file-coding.c (subsidiary_coding_system): fix gcc warning
6281         * file-coding.c (syms_of_file_coding): [2].
6282
6283         * fileio.c (Fexpand_file_name):
6284         * fileio.c (Fsysnetunam):
6285         * fileio.c (Ffile_exists_p):
6286         * fileio.c (Ffile_executable_p):
6287         * fileio.c (Fverify_visited_file_modtime):
6288         Clean up GCPROing.
6289
6290         * fileio.c (syms_of_fileio): [2].
6291
6292         * filelock.c (lock_file_1):
6293         * filelock.c (current_lock_owner):
6294         * filelock.c (lock_if_free):
6295         * filelock.c (lock_file):
6296         * filelock.c (unlock_file):
6297         Clean up GCPROing.
6298
6299         * fns.c (concat): Fix gcc warning.
6300
6301         * fns.c (Fmember):
6302         * fns.c (Fold_member):
6303         * fns.c (Fmemq):
6304         * fns.c (Fold_memq):
6305         * fns.c (memq_no_quit):
6306         * fns.c (Fassoc):
6307         * fns.c (Fold_assoc):
6308         * fns.c (Fassq):
6309         * fns.c (Fold_assq):
6310         * fns.c (assq_no_quit):
6311         * fns.c (Frassoc):
6312         * fns.c (Fold_rassoc):
6313         * fns.c (Frassq):
6314         * fns.c (Fold_rassq):
6315         * fns.c (rassq_no_quit):
6316         * fns.c (Fdelete):
6317         * fns.c (Fold_delete):
6318         * fns.c (Fdelq):
6319         * fns.c (Fold_delq):
6320         * fns.c (delq_no_quit):
6321         * fns.c (Fremassoc):
6322         * fns.c (Fremassq):
6323         * fns.c (remassq_no_quit):
6324         * fns.c (Fremrassoc):
6325         * fns.c (Fremrassq):
6326         * fns.c (remrassq_no_quit):
6327         * fns.c (Freverse):
6328         * fns.c (mapcar1):
6329         [1].
6330
6331         * frame-msw.c (mswindows_init_frame_1):
6332         * frame-msw.c (mswindows_delete_frame):
6333         Register popups with dialog code so keyboard traversing works.
6334
6335         * frame-tty.c (tty_raise_frame_no_select): [1].
6336
6337         * frame-x.c:
6338         * frame-x.c (x_set_frame_text_value):
6339         * frame-x.c (x_set_frame_properties):
6340         * frame-x.c (x_create_widgets):
6341         [7].
6342
6343         * frame.c:
6344         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6345
6346         * frame.h (wrap_frame): New.
6347         Macro like wrap_device.
6348
6349         * general.c:
6350         * general.c (SYMBOL):
6351         * general.c (syms_of_general):
6352         Major reorg.  This is now just a wrapper and symbols themselves
6353         are listed in general-slots.h.
6354
6355         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6356         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6357
6358         * glyphs-msw.c (mswindows_native_layout_instantiate):
6359         Add DS_CONTROL so keyboard traversal will work.
6360
6361         * glyphs-widget.c:
6362         * glyphs-widget.c (syms_of_glyphs_widget):
6363         Move some symbols to general-slots.h.
6364
6365         * glyphs-x.c:
6366         * glyphs-x.c (xbm_instantiate_1):
6367         * glyphs-x.c (x_xbm_instantiate):
6368         * glyphs-x.c (x_xface_instantiate):
6369         * glyphs-x.c (autodetect_instantiate):
6370         * glyphs-x.c (cursor_font_instantiate):
6371         * glyphs-x.c (x_update_widget):
6372         * glyphs-x.c (x_widget_instantiate):
6373         * glyphs.c (bitmap_to_lisp_data):
6374         * glyphs.c (pixmap_to_lisp_data):
6375         [7].
6376
6377         * glyphs.c (syms_of_glyphs):
6378         [2].
6379
6380         * gui-x.c:
6381         * gui-x.c (print_widget_value):
6382         * gui-x.c (menu_separator_style_and_to_external):
6383         * gui-x.c (add_accel_and_to_external):
6384         * gui-x.c (button_item_to_widget_value):
6385         * gui-x.c (gui_items_to_widget_values_1):
6386         * gui-x.c (gui_items_to_widget_values):
6387         * gui-x.c (syms_of_gui_x):
6388         * gui-x.c (vars_of_gui_x):
6389         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6390         [9].
6391
6392         * gui-x.h:
6393         Muleize, prototype changes matching gui-x.c.
6394
6395         * gui.c:
6396         * gui.c (separator_string_p):
6397         * gui.c (gui_item_add_keyval_pair):
6398         * gui.c (make_gui_item_from_keywords_internal):
6399         * gui.c (signal_too_long_error):
6400         * gui.c (parse_gui_item_tree_item):
6401         * gui.c (syms_of_gui):
6402         * gui.c (vars_of_gui):
6403         * gui.h:
6404         menu-no-selection-hook moved here (used by MSWin).
6405         Move some symbols to general-slots.h.
6406         [6].
6407         [9].
6408
6409         * insdel.c (get_buffer_pos_char):
6410         * insdel.c (get_buffer_range_char):
6411         Add GC comments.
6412
6413         * keymap.c (keymap_lookup_directly):
6414         * keymap.c (keymap_store):
6415         * keymap.c (ensure_meta_prefix_char_keymapp):
6416         * keymap.c (describe_map):
6417         * keymap.h:
6418         Support new button modifiers.
6419
6420         * lisp-disunion.h (wrap_object):
6421         * lisp-disunion.h (XSETOBJ):
6422         Rename make_obj to wrap_object.
6423
6424         * lisp-union.h:
6425         * lisp-union.h (make_int):
6426         * lisp-union.h (make_char):
6427         Support wrap_object.
6428
6429         * lisp.h:
6430         * lisp.h (LIST_LOOP):
6431         * lisp.h (EXTERNAL_LIST_LOOP):
6432         * lisp.h (LIST_LOOP_2):
6433         * lisp.h (EXTERNAL_LIST_LOOP_1):
6434         * lisp.h (EXTERNAL_LIST_LOOP_2):
6435         * lisp.h (EXTERNAL_LIST_LOOP_3):
6436         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6437         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6438         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6439         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6440         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6441         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6442         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6443         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6444         * lisp.h (struct Lisp_Symbol):
6445         * lisp.h (maybe_continuable_error_with_frob):
6446         Fix up section comments.
6447         Add new types for char to indicate usage.
6448         Delete symbols auto-generated from general-slots.h.
6449         Add prototypes for structured error functions.
6450         Add long comments describing looping macros and change interface
6451         so that lvalues are automatically declared.
6452         Add NO_DECLARE macro in case callers want to declare lvalues
6453         themselves.
6454
6455         * lread.c (read_syntax_error):
6456         * lread.c (continuable_read_syntax_error):
6457         * lread.c (read_structure):
6458         * lread.c (sequence_reader):
6459         * lread.c (read_list_conser):
6460         * lread.c (read_compiled_function):
6461         Rename syntax_error and continuable_syntax_error to avoid clash
6462         with same-named structured error functions.
6463
6464         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6465         * menubar-msw.c (populate_menu_add_item):
6466         * menubar-msw.c (populate_or_checksum_helper):
6467         [5].
6468         [9].
6469
6470         * menubar-x.c:
6471         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6472         Mule-ize whole file.
6473
6474         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6475
6476         * mule-charset.c (Fmake_charset):
6477         * mule-wnnfns.c (Fwnn_set_param):
6478         [1].
6479
6480         * ntproc.c (create_child):
6481         * ntproc.c (Fwin32_set_current_locale):
6482         Add comments portending doom.
6483
6484         * objects-msw.c:
6485         * objects-msw.c (old_font_enum_callback_2):
6486         * objects-msw.c (font_enum_callback_1):
6487         * objects-msw.c (mswindows_enumerate_fonts):
6488         [5].
6489
6490         * objects-x.c:
6491         * objects-x.c (allocate_nearest_color):
6492         * objects-x.c (x_parse_nearest_color):
6493         * objects-x.c (x_initialize_color_instance):
6494         * objects-x.c (x_print_color_instance):
6495         * objects-x.c (x_finalize_color_instance):
6496         * objects-x.c (x_valid_color_name_p):
6497         * objects-x.c (x_initialize_font_instance):
6498         * objects-x.c (x_print_font_instance):
6499         * objects-x.c (valid_x_font_name_p):
6500         * objects-x.c (truename_via_FONT_prop):
6501         * objects-x.c (truename_via_random_props):
6502         * objects-x.c (truename_via_XListFonts):
6503         * objects-x.c (x_font_truename):
6504         * objects-x.c (x_font_instance_truename):
6505         * objects-x.c (x_font_instance_properties):
6506         * objects-x.c (x_list_fonts):
6507         * objects-x.c (x_find_charset_font):
6508         Mule-ize entire file.
6509         [7].
6510
6511         * objects-x.h:
6512         Mule-verify.
6513
6514         * print.c:
6515         * print.c (std_handle_out_external):
6516         * print.c (debug_print_no_newline):
6517         * print.c (syms_of_print):
6518         Output to all debugger kinds in debug-print.
6519         Fix console-output code under MSWin to actually work.
6520
6521         * process-nt.c (send_signal):
6522         * process-nt.c (nt_create_process):
6523         Use newer Unicode macros.
6524
6525         * process-unix.c (unix_create_process):
6526         * process-unix.c (unix_canonicalize_host_name):
6527         * process-unix.c (unix_open_network_stream):
6528         [7].
6529
6530         * scrollbar-x.c:
6531         Mule-verify.
6532
6533         * search.c (syms_of_search):
6534         [2].
6535
6536         * select-msw.c (mswindows_destroy_selection):
6537         Use LIST_LOOP_2.
6538
6539         * select-x.c (symbol_to_x_atom):
6540         [7].
6541
6542         * select.c (syms_of_select):
6543         [2].
6544
6545         * sound.c (Fplay_sound_file):
6546         [7].
6547
6548         * specifier.c:
6549         * specifier.c (decode_specifier_type):
6550         * specifier.c (Fvalid_specifier_locale_type_p):
6551         * specifier.c (check_valid_locale_or_locale_type):
6552         * specifier.c (decode_locale):
6553         * specifier.c (decode_locale_type):
6554         * specifier.c (decode_locale_list):
6555         * specifier.c (check_valid_domain):
6556         * specifier.c (decode_specifier_tag_set):
6557         * specifier.c (Fcanonicalize_tag_set):
6558         * specifier.c (Fdefine_specifier_tag):
6559         * specifier.c (Fspecifier_tag_predicate):
6560         * specifier.c (check_valid_inst_list):
6561         * specifier.c (check_valid_spec_list):
6562         * specifier.c (decode_how_to_add_specification):
6563         * specifier.c (check_modifiable_specifier):
6564         * specifier.c (specifier_add_spec):
6565         * specifier.c (boolean_validate):
6566         * specifier.c (display_table_validate):
6567         [9].
6568
6569         * specifier.c (syms_of_specifier):
6570         Move some symbols to general-slots.h.
6571         [2].
6572
6573         * symbols.c:
6574         * symbols.c (Fmapatoms):
6575         * symbols.c (Fapropos_internal):
6576         Add GCPROs.
6577
6578         * symbols.c (set_default_buffer_slot_variable):
6579         * symbols.c (set_default_console_slot_variable):
6580         [1].
6581
6582         * symbols.c (defsymbol_massage_name_1):
6583         * symbols.c (defkeyword_massage_name):
6584         * symbols.c (deferror_1):
6585         * symbols.c (deferror):
6586         * symbols.c (deferror_massage_name_and_message):
6587         * symeval.h:
6588         * symeval.h (DEFSYMBOL):
6589         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6590
6591         * symbols.c (syms_of_symbols):
6592         [2].
6593
6594         * symsinit.h:
6595         * symsinit.h (init_win32): New.
6596         Also new is syms_of_dialog_mswindows.
6597
6598         * syswindows.h:
6599         Add new Unicode macros, missing Cygwin wide-char functions,
6600         convenience conversion macros for Qmswindows_tstr, macros for
6601         encapsulating required MSWin <-> Cygwin filename conversions,
6602         prototype for dynamically-extracted (not in NT 3.51) functions.
6603
6604         * toolbar-x.c:
6605         Mule-verify.
6606
6607         * tooltalk.c (Fadd_tooltalk_message_arg):
6608         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6609         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6610         [7].
6611
6612         * tooltalk.c (syms_of_tooltalk):
6613         [2].
6614
6615         * unexnt.c:
6616         * unexnt.c (unexec):
6617         Fix up headers, declaration of unexec() to be more standard.
6618
6619 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6620
6621         * offix.h: Revert change to guard macros - they're used in offix.c!
6622
6623 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6624
6625         * lisp.h: Defsubred Fdelete.
6626
6627         * console-msw.h:  (msprinter_default_printer): Added.
6628
6629         * console-msw.c (msprinter_canonicalize_console_connection):
6630         (msprinter_canonicalize_device_connection): Added.
6631
6632         * device-msw.c (msprinter_default_printer):
6633         (Fmswingows_get_default_printer):
6634         (signal_enum_priner_error):
6635         (Fmswingows_printer_list): Added.
6636
6637 2000-07-19  Martin Buchholz <martin@xemacs.org>
6638
6639         * XEmacs 21.2.35 is released.
6640
6641 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6642
6643         * select-x.c (x_handle_selection_request):
6644         Text selected in xemacs and pasted into xterm failed to appear.
6645         Spelling fixes and cosmetic changes.
6646
6647 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6648
6649         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6650         XEmacs frame (fix for doubling chars in dialog boxes).
6651
6652 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6653
6654         * select.c (select_convert_in, select_convert_out):
6655         Don't call intern() every time.
6656
6657         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6658         * select.c (vars_of_select): Initialise them.
6659
6660 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6661
6662         * select.c (selection-coercible-types): New.
6663
6664         * select.c (own-selection-internal):
6665         * select.c (get-selection-internal):
6666         MULE bug fix - these should default to COMPOUND_TEXT and not
6667         STRING for MULE. I think.
6668
6669         * select.c (select_convert_out): Use selection-coercible-types
6670         to find types that we can attempt to perform coercions on.
6671
6672 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6673
6674         * mule-wnnfns.c:
6675         * mule-canna.c:
6676         Add coding: cookie to identify encoding.
6677
6678         * mule-canna.c (CANNA_mode_keys): make static.
6679         Use proper prototypes, even for functions of no arguments.
6680         Remove external prototype for Fding().
6681
6682         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6683
6684         * select.c (syms_of_select): Add missing DEFSUBR.
6685
6686 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6687
6688         * select.c (get_selection_internal, own_selection_internal):
6689         Make the type default to STRING, rather than placing a nil type
6690         into Vselection_alist.
6691
6692 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6693
6694         * gpmevent.c (tty_selection_exists_p):
6695         * gpmevent.c (tty_own_selection):
6696         Updated parameter lists.
6697
6698 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6699
6700         * select.h (selection-alist): Removed declaration.
6701
6702         * select.h (get_local_selection):
6703         * select.c (get_local_selection):
6704         Made static.
6705
6706         * select.h (convert_selection): Removed declaration.
6707         * select.c (convert_selection): Removed.
6708         This function belongs in Lisp.
6709
6710         * select.h (select_convert_in): Declare.
6711         * select.h (select_convert_out): Declare.
6712         * select.c (select_convert_in): New.
6713         * select.c (select_convert_out): New.
6714         New conversion functions for other files to call.
6715
6716         * select.h (select_notify_buffer_kill): Declare.
6717         * select.c (select_notify_buffer_kill): New.
6718         New functions that get called from kill-buffer.
6719
6720         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6721         X-specific lisp code.
6722
6723         * select.h: Declare some of the lisp-visible functions for
6724         external use.
6725
6726         * select.c (clean_local_selection_data): Removed. This was
6727         a disgusting function, and previously should have been in
6728         select-x.c in any case. The functionality is now provided
6729         in select-convert-from-integer (select.el).
6730
6731         * select.c (available-selection-types): Fixed stupidity where
6732         INTEGER and ATOM got added twice. Also add STRING when we see an
6733         extent.
6734
6735         * select.c (get-selection-internal): Removed symbol stripping. No
6736         longer causes conversion when data comes from the internal cache.
6737
6738         * select.c (syms_of_select): Added new functions.
6739
6740         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6741         error checking - previously this called abort!
6742
6743         * select-x.c (x_own_selection): Changed comment.
6744
6745         * select-x.c (x_handle_selection_request): Use select_convert_out.
6746         Don't mess with selection-alist; it's an internal variable of select.c.
6747
6748         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6749
6750         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6751         rather than messing with selection-alist.
6752
6753         * select-msw.c (mswindows_get_foreign_selection):
6754         Use TO_INTERNAL_FORMAT rather than hacking.
6755
6756 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6757
6758         * process-unix.c (unix_open_multicast_group):
6759         (unix_open_multicast_group): Remove useless casts.
6760
6761 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6762
6763         * sound.c (Fplay_sound): Fix `unused variable' warning.
6764
6765         * emacs.c (main): Use correct type for _environ on SCO5.
6766
6767 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6768
6769         * console.h (own_selection_method):
6770         * console.h (selection_exists_p_method):
6771         * console.h (available_selection_types_method): New.
6772         * console.h (register_selection_data_type_method): New.
6773         * console.h (selection_data_type_name): New.
6774
6775         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6776         function & alist to track GlobalAlloc()'d handles that need
6777         releasing when the clipboard data gets replaced or emptied.
6778
6779         * event-msw.c (mswindows_wnd_proc): Call it.
6780
6781         * lisp.h, general.c (Qappend): New symbol representing a
6782         `how-to-add' mode.
6783
6784         * select.c (own-selection-internal):
6785         * select.c (selection-exists-p):
6786         * select.c (available-selection-types): New.
6787         * select.c (register-selection-data-type): New.
6788         * select.c (selection-data-type-name): New.  New functions to deal
6789         with device-specific selection data formats.
6790         * select.c (selection-converter-out-alist): Renamed.
6791         * select.c (selection-converter-in-alist): New.
6792         * select.c (selection-appender-alist): New.  Added new alists.
6793         * select.c (syms_of_select, vars_of_select): Added new symbols &
6794         variables.
6795         * select.c (get_local_selection): Split.
6796         * select.c: Removed spurious type checking - selections may now be
6797         of any type, not just strings.
6798         * select.c (own-selection-internal):
6799
6800         * select.h, select.c (convert_selection): New. Created
6801         convert_selection() function based on get_local_selection().
6802         * select.h, select.c (QCF_*): New symbols representing mswindows
6803         clipboard formats.
6804         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6805         symbols representing `how-to-add' modes.
6806
6807         * select-msw.c (x_sym_p): New.
6808         * select-msw.c (symbol_to_ms_cf): New.
6809         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6810         symbols & clipboard formats. Can also handle string names.
6811         * select-msw.c (mswindows_own_selection):
6812         * select-msw.c (mswindows_selection_exists_p):
6813         Added `data-type' parameter. Use it.
6814         * select-msw.c (mswindows_available_selection_types): New.
6815         * select-msw.c (mswindows_register_selection_data_type): New.
6816         * select-msw.c (mswindows_selection_data_type_name): New.
6817         * select-msw.c (mswindows_own_selection):
6818         * select-msw.c (mswindows_get_foreign_selection):
6819         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6820         * select-msw.c (console_create_select_mswindows): Added new methods.
6821         * select-msw.c (mswindows_destroy_selection): New.
6822         * select-msw.c (Vhandle_alist): New list.
6823         * select-msw.c (mswindows_own_selection):
6824
6825         * select-x.c (x_own_selection):
6826         * select-x.c (x_selection_exists_p):
6827         * select-x.c: Added some comments about maybe using new
6828         functionality.
6829         * select-x.c (x_own_selection):
6830
6831         * specifier.c: Remove definition of Qappend (now in general.c)
6832         * specifier.c (syms_of_specifier): Remove Qappend.
6833
6834 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6835
6836         * config.h.in: Add socklen_t.
6837
6838         * s/decosf4-0.h: No special compiler flags needed or desired.
6839         In particular, undefine _BSD for DEC OSF 4.0.
6840
6841 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6842
6843         * redisplay-msw.c (msprinter_frame_output_end): Added.
6844         (console_type_create_redisplay_mswindows): Referred the above.
6845
6846         * frame.c (setup_frame_without_minibuffer): Do not create a
6847         default minibuffer frame on a printer device.
6848
6849         * frame-msw.c (apply_dc_geometry): Added.
6850         (msprinter_start_page):
6851         (msprinter_init_frame_3):
6852         (msprinter_eject_page): Use it.
6853
6854         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6855         and removed residual duplex and orientation properties.
6856
6857 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6858
6859         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6860
6861         * unexalpha.c: Remove system prototypes from C sources!
6862
6863 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6864
6865         * eval.c: Remove references to M-x edit-options in DEFUNs for
6866         `defvar' and `defconst'.
6867
6868 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6869
6870         * config.h.in: Remove SMART_INCLUDE hackery.
6871
6872         PostgreSQL hacking:
6873         * config.h.in: Don't use SMART_INCLUDE.
6874
6875         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6876         * inline.c: Simply #include "postgresql.h"
6877         * postgresql.c:
6878         - Don't use SMART_INCLUDE
6879         - Use simply "const".
6880         - Use standard doc string conventions.
6881         - Use correct type for result of PQstatus.
6882
6883 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6884
6885         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6886
6887         C++ compilation changes.
6888         * config.h.in (EXTERN_C): Define.
6889         * config.h.in (not): This is also a C++ keyword.
6890         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6891         * cm.c: Use EXTERN_C.
6892         * redisplay-tty.c: Use EXTERN_C.
6893         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6894
6895 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6896
6897         * general.c: Remove duplicate definition for Qfunction.
6898
6899 2000-07-08  Ben Wing  <ben@xemacs.org>
6900
6901         * device-msw.c (msprinter_init_device):
6902         * device-msw.c (sync_printer_with_devmode):
6903         * device-msw.c (handle_devmode_changes):
6904         * device-msw.c (print_dialog_worker):
6905         * device-msw.c (Fmsprinter_apply_settings):
6906         * device-msw.c (hash_devmode):
6907         * device-msw.c (Fmsprinter_settings_despecialize):
6908         use Qmswindows_tstr, not Qctext.
6909
6910         * vm-limit.c (check_memory_limits):
6911         avoid infinite loop printing warning messages.
6912
6913 2000-07-05  Craig Lanning  <lanning@scra.org>
6914
6915         * Makefile.in.in: Add support for including the Windows resources
6916         when building with the cygwin and mingw targets.
6917
6918         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6919         not set or not correct.
6920         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6921         (init_initial_directory): Don't try to use $PWD on the
6922         WIN32_NATIVE target.
6923
6924         * s\cygwin32.h:
6925         [[Add -mwindows to eliminate console window.]] not required --ben
6926         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6927         (MAIL_USE_POP): removed; now handled by configure.
6928
6929         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6930         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6931         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6932         (MAIL_USE_POP): removed; now handled by configure.
6933         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6934         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6935         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6936         constant string.
6937         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6938         up from <winsock.h> via systime.h.
6939         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6940         (getpagesize): from Dan Holmsand, added.
6941         Added #endif which was left dangling by Ben's mega patch; added
6942         comment to help prevent this in the future.
6943
6944         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6945
6946 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6947
6948         * console-msw.h (struct mswindows_device): Removed unnecessary
6949         cached device geometry values.
6950         Added update_tick and an accessor macro.
6951         (Lisp_Devmode): Added lrecord declaration.
6952         (struct msprinter_device): Contain devmode as a Lisp object.
6953         Added mswindows_get_selected_frame_hwnd();
6954
6955         * console.h (struct console_methods): Indentation nitpicking.
6956
6957         * device-msw.c (mswindows_init_device): Do not initialize geometry
6958         cache. Initialize update tick.
6959         (mswindows_device_system_metrics): Ask the device for its geometry.
6960         (global_free_2_maybe):
6961         (devmode_to_hglobal):
6962         (handle_printer_changes):
6963         (ensure_not_printing):
6964         (print_dialog_worker):
6965         (Fmsprinter_print_setup_dialog):
6966         (Fmsprinter_print_dialog):
6967         (plist_get_margin):
6968         (plist_set_margin):
6969         (Fmsprinter_page_setup_dialog): Added functions.
6970         (sync_printer_with_devmode):
6971         (handle_devmode_changes):
6972         (Fmsprinter_get_settings):
6973         (Fmsprinter_select_settings):
6974         (Fmsprinter_apply_settings):
6975         (allocate_devmode):
6976         (Fmsprinter_settings_copy):
6977         (Fmsprinter_settings_despecialize):
6978         (print_devmode):
6979         (finalize_devmode):
6980         (equal_devmode):
6981         (hash_devmode): Added functions
6982         (syms_of_device_mswindows): Init devmode lrecord class.
6983
6984         * device.h: Added an exfun for find-device.
6985
6986         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6987         geometry; although, recreate the device compatible DC.
6988
6989         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6990         (msprinter_init_frame_3):
6991         (msprinter_frame_property):
6992         (msprinter_internal_frame_property_p):
6993         (msprinter_frame_properties):
6994         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6995         print job properties (will move to device settings).
6996
6997         * lisp.h: Added symbols.
6998
6999         * general.c (syms_of_general): Declared them.
7000
7001         * hash.c (string_hash): Added.
7002
7003         * lrecord.h (lrecord_type): Added devmode lrecord type.
7004
7005 2000-07-02  Mike Sperber <mike@xemacs.org>
7006
7007         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7008         FreeBSD 4.0.
7009
7010 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7011
7012         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7013         integer.
7014
7015 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7016
7017         * data.c (Fstring_to_number): Don't recognize floating point if
7018         base is not 10.
7019
7020 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7021
7022         * glyphs-widget.c (tab_control_query_geometry):
7023         (widget_query_geometry):
7024         (button_query_geometry):
7025         * glyphs.c (text_query_geometry):
7026         Enforce type correctness.
7027
7028 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7029
7030         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7031         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7032
7033 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7034
7035         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7036         conflicts with gcc's fixincluded version of FOO.h.
7037
7038         * glyphs.h (image_instance_geometry): Remove trailing `,'
7039
7040 2000-06-08  Mike Alexander  <mta@arbortext.com>
7041
7042         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7043         (shove_thread): Don't write the same output twice
7044         (make_ntpipe_output_stream): Increase priority of shove thread
7045         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7046         chance to run
7047         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7048         it.
7049
7050 2000-06-12  Ben Wing  <ben@xemacs.org>
7051
7052         * s\mingw32.h (sigset):
7053         * s\windowsnt.h (sigset):
7054         rename msw_ to mswindows_ for consistency with general convention.
7055
7056 2000-06-12  Ben Wing  <ben@xemacs.org>
7057
7058         * console-msw.c:
7059         * console-msw.c (mswindows_get_console_hwnd):
7060         * console-msw.c (mswindows_ensure_console_allocated):
7061         * console-msw.c (mswindows_hide_console):
7062         * console-msw.c (mswindows_show_console):
7063         * console-msw.c (mswindows_ensure_console_buffered):
7064         * console-msw.c (mswindows_output_console_string):
7065         * console-msw.c (mswindows_windows9x_p):
7066         * console-msw.h:
7067         * device-msw.c (mswindows_get_workspace_coords):
7068         * device-msw.c (mswindows_device_system_metrics):
7069         * dialog-msw.c (mswindows_popup_dialog_box):
7070         * event-msw.c (mswindows_wnd_proc):
7071         * frame-msw.c (mswindows_size_frame_internal):
7072         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7073         * menubar-msw.c (displayable_menu_item):
7074         * menubar-msw.c (mswindows_char_is_accelerator):
7075         * nt.c:
7076         * nt.c (mswindows_sigset):
7077         * nt.c (mswindows_sigrelse):
7078         * nt.c (mswindows_sigpause):
7079         * nt.c (mswindows_raise):
7080         * nt.c (timer_proc):
7081         * ntproc.c:
7082         * ntproc.c (find_child_console):
7083         * ntproc.c (sys_kill):
7084         * print.c:
7085         * print.c (std_handle_out_external):
7086         * process-nt.c (find_child_console):
7087         * process-nt.c (send_signal_the_95_way):
7088         * process-nt.c (ensure_console_window_exists):
7089         * process-nt.c (nt_create_process):
7090         * syssignal.h:
7091         rename msw_ to mswindows_ for consistency with general convention.
7092
7093         * emacs.c:
7094         * dumper.c:
7095         include nt.h, not syswindows.h.
7096
7097         * nt.c (mswindows_fstat):
7098         * nt.c (mswindows_stat):
7099         prefix mswindows_ instead of attempting to directly override the
7100         library functions.  fix declarations.
7101
7102         * nt.h:
7103         include syswindows.h.  move some sysdep.h stuff here.
7104
7105         * ntheap.h:
7106         include syswindows.h, not <windows.h>.
7107
7108         * ntplay.c:
7109         clean up headers.
7110
7111         * sysdep.c:
7112         clean up headers.
7113
7114         * sysdep.c (sys_fstat):
7115         * sysdep.c (sys_stat):
7116         call mswindows versions when appropriate.
7117
7118         * sysdep.h:
7119         move mswin decls to nt.h.
7120
7121         * syswindows.h:
7122         add long comment describing appropriate use of the various windows
7123         headers.
7124
7125 2000-06-11  Ben Wing  <ben@xemacs.org>
7126
7127         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7128
7129 2000-06-10  Ben Wing  <ben@xemacs.org>
7130
7131         * Makefile.in.in (release):
7132         Correction to make sure xemacs.exe always dumped when correct.
7133
7134         * alloca.c:
7135         * balloon_help.c:
7136         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7137
7138         * buffer.c (set_buffer_internal):
7139         [[[[2]]]]: Remove HAVE_FEP code.
7140
7141         * buffer.c (init_initial_directory):
7142         [3].
7143
7144         * bytecode.c:
7145         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7146         individual files.
7147
7148         * callproc.c:
7149         * callproc.c (call_process_cleanup):
7150         * callproc.c (Fold_call_process_internal):
7151         * callproc.c (child_setup):
7152         * callproc.c (getenv_internal):
7153         * callproc.c (init_callproc):
7154         * callproc.c (vars_of_callproc):
7155         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7156         __CYGWIN32__ -> CYGWIN.
7157         DOS_NT -> WIN32_NATIVE.
7158         Remove MSDOS support/references, converting to WIN32_NATIVE
7159           where correct.
7160         __MINGW32__ -> MINGW.
7161         Fix windows.h includes.
7162         Remove bogus HAVE_NTGUI.
7163
7164         * config.h.in:
7165         [2].
7166
7167         * console-msw.c:
7168         mswindows_message_outputted added for use in allowing startup
7169         errors on the console to be seen.
7170
7171         * console-msw.c (msw_ensure_console_allocated):
7172         * console-msw.c (msw_output_console_string):
7173         * console-msw.c (DHEADER):
7174         * console-msw.c (DOPAQUE_DATA):
7175         * console-msw.c (DEVENT):
7176         * console-msw.c (DCONS):
7177         * console-msw.c (DCONSCDR):
7178         * console-msw.c (DSTRING):
7179         * console-msw.c (DVECTOR):
7180         * console-msw.c (DSYMBOL):
7181         * console-msw.c (DSYMNAME):
7182         Fix warnings.
7183
7184         * console-stream.c (stream_init_console):
7185         Fix text/binary problems.
7186
7187         * device-msw.c:
7188         * device-msw.c (mswindows_finish_init_device):
7189         * device-msw.c (mswindows_delete_device):
7190         [1].
7191
7192         * device.c (handle_asynch_device_change):
7193         [3].
7194
7195         * dgif_lib.c:
7196         * dgif_lib.c (DGifOpenFileName):
7197         * dgif_lib.c (DGifOpenFileHandle):
7198         * dgif_lib.c (DGifGetLine):
7199         * dgif_lib.c (DGifGetPixel):
7200         Added config.h/lisp.h, fix up includes.
7201         [1].
7202
7203         * dired-msw.c:
7204         [4].
7205
7206         * dired.c:
7207         * dired.c (file_name_completion):
7208         * dired.c (Ffile_attributes):
7209         * dired.c (syms_of_dired):
7210         [1].
7211
7212         * dumper.c:
7213         * dumper.c (pdump_file_unmap):
7214         * dumper.c (pdump_load):
7215         [1].
7216
7217         * editfns.c:
7218         * editfns.c (Ftemp_directory):
7219         * editfns.c (user_login_name):
7220         * editfns.c (Fuser_real_login_name):
7221         * editfns.c (get_home_directory):
7222         [1].
7223
7224         * elhash.c (finish_marking_weak_hash_tables):
7225         [[[[5]]]]: Fix GCC warnings.
7226
7227         * emacs.c:
7228         * emacs.c (mswindows_handle_hardware_exceptions):
7229         * emacs.c (make_arg_list_1):
7230         * emacs.c (main_1):
7231         * emacs.c (Fkill_emacs):
7232         * emacs.c (Fdump_emacs):
7233         [1].
7234         Fix problems with nested crashes, add long comment.
7235
7236         * event-Xt.c (init_event_Xt_late):
7237         [1].
7238
7239         * event-msw.c:
7240         * event-msw.c (mswindows_dde_callback):
7241         * event-msw.c (mswindows_handle_sticky_modifiers):
7242         * event-msw.c (mswindows_wnd_proc):
7243         [1].
7244         [5].
7245
7246         * events.c (character_to_event):
7247         [1].
7248
7249         * fileio.c:
7250         * fileio.c (Ffile_name_directory):
7251         * fileio.c (Ffile_name_nondirectory):
7252         * fileio.c (directory_file_name):
7253         * fileio.c (Fexpand_file_name):
7254         * fileio.c (Fsubstitute_in_file_name):
7255         * fileio.c (Ffile_name_absolute_p):
7256         * fileio.c (check_executable):
7257         * fileio.c (Ffile_readable_p):
7258         * fileio.c (Ffile_accessible_directory_p):
7259         * fileio.c (Ffile_modes):
7260         * fileio.c (Funix_sync):
7261         * fileio.c (vars_of_fileio):
7262         [1]. [4].
7263
7264         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7265
7266         Expand getdefdir defn.
7267         Fix bogus rename() comment.
7268
7269         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7270         to use standard XEmacs include files, e.g. sysfile.h, rather
7271         than system-specific includes.
7272
7273         * fns.c:
7274         * fns.c (Fsubseq):
7275         [5]. [6].
7276
7277         * frame.c (vars_of_frame):
7278         [1].
7279
7280         * getloadavg.c:
7281         * getloadavg.c (getloadavg):
7282         [1]. [6].
7283         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7284         (We don't use it elsewhere in the code; just add a comment.)
7285
7286         * gif_io.c:
7287         [6].
7288         Add config.h.
7289
7290         * glyphs-msw.c:
7291         * glyphs-msw.c (mswindows_resource_instantiate):
7292         [1].
7293
7294         * glyphs-x.c (x_native_layout_instantiate):
7295         [5].
7296
7297         * gui-msw.c (Fmswindows_shell_execute):
7298         [1].
7299
7300         * insdel.c:
7301         [4].
7302
7303         * lisp.h:
7304         [4]. [5].
7305
7306         * lread.c (locate_file_in_directory_mapper):
7307         [1].
7308
7309         * lstream.c:
7310         [4].
7311
7312         * mem-limits.h:
7313         * mem-limits.h (get_lim_data):
7314         [1].
7315
7316         * menubar-msw.c:
7317         [4].
7318
7319         * ndir.h:
7320         [1].
7321
7322         * nt.c:
7323         * nt.c (getwd):
7324         * nt.c (closedir):
7325         * nt.c (rva_to_section):
7326         * nt.c (mswindows_executable_type):
7327         [1]. [6].
7328         Fix closedir() defn.
7329
7330         * nt.h:
7331         [[[[8]]]]: *_OK defs moved to sysfile.h.
7332
7333         * ntproc.c:
7334         [6]. [7].
7335
7336         * objects-x.c:
7337         [4].
7338
7339         * print.c:
7340         * print.c (std_handle_out_external):
7341         [1]. [4].
7342
7343         * process-nt.c:
7344         * process-nt.c (nt_create_process):
7345         [6].
7346         try to fix process quoting somewhat.
7347
7348         * process-unix.c (unix_create_process):
7349         [1].
7350
7351         * process.c:
7352         * process.c (vars_of_process):
7353         Add Vnull_device.
7354
7355         * process.h:
7356         [1].
7357
7358         * realpath.c:
7359         * realpath.c (xrealpath):
7360         [1].
7361
7362         * redisplay-tty.c (init_tty_for_redisplay):
7363         [3].
7364
7365         * redisplay.c:
7366         [4]. [6].
7367
7368         * scrollbar-msw.c:
7369         [4].
7370
7371         * sheap.c:
7372         * sheap.c (more_static_core):
7373         * sheap.c (report_sheap_usage):
7374         [5]. [6].
7375
7376         * signal.c:
7377         * signal.c (alarm_signal):
7378         [1]. [6].
7379
7380         * sound.c:
7381         [6].
7382
7383         * strftime.c:
7384         * strftime.c (zone_name):
7385         [1]. [5].
7386
7387         * symsinit.h (init_sunpro):
7388         [1].
7389
7390         * syscommctrl.h:
7391         commctrl.h not in Cygwin b20.1.
7392
7393         * sysdep.c:
7394         * sysdep.c (endif):
7395         * sysdep.c (sys_subshell):
7396         * sysdep.c (init_baud_rate):
7397         * sysdep.c (emacs_get_tty):
7398         * sysdep.c (emacs_set_tty):
7399         * sysdep.c (tty_init_sys_modes_on_device):
7400         * sysdep.c (init_system_name):
7401         * sysdep.c (sys_open):
7402         * sysdep.c (interruptible_open):
7403         * sysdep.c (sys_fopen):
7404         * sysdep.c (sys_mkdir):
7405         * sysdep.c (sys_rename):
7406         * sysdep.c (get_process_times_1):
7407         [1]. [6].
7408
7409         * sysdep.h:
7410         [1].
7411
7412         * sysdir.h:
7413         * sysdir.h (DIRENTRY_NONEMPTY):
7414         [1]. [6].
7415
7416         * sysdll.c (dll_init):
7417         * sysdll.h:
7418         [1].
7419
7420         * sysfile.h:
7421         [1]. [6]. [8].
7422         added text/binary defs.
7423
7424         * sysfloat.h:
7425         [1].
7426
7427         * sysproc.h:
7428         * sysproc.h (EDESTADDRREQ):
7429         * sysproc.h (poll_fds_for_input):
7430         [1]. [6].
7431
7432         * syspwd.h:
7433         [6].
7434
7435         * syssignal.h:
7436         [1].
7437
7438         * systime.h:
7439         [1]. [6].
7440
7441         * systty.h:
7442         [1].
7443
7444         * syswindows.h:
7445         [1].
7446         Always define WIN32_LEAN_AND_MEAN.
7447
7448         * unexcw.c (unexec):
7449         [5].
7450
7451         * unexec.c:
7452         * unexec.c (copy_text_and_data):
7453         * unexec.c (adjust_lnnoptrs):
7454         [1].
7455
7456         * unexnt.c:
7457         * unexnt.c (_start):
7458         [1].
7459
7460 2000-06-07  Ben Wing  <ben@xemacs.org>
7461
7462         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7463         was used only as a model.  We've long since extracted any useful
7464         logic or code out of this. (I just did an exhaustive search.)
7465
7466         * s\msdos.h: Removed.
7467
7468         * s\windows95.h: Removed.
7469
7470 2000-06-10  Ben Wing  <ben@xemacs.org>
7471
7472         * s\cygwin32.h:
7473         [1]. [5].
7474         Don't use extern with fun defs.
7475
7476         * s\mingw32.h:
7477         [1]. [7].
7478         Remove nt\inc include.
7479         Remove getdisk, getdefdir. (The former is unused, the latter
7480         expanded in fileio.h.)
7481
7482         * s\windowsnt.h:
7483         * s\windowsnt.h (WIN32_NATIVE):
7484         * s\windowsnt.h (HAVE_STRCASECMP):
7485         [1]. [7].
7486         Add long comment about preprocessor changes.
7487         Remove getdisk, getdefdir. (The former is unused, the latter
7488         expanded in fileio.h.)
7489
7490 2000-06-10  Ben Wing  <ben@xemacs.org>
7491
7492         * m\arm.h:
7493         * m\delta.h:
7494         * m\intel386.h:
7495         * m\sequent.h:
7496         * m\template.h:
7497         * m\windowsnt.h:
7498         [1].
7499         Remove bogus/unused NO_SOCK_SIGIO.
7500
7501 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7502
7503         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7504         not an Emchar.
7505
7506 2000-06-04  Mike Sperber <mike@xemacs.org>
7507
7508         * casetab.c (set_case_table): For `set-standard-case-table',
7509         actually deposit the new case tables where the rest of XEmacs can
7510         see them.
7511
7512 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7513
7514         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7515
7516 2000-06-05  Ben Wing  <ben@xemacs.org>
7517
7518         * callproc.c (child_setup): Don't do close_load_descs() under
7519         MS Windows.  Put in a comment explaining why.
7520
7521 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7522
7523         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7524         Toolkit shell" which breaks `kill-compilation' on Windows NT
7525         native, retaining STDERR handling improvements.
7526
7527 2000-06-01  Andreas Jaeger  <aj@suse.de>
7528
7529         * s/s390.h: Support for S390, based on a patch by Martin
7530         Schwidefsky <schwidefsky@de.ibm.com>.
7531
7532 2000-05-30  Andy Piper  <andy@xemacs.org>
7533
7534         * window.c (allocate_window):
7535         (make_dummy_parent):
7536         (Fset_window_configuration): use new hashtable type.
7537
7538         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7539         (struct image_instantiator_methods):
7540         (struct Lisp_Image_Instance): make instance geometry signed.
7541
7542         * glyphs.c (instantiate_image_instantiator):
7543         (image_instance_query_geometry):
7544         (image_instance_layout):
7545         (image_instance_layout):
7546         (query_string_geometry):
7547         (text_query_geometry):
7548         (image_instantiate):
7549         (image_instantiate):
7550         (cache_subwindow_instance_in_frame_maybe):
7551         (subwindow_query_geometry): make instance geometry signed.
7552
7553         * glyphs-widget.c (widget_query_geometry):
7554         (widget_layout):
7555         (button_query_geometry):
7556         (tree_view_query_geometry):
7557         (tab_control_query_geometry):
7558         (layout_query_geometry):
7559         (layout_layout):
7560         (native_layout_layout): make instance geometry signed.
7561
7562 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7563
7564         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7565         constant.
7566
7567         * general.c (syms_of_general): Add Qfull_assoc symbol.
7568
7569         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7570         correctly.
7571         (decode_weak_list_type): Decode full-assoc type.
7572         (encode_weak_list_type): Encode full-assoc type.
7573         (Fmake_weak_list): Update doc string.
7574
7575 2000-05-30  Andy Piper  <andy@xemacs.org>
7576
7577         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7578
7579         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7580         (decode_hash_table_weakness): ditto.
7581         (Fhash_table_weakness): ditto.
7582         (Fhash_table_type): ditto.
7583         (finish_marking_weak_hash_tables): ditto.
7584         (hash_table_weakness_validate): ditto.
7585         (syms_of_elhash): ditto.
7586
7587 2000-05-28  Martin Buchholz <martin@xemacs.org>
7588
7589         * XEmacs 21.2.34 is released.
7590
7591 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7592
7593         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7594         start cache.
7595         (updating_line_start_cache): Gone.
7596         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7597         generic code to force a minimum of 1 line laid out in the
7598         CMOTION_DISP case.
7599
7600 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7601
7602         * glyphs.c (instantiate_image_instantiator): Check for initialized
7603         height & width no longer special cases IMAGE_NOTHING.
7604         (nothing_instantiate): Set height and width of instance.
7605
7606 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7607
7608         * unexelf.c (unexec): Search for ".data" section.
7609         Initialize new_data2_offset from old_data_index.
7610         Remove redundant check for ElfW.
7611
7612 2000-05-23  Andy Piper  <andy@xemacs.org>
7613
7614         * glyphs.c (get_image_instantiator_governing_domain): allow more
7615         specific domains as the governing domain rather than expecting an
7616         exact match. This fixes problems with layouts.
7617
7618 2000-05-22  Andy Piper  <andy@xemacs.org>
7619
7620         * redisplay-output.c (compare_runes): check for non-images
7621
7622         * glyphs.c (set_glyph_dirty_p): ditto.
7623         (update_glyph_cachel_data): ditto.
7624
7625         * glyphs-widget.c (layout_post_instantiate): ditto.
7626         (layout_post_instantiate): ditto.
7627
7628         * event-msw.c (mswindows_wnd_proc): warning removal.
7629
7630 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7631
7632         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7633
7634         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7635
7636         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7637
7638         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7639         (mswindows_executable_type): mingw32 now has enough headers for
7640         this to work.
7641
7642 2000-05-20  Andy Piper  <andy@xemacs.org>
7643
7644         * console-msw.c (mswindows_output_last_error): ; -> ,
7645
7646 2000-05-12  Andy Piper  <andy@xemacs.org>
7647
7648         * console-msw.c (FROB): compare ints with ints.
7649
7650 2000-05-11  Andy Piper  <andy@xemacs.org>
7651
7652         * glyphs-x.c (x_finalize_image_instance): make minimal build
7653         happy.
7654
7655 2000-05-20  Ben Wing  <ben@xemacs.org>
7656
7657         * event-Xt.c:
7658         * event-Xt.c (vars_of_event_Xt):
7659         move modifier-keys-are-sticky to event-stream.c.
7660
7661         * event-msw.c:
7662         * event-msw.c (mswindows_enqueue_mouse_button_event):
7663         * event-msw.c (key_needs_default_processing_p):
7664         * event-msw.c (XEMSW_LCONTROL):
7665         * event-msw.c (mswindows_handle_sticky_modifiers):
7666         * event-msw.c (FROB):
7667         * event-msw.c (clear_sticky_modifiers):
7668         * event-msw.c (output_modifier_keyboard_state):
7669         * event-msw.c (output_alt_keyboard_state):
7670         * event-msw.c (mswindows_wnd_proc):
7671         * event-msw.c (mswindows_modifier_state):
7672         * event-msw.c (emacs_mswindows_handle_magic_event):
7673         implement sticky modifiers.
7674
7675         * event-stream.c:
7676         * event-stream.c (vars_of_event_stream):
7677         move modifier-keys-are-sticky here.
7678
7679         * lisp.h:
7680         add CHECK_FUNCTION.
7681
7682         * rangetab.c:
7683         implement map-range-table.
7684
7685
7686 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7687
7688         * redisplay-tty.c (reset_tty_modes):
7689         (tty_redisplay_shutdown): Adjust argument type to
7690         tty_frame_output_end.
7691
7692 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7693
7694         * eval.c (Fbacktrace): Don't output a line with only right
7695         parenthesis.
7696
7697 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7698
7699         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7700         (Fpq_reset_poll): Ditto.
7701
7702 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7703
7704         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7705
7706 2000-05-16  Ben Wing  <ben@xemacs.org>
7707
7708         * buffer.c:
7709         * buffer.c (dfc_convert_to/from_internal_format):
7710         * buffer.c (reinit_vars_of_buffer):
7711         Fix conversion functions to allow reentrancy.
7712
7713         * console-msw.c:
7714         * console-msw.c (mswindows_output_last_error):
7715         New fun, generally useful -- output a human-readable
7716         version of GetLastError() on the console.
7717
7718         * console-msw.h:
7719         * console-msw.h (struct mswindows_frame):
7720         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7721
7722         * console-stream.c (stream_output_begin):
7723         * console-stream.c (stream_output_end):
7724         * console-stream.c (stream_output_vertical_divider):
7725         * console-stream.c (stream_clear_region):
7726         * console-stream.c (stream_flash):
7727         * console-stream.c (console_type_create_stream):
7728         Delete blank stream methods, not needed.
7729
7730         * console.h (struct console_methods):
7731         Split begin/end methods into window and frame.
7732
7733         * event-msw.c:
7734         * event-msw.c (mswindows_handle_paint):
7735         * event-msw.c (output_alt_keyboard_state):
7736         * event-msw.c (mswindows_wnd_proc):
7737         * event-msw.c (vars_of_event_mswindows):
7738         Comment about problems with ignored-expose.
7739         Define mswindows-debug-events; not really implemented.
7740
7741         * frame-msw.c (mswindows_init_frame_1):
7742         random cleanups.
7743
7744         * glyphs-msw.c:
7745         * glyphs-msw.c (begin_defer_window_pos):
7746         * glyphs-msw.c (mswindows_unmap_subwindow):
7747         * glyphs-msw.c (mswindows_map_subwindow):
7748         * glyphs-msw.c (mswindows_resize_subwindow):
7749         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7750
7751         * glyphs.c (make_image_instance_1):
7752         Fix crash.
7753
7754         * gutter.c (Fredisplay_gutter_area):
7755         Use new begin/end methods.
7756
7757         * lisp.h (Dynarr_new2):
7758         New creation fun.
7759
7760         * redisplay-msw.c:
7761         * redisplay-msw.c (mswindows_frame_output_begin):
7762         * redisplay-msw.c (mswindows_frame_output_end):
7763         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7764         New begin/end methods -- handle DeferWindowPos.
7765
7766         * redisplay-output.c (redisplay_move_cursor):
7767         * redisplay-output.c (redraw_cursor_in_window):
7768         * redisplay-output.c (redisplay_update_line):
7769         * redisplay-output.c (redisplay_output_window):
7770         New begin/end methods.
7771
7772         * redisplay-tty.c:
7773         * redisplay-tty.c (tty_frame_output_begin):
7774         * redisplay-tty.c (tty_frame_output_end):
7775         * redisplay-tty.c (console_type_create_redisplay_tty):
7776         New begin/end methods.
7777
7778         * redisplay-x.c:
7779         * redisplay-x.c (x_window_output_begin):
7780         * redisplay-x.c (x_window_output_end):
7781         * redisplay-x.c (console_type_create_redisplay_x):
7782         New begin/end methods.
7783
7784         * redisplay.c (redisplay_frame):
7785         * redisplay.c (Fredisplay_echo_area):
7786         New begin/end methods.
7787         use MAYBE_DEVMETH for clear_frame; it may not exist.
7788
7789         * window.h (WINDOW_XFRAME):
7790         WINDOW_XFOO macros -- get locale and decode struct pointer.
7791
7792
7793 2000-05-12  Ben Wing  <ben@xemacs.org>
7794
7795         * emacs.c:
7796         * emacs.c (ensure_no_quitting_from_now_on):
7797         * emacs.c (fatal_error_signal):
7798         * emacs.c (mswindows_handle_hardware_exceptions):
7799         * emacs.c (main):
7800         * emacs.c (Fkill_emacs):
7801         * emacs.c (shut_down_emacs):
7802         * emacs.c (assert_failed):
7803         various improvements in fatal error handling.
7804
7805         * eval.c:
7806         move preparing_for_armageddon to emacs.c.
7807
7808         * lisp.h:
7809         declare fatal_error_in_progress.
7810
7811         * print.c:
7812         * print.c (std_handle_out_external):
7813         * print.c (std_handle_out_va):
7814         * print.c (stderr_out):
7815         * print.c (stdout_out):
7816         use console under mswin when no standard output.
7817         don't do code conversion during fatal error.
7818
7819         * scrollbar.c (Fscrollbar_page_up):
7820         * scrollbar.c (Fscrollbar_page_down):
7821         fix missing else.  reindent.
7822
7823 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7824
7825         Emergency fix.
7826
7827         * glyphs.h (GLYPH_CACHEL_DESCENT):
7828         (GLYPH_CACHEL_DESCENT):
7829         (GLYPH_CACHEL_DESCENT):
7830         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7831         used in case these are inline functions.
7832         Use more absurd values to error check.
7833
7834         include window.h for error check functions.
7835
7836 2000-05-11  Ben Wing  <ben@xemacs.org>
7837
7838         * cmdloop.c (Freally_early_error_handler):
7839         Display message box under windows; otherwise, message will disappear
7840         before it can be viewed.
7841
7842         * console-msw.c:
7843         * console-msw.c (Fmswindows_message_box):
7844         * console-msw.c (FROB):
7845         * console-msw.c (syms_of_console_mswindows):
7846         Define new fun `mswindows-message-box'.
7847         #### I will merge this into `popup-dialog-box'; just give me
7848         a bit of time.
7849
7850         * general.c:
7851         * general.c (syms_of_general):
7852         Some new symbols used in `mswindows-message-box'.
7853
7854         * glyphs.c:
7855         * glyphs.c (Fset_image_instance_property):
7856         put warning in this fun.
7857
7858         * glyphs.h:
7859         * glyphs.h (GLYPH_CACHEL_WIDTH):
7860         * glyphs.h (GLYPH_CACHEL_ASCENT):
7861         * glyphs.h (GLYPH_CACHEL):
7862         * glyphs.h (GLYPH_CACHEL_GLYPH):
7863         define error-checking versions to try to catch a bug i've seen --
7864         redisplay gets in an infinite loop because the glyph width of the
7865         continuation glyph is 65535.
7866
7867         * lisp.h:
7868         Extern message-box stuff.
7869
7870         * window.c (allocate_window):
7871         * window.c (make_dummy_parent):
7872         * window.c (Fset_window_configuration):
7873         Use EQUAL not EQ for subwindow caches to make them work a bit
7874         better. (Something is still very broken.)
7875
7876
7877 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7878
7879         * glyphs.c (image_instantiate): Suppress gcc warnings.
7880         (Fmake_image_instance): Fix doc string.
7881         * specifier.c (Fmake_specifier): Ditto.
7882
7883 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7884
7885         * paths.h.in (PATH_LOCK): Removed.
7886         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7887         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7888
7889 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7890
7891         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7892         Document (featurep '(and xemacs 21.02)).
7893
7894 2000-05-09  Ben Wing  <ben@xemacs.org>
7895
7896         * buffer.c (complex_vars_of_buffer):
7897         update modeline-format doc.
7898
7899         * device.h:
7900         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7901
7902         * emacs.c:
7903         timeline of all released versions of Emacs, for use in creating
7904         authorship comments and in synching up.
7905
7906         * glyphs-widget.c (image_instantiator_buttons):
7907         * glyphs-widget.c (image_instantiator_edit_fields):
7908         * glyphs-widget.c (image_instantiator_combo_box):
7909         * glyphs-widget.c (image_instantiator_scrollbar):
7910         * glyphs-widget.c (image_instantiator_progress_guage):
7911         * glyphs-widget.c (image_instantiator_tree_view):
7912         * glyphs-widget.c (image_instantiator_tab_control):
7913         * glyphs-widget.c (image_instantiator_labels):
7914         * glyphs-widget.c (image_instantiator_layout):
7915         * glyphs-widget.c (image_instantiator_native_layout):
7916         rename decode_domain method to governing_domain.
7917
7918         * glyphs.c:
7919         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7920         * glyphs.c (add_entry_to_device_ii_format_list):
7921         make sure we don't put an entry more than once into the list.
7922         * glyphs.c (check_instance_cache_mapper):
7923         *************************************************************
7924         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7925         HAVE BEEN GETTING.
7926         *************************************************************
7927         * glyphs.c (get_image_instantiator_governing_domain):
7928         clean up, expand on new concept of governing domain.
7929         * glyphs.c (instantiate_image_instantiator):
7930         * glyphs.c (allocate_image_instance):
7931         use governing_domain instead of cache_domain in naming.
7932         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7933         * glyphs.c (make_image_instance_1):
7934         * glyphs.c (Fmake_image_instance):
7935         allow for any domain (not just device), and process the
7936         governing domain correctly.  very big doc fix.
7937         * glyphs.c (Fimage_instance_domain):
7938         new primitive, to retrieve the governing domain of an image instance.
7939         * glyphs.c (image_instantiate):
7940         use new governing_domain stuff.  this fixes a crash you could get
7941         by instantiating certain widget glyphs in frame locales. (should
7942         signal an error instead of crashing.)
7943         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7944         * glyphs.c (Fglyphp): clean up doc.
7945         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7946         * glyphs.c (syms_of_glyphs):
7947         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7948         * glyphs.c (image_instantiator_format_create): add some comments about
7949         bogus code.
7950         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7951         for current-display-table. (Apparently Hrjove implemented in 1998 a
7952         design I wrote up in 1996, but didn't update the doc string.)
7953
7954         * glyphs.h: clean up a doc string.
7955         * glyphs.h (governing_domain):
7956         * glyphs.h (struct image_instantiator_methods):
7957         changes for governing_domain stuff.
7958
7959         * gutter.c:
7960         * gutter.c (Fgutter_specifier_p):
7961         * gutter.c (Fgutter_size_specifier_p):
7962         * gutter.c (Fgutter_visible_specifier_p):
7963         * objects.c:
7964         * objects.c (Fcolor_specifier_p):
7965         * objects.c (Ffont_specifier_p):
7966         * objects.c (Fface_boolean_specifier_p):
7967         doc strings moved to make-*-specifier.
7968
7969         * redisplay.c (add_disp_table_entry_runes_1):
7970         * redisplay.c (generate_fstring_runes):
7971         * redisplay.c (screen):
7972         add random comments and doc strings.
7973
7974         * specifier.c:
7975         * specifier.c (Fmake_specifier):
7976         major overhaul of this doc string.
7977
7978         * specifier.c (Fvalid_specifier_domain_p):
7979         comment about the bogosity of image instances being domains.
7980         * specifier.c (decode_domain):
7981         now non-static, used in glyphs.c.
7982         * specifier.c (specifier_instance):
7983         comment about the bogosity of image instances being domains.
7984         * specifier.c (Fgeneric_specifier_p):
7985         move doc string to make-generic-specifier.
7986         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7987         rebackslashify.
7988
7989         * specifier.h:
7990         * specifier.h (DOMAIN_FRAME):
7991         * specifier.h (DOMAIN_LIVE_P):
7992         * specifier.h (DOMAIN_XDEVICE):
7993         rebackslashify.
7994         add comments about problems with these macros.
7995         prototype for decode_domain.
7996
7997         * toolbar.c:
7998         * toolbar.c (Ftoolbar_specifier_p):
7999         move doc string to `make-toolbar-specifier'.
8000
8001         * window.c (window_unmap_subwindows_cache_mapper):
8002         *************************************************************
8003         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8004         HAVE BEEN GETTING.
8005         *************************************************************
8006
8007 2000-05-09  Andy Piper  <andy@xemacs.org>
8008
8009         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8010
8011         * window.c (Fset_window_configuration): reset the frame subwindow
8012         cache and re-initialize the window subwindow caches.
8013
8014         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8015
8016 2000-05-09  Ben Wing  <ben@xemacs.org>
8017
8018         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8019         DWORD.
8020
8021 2000-04-26  Mike Woolley  <mike@bulsara.com>
8022
8023         * ntheap.c: Changed recreate_heap to limit the amount reserved
8024         for the heap to that which is actually available. Also now
8025         displays a message box (with some dignostics) in the event that
8026         it still can't start.
8027
8028 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8029
8030         * callproc.c (Fold_call_process_internal): GCPRO path
8031
8032 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8033
8034         Patch by Bill Perry.
8035
8036         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8037         back data instead of #ifdef.
8038         (Fscrollbar_page_down): ditto.
8039
8040 2000-05-07  Ben Wing  <ben@xemacs.org>
8041
8042         * buffer.h:
8043         Kludge for defining Qmswindows_tstr.
8044
8045         * nt.c:
8046         * nt.c (open_input_file):
8047         * nt.c (open_output_file):
8048         * nt.c (rva_to_section):
8049         * nt.c (mswindows_executable_type):
8050         Move all memory-mapped-file routines here (some were in unexnt.c,
8051         which is bad because they are used by process-nt.c, and unexnt
8052         won't be around when portable dumping).  Synched the above routines
8053         with FSF 20.6.
8054
8055         * nt.h:
8056         Removed ifdef'd out bogus code.
8057         Fixed some prototypes.
8058
8059         * nt.h (file_data):
8060         * nt.h (OFFSET_TO_RVA):
8061         * nt.h (RVA_TO_OFFSET):
8062         * nt.h (RVA_TO_PTR):
8063         Moved the memory-mapped-file structures, macros and prototypes
8064         here, to parallel nt.c.  ntheap.h should really be removed
8065         entirely, and it's a non-portable-dumper specific file.
8066
8067         * ntheap.h (round_to_next):
8068         Moved the memory-mapped-file structures, macros and prototypes
8069         to nt.h.
8070
8071         * ntproc.c (compare_env):
8072         Moved rva_to_section and mswindows_executable_type to nt.c.
8073         Moved compare_env to process-nt.c.
8074         ntproc.c will die, one day.
8075
8076         * ntproc.c (sys_spawnve):
8077         Account for win32_ -> mswindows_.
8078
8079         * process-nt.c:
8080         * process-nt.c (struct nt_process_data):
8081         * process-nt.c (ensure_console_window_exists):
8082         * process-nt.c (compare_env):
8083         * process-nt.c (nt_create_process):
8084         * process-nt.c (nt_kill_process_by_pid):
8085         * process-nt.c (syms_of_process_nt):
8086         * process-nt.c (vars_of_process_nt):
8087         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8088         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8089         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8090         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8091         Move compare_env here from ntproc.c.
8092
8093         * process.c (Fprocess_send_region):
8094         Takes an optional fourth argument, BUFFER, which should fix some
8095         problems with call-process.
8096
8097         * syscommctrl.h:
8098         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8099
8100         * syswindows.h:
8101         Move ICC_BAR_CLASSES to syscommctrl.h.
8102         Add preliminary macros for MSWindows/Mule.  More to come.
8103
8104         * unexnt.c:
8105         * unexnt.c (unexec):
8106         open_output_file moved to nt.c.
8107
8108
8109 2000-05-05  Andy Piper  <andy@xemacs.org>
8110
8111         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8112         instance from the frame cache also since GC may catch up too late
8113         to make frame deletion sane.
8114
8115 2000-05-04  Andy Piper  <andy@xemacs.org>
8116
8117         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8118         (x_finalize_image_instance): ungcpro on deletion.
8119
8120         * glyphs.c (image_instantiator_format_create): give pointers a
8121         query geometry method so that the geometry is at least set.
8122
8123         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8124         initialize layouts if using widgets.
8125
8126 2000-05-03  Andy Piper  <andy@xemacs.org>
8127
8128         * nt.c: remove bogus reference to sysmmsystem.h
8129
8130         * gui-x.c (popup_selection_callback): fix no selection abort.
8131
8132 2000-05-02  Andy Piper  <andy@xemacs.org>
8133
8134         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8135         (mswindows_widget_instantiate): ditto.
8136
8137         * glyphs-widget.c (initialize_widget_image_instance): initialize
8138         children correctly.
8139         (widget_instantiate): cope with children and items in the same
8140         instance.
8141
8142         * glyphs.c (mark_image_instance): cope with children as a first
8143         class member.
8144         (image_instance_equal): ditto.
8145         (image_instance_hash): ditto.
8146         (image_instance_changed): ditto.
8147
8148 2000-04-30  Andy Piper  <andy@xemacs.org>
8149
8150         * glyphs.c (subwindow_query_geometry): new function. Return some
8151         defaults.
8152         (subwindow_instantiate): don't assign dimensions if none have been
8153         given.
8154         (image_instantiator_format_create): add subwindow_query_geometry.
8155         (print_image_instance): cope with layouts as widgets.
8156
8157 2000-04-29  Andy Piper  <andy@xemacs.org>
8158
8159         * frame.c (delete_frame_internal): call
8160         free_frame_subwindow_instance_cache so that all subwindows are
8161         finalized before their parent.
8162         (mark_frame): remove subwindow_cachels.
8163         (Fmake_frame): remove subwindow_cachel manipulation.
8164         (allocate_frame_core): subwindow_instance_cache is a weak list.
8165         (delete_frame_internal): set subwindow_instance_cache to nil.
8166
8167         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8168         finalization safe.
8169         (mswindows_finalize_image_instance): use the device
8170         not the domain as the domain may have died already.
8171
8172         * glyphs-x.c (x_finalize_image_instance): ditto.
8173         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8174         HEIGHT.
8175
8176         * redisplay-output.c (redisplay_unmap_subwindows): update for
8177         subwindow instance cache as a weak list.
8178         (redisplay_unmap_subwindows_maybe): ditto.
8179         (redisplay_unmap_subwindows_except_us): ditto.
8180
8181         * glyphs.c (unmap_subwindow): error checking will check the domain
8182         so don't deal with it here. Don't use cachels anymore.
8183         (map_subwindow): ditto.
8184         (update_subwindow_cachel_data): remove old accessor names.
8185         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8186         (Fresize_subwindow): don't update cachel.
8187         (mark_subwindow_cachels):
8188         (update_subwindow_cachel_data):
8189         (add_subwindow_cachel):
8190         (get_subwindow_cachel_index):
8191         (update_subwindow_cachel):
8192         (reset_subwindow_cachels):
8193         (mark_subwindow_cachels_as_not_updated): deleted.
8194         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8195         subwindow instance to the frame cache.
8196         (find_matching_subwindow): update for subwindow instance cache as
8197         a weak list.
8198         (update_widget_instances): ditto.
8199         (image_instance_type_to_mask):inlined.
8200         (free_frame_subwindow_instance_cache): new function. finalize all
8201         subwindows that are instantiated.
8202
8203         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8204         of cachel information.
8205         (IMAGE_INSTANCE_DISPLAY_X):
8206         (IMAGE_INSTANCE_DISPLAY_Y):
8207         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8208         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8209         (XIMAGE_INSTANCE_DISPLAY_X):
8210         (XIMAGE_INSTANCE_DISPLAY_Y):
8211         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8212         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8213         remove subwindow_cachel structure and function references.
8214         (image_instance_type_to_mask): inline from glyphs.c
8215
8216         * redisplay.c (redisplay_frame): remove subwindow_cachel
8217         references.
8218
8219         * frame.h (struct frame): remove subwindow_cachels.
8220         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8221
8222         * frameslots.h: add subwindow_instance_cache.
8223
8224         * window.c (replace_window): check subwindow cache of replacement.
8225         (window_unmap_subwindows_cache_mapper):
8226         (window_unmap_subwindows): new functions. Unmap all subwindows
8227         cached on this window.
8228         (mark_window_as_deleted): unmap all subwindows.
8229
8230 2000-04-27  Andy Piper  <andy@xemacs.org>
8231
8232         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8233
8234         * glyphs-widget.c (widget_layout): return something.
8235         (layout_layout): return something. Fail if not initialized.
8236         (layout_query_geometry): ditto.
8237         (image_instantiator_native_layout): new function. Initialized the
8238         native layout type.
8239         (widget_instantiate): don't do layout stuff here.
8240
8241         * glyphs.c (instantiate_image_instantiator): reorded calling or
8242         instantiate and post_instantiate with layout in between.
8243         (image_instance_layout): be more selective about deciding whether
8244         the layout has been done or not.
8245
8246         * glyphs.h (struct image_instantiator_methods): return a value
8247         from layout_method.
8248
8249 2000-04-26  Andy Piper  <andy@xemacs.org>
8250
8251         * glyphs.c (allocate_image_instance): make initial width and
8252         height unspecified. Set initialized to 0.
8253
8254         * syscommctrl.h new file. Encapsulates commctrl.h.
8255
8256         * syswindows.h new file. Encapsulates windows.h.
8257
8258         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8259         * nt.c: ditto.
8260         * console-msw.h: ditto.
8261
8262         * redisplay-tty.c (tty_output_display_block): remove layout references.
8263
8264         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8265         window handle rather than just the frame.
8266
8267         * glyphs.c (mark_image_instance): remove layout references.
8268         (print_image_instance): ditto.
8269         (image_instance_equal): ditto.
8270         (image_instance_hash): ditto.
8271         (decode_image_instance_type): ditto.
8272         (encode_image_instance_type): ditto.
8273         (image_instantiate): ditto.
8274         (allocate_glyph): ditto.
8275         (Fimage_instance_height): ditto.
8276         (Fimage_instance_width): ditto.
8277         (update_subwindow): ditto.
8278
8279         * redisplay-x.c (x_output_display_block): recode for layouts as
8280         widgets.
8281
8282         * redisplay-output.c (redisplay_output_layout): recode for layouts
8283         as widgets.
8284         (compare_runes): remove layout references.
8285
8286         * redisplay-msw.c (mswindows_output_display_block): recode for
8287         layouts as widgets.
8288
8289         * glyphs-widget.c (image_instantiator_layout): remove
8290         layout_possible_dest_types.
8291         (layout_possible_dest_types): deleted.
8292
8293         * glyphs.h (image_instance_type): remove layout references.
8294         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8295         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8296         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8297
8298 2000-04-25  Andy Piper  <andy@xemacs.org>
8299
8300         * glyphs-widget.c (image_instantiator_buttons):
8301         (image_instantiator_edit_fields):
8302         (image_instantiator_combo_box):
8303         (image_instantiator_scrollbar):
8304         (image_instantiator_progress_guage):
8305         (image_instantiator_tree_view):
8306         (image_instantiator_tab_control):
8307         (image_instantiator_labels):
8308         (image_instantiator_layout): call default post_instantiate method.
8309         (widget_post_instantiate): new function. Simply lays out the
8310         widgets.
8311
8312         * glyphs.h (struct image_instantiator_methods): add
8313         post_instantiate method.
8314
8315         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8316         method calls.
8317
8318 2000-04-23  Andy Piper  <andy@xemacs.org>
8319
8320         * glyphs.h (struct image_instantiator_methods): add
8321         decode_domain_method.
8322         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8323         derived from the domain.
8324         (IMAGE_INSTANCE_FRAME): new accessor.
8325         (XIMAGE_INSTANCE_FRAME): ditto.
8326
8327         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8328         instead of _SUBWINDOW_FRAME.
8329         (finalize_image_instance): ditto.
8330         (Fimage_instance_foreground): ditto.
8331         (Fimage_instance_background): ditto.
8332         (image_instantiate): ditto.
8333         (update_subwindow_cachel): ditto.
8334         (update_subwindow): ditto.
8335         (unmap_subwindow): ditto.
8336         (map_subwindow): ditto
8337         (subwindow_instantiate): ditto.
8338         * glyphs-msw.c (mswindows_update_widget): ditto.
8339         (mswindows_progress_gauge_instantiate): ditto.
8340         (mswindows_tab_control_update): ditto.
8341         * glyphs-x.c (x_update_widget): ditto.
8342         (x_widget_instantiate): ditto.
8343         (x_tab_control_instantiate): ditto.
8344         (x_tab_control_update): ditto.
8345         * event-msw.c (mswindows_wnd_proc): ditto
8346
8347         * glyphs-widget.c (image_instantiator_layout): use
8348         subwindow_decode_domain.
8349         (image_instantiator_buttons): ditto.
8350         (image_instantiator_edit_fields): ditto.
8351         (image_instantiator_combo_box): ditto.
8352         (image_instantiator_scrollbar): ditto.
8353         (image_instantiator_progress_guage): ditto.
8354         (image_instantiator_tree_view): ditto.
8355         (image_instantiator_tab_control): ditto.
8356         (image_instantiator_labels): ditto.
8357         (image_instantiator_layout): ditto.
8358
8359         * glyphs.c: add instance error checking to many functions.
8360         (instantiate_image_instantiator): decode device from cache_domain.
8361         (image_instantiate): partially rewrite by using
8362         decode_image_instantiator_domain to determine what domain the
8363         instance needs to be cached in.
8364         (decode_image_instantiator_domain): new function. Determine what
8365         domain the image needs to be cached in.
8366         (check_window_subwindow_cache): new error checking function.
8367         (check_instance_cache_mapper): ditto.
8368         (check_image_instance_structure): ditto.
8369         (subwindow_decode_domain): new function. Encodes a window as a
8370         subwindow's cache domain.
8371         (image_instantiator_format_create): use it for text and
8372         subwindows.
8373
8374 2000-04-21  Andy Piper  <andy@xemacs.org>
8375
8376         * glyphs.c (image_instance_device): new function.
8377         (image_instance_frame): new function.
8378         (image_instance_window): new function.
8379         (image_instance_live_p): new function.
8380
8381         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8382         cache to nil.
8383
8384         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8385         (IMAGE_INSTANCE_DOMAIN): new accessor.
8386         (XIMAGE_INSTANCE_DOMAIN): ditto.
8387
8388         * glyphs-x.c (x_finalize_image_instance): device->domain.
8389
8390         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8391         (mswindows_finalize_image_instance): ditto.
8392
8393         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8394         (gif_instantiate): ditto.
8395         (png_instantiate): ditto.
8396         (tiff_instantiate): ditto.
8397
8398         * glyphs.c (instantiate_image_instantiator): use domain rather
8399         than device.
8400         (mark_image_instance): device -> domain.
8401         (print_image_instance): ditto.
8402         (finalize_image_instance): ditto.
8403         (image_instance_equal): ditto.
8404         (allocate_image_instance): ditto.
8405         (Fcolorize_image_instance): ditto.
8406         (query_string_geometry): ditto.
8407         (image_instantiate): ditto
8408         (query_string_font): ditto.
8409         (image_instantiate): ditto.
8410         (update_subwindow): ditto.
8411         (unmap_subwindow): ditto.
8412         (map_subwindow): ditto.
8413         (subwindow_instantiate): ditto.
8414
8415         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8416         (DOMAIN_FRAME): ditto.
8417         (DOMAIN_WINDOW): ditto.
8418         (DOMAIN_LIVE_P): ditto.
8419         (XDOMAIN_DEVICE): ditto.
8420         (XDOMAIN_FRAME): ditto.
8421         (XDOMAIN_WINDOW): ditto.
8422
8423         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8424         a valid specifier domain.
8425
8426 2000-04-19  Andy Piper  <andy@xemacs.org>
8427
8428         * glyphs-widget.c (syms_of_glyphs_widget): remove
8429         widget-callback-current-channel.
8430         (vars_of_glyphs_widget): ditto.
8431         * glyphs.h: ditto
8432
8433         * gui.c (get_gui_callback): revert to previous behaviour.
8434
8435 2000-04-18  Andy Piper  <andy@xemacs.org>
8436
8437         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8438         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8439         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8440
8441         * glyphs.c (image_instance_equal): add margin_width.
8442         (image_instance_hash): ditto.
8443
8444         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8445         (layout_query_geometry): ditto.
8446         (layout_layout): ditto.
8447         (syms_of_glyphs_widget): add margin-width.
8448         (image_instantiator_layout): allow margin-width.
8449
8450         * glyphs.c (update_widget_instances): make a normal function.
8451         (syms_of_glyphs): remove Qupdate_widget_instances.
8452         * glyphs.h: ditto.
8453
8454         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8455         so that we don't corrupt ideas about the last event or
8456         command. Remove widget-callback-current-channel fiddling.
8457         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8458
8459 2000-05-01  Martin Buchholz <martin@xemacs.org>
8460
8461         * XEmacs 21.2.33 is released.
8462
8463 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8464
8465         * make-src-depend: Allow dots in header file name.
8466
8467 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8468
8469         * mule-charset.h (struct charset_lookup): Add
8470         next_allocated_1_byte_leading_byte and
8471         next_allocated_2_byte_leading_byte.
8472         * mule-charset.c: Move above two variables so that those values
8473         will be dumped.
8474
8475 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8476
8477         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8478         when string length is zero.
8479         (find_charsets_in_emchar_string): Ditto.
8480
8481 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8482
8483         * lisp.h: extern Qdialog and Qmenubar.
8484
8485         * gui-x.c: added events.h.
8486                 also fixed typo which made the file uncompilable.
8487
8488         * general.c: Added Qmenubar and Qdialog
8489
8490 2000-04-28  Ben Wing  <ben@xemacs.org>
8491
8492         * frame-msw.c (mswindows_init_frame_1):
8493         * frame-msw.c (mswindows_mark_frame):
8494         * event-msw.c (mswindows_enqueue_dispatch_event):
8495         * console-msw.h:
8496         * console-msw.h (struct mswindows_frame):
8497         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8498         there are now three hash tables for callbacks.
8499         mswindows_enqueue_dispatch_event is no longer static.
8500
8501         * dialog-x.c (maybe_run_dbox_text_callback):
8502         * dialog-x.c (dbox_descriptor_to_widget_value):
8503         switch to new cons3 form for callbacks.
8504
8505         * glyphs-msw.c (mswindows_register_gui_item):
8506         * glyphs-msw.c (mswindows_widget_instantiate):
8507         * glyphs-msw.c (add_tree_item):
8508         * glyphs-msw.c (add_tab_item):
8509         new image instance parameter, so it can be passed to callback-ex.
8510         respect :callback-ex as well as :callback.
8511
8512         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8513         add :callback-ex.
8514
8515         * glyphs.c (print_image_instance):
8516         prettify, e.g. now prints widget type.
8517
8518         * gui-x.h:
8519         certain funs have new image instance parameter.
8520
8521         * gui.c:
8522         * gui.c (get_gui_callback):
8523         * gui.c (gui_item_add_keyval_pair):
8524         * gui.c (gui_item_init):
8525         * gui.c (gui_add_item_keywords_to_plist):
8526         * gui.c (mark_gui_item):
8527         * gui.c (gui_item_hash):
8528         * gui.c (gui_item_equal):
8529         * gui.c (copy_gui_item):
8530         * gui.c (syms_of_gui):
8531         recognize callback-ex in a number of places.
8532         also, fix the annoying "can't get out of yes-no dialog" bug.
8533
8534         * gui.h:
8535         * gui.h (struct Lisp_Gui_Item):
8536         recognize callback-ex in a number of places.
8537
8538         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8539         new parameter in button_item_to_widget_value.
8540
8541         * glyphs-x.c (x_update_widget):
8542         * glyphs-x.c (x_button_instantiate):
8543         * glyphs-x.c (x_button_update):
8544         * glyphs-x.c (x_progress_gauge_instantiate):
8545         * glyphs-x.c (x_edit_field_instantiate):
8546         * glyphs-x.c (x_combo_box_instantiate):
8547         * glyphs-x.c (x_tab_control_instantiate):
8548         * glyphs-x.c (x_label_instantiate):
8549         new image instance parameter in various places.
8550
8551         * event-Xt.c:
8552         * event-Xt.c (enqueue_Xt_dispatch_event):
8553         this fun gets exported.
8554
8555         * gui-msw.c:
8556         * gui-msw.c (mswindows_handle_gui_wm_command):
8557         handle both :callback and :callback-ex, and generate our own
8558         event because it's one of the callback-ex arguments.
8559
8560         * gui-x.c:
8561         * gui-x.c (popup_selection_callback):
8562         handle both :callback and :callback-ex, and generate our own
8563         event because it's one of the callback-ex arguments.
8564         * gui-x.c (button_item_to_widget_value):
8565         * gui-x.c (gui_items_to_widget_values_1):
8566         * gui-x.c (gui_item_children_to_widget_values):
8567         * gui-x.c (gui_items_to_widget_values):
8568         new image instance parameter in various places.
8569
8570         * fns.c (Freplace_list):
8571         fix small typo in doc string.
8572
8573         * lisp.h:
8574         declare enqueue_Xt_dispatch_event.
8575
8576 2000-04-28  Ben Wing  <ben@xemacs.org>
8577
8578         * buffer.c:
8579         * buffer.c (Frecord_buffer):
8580         * buffer.c (syms_of_buffer):
8581         delete record-buffer-hook.
8582
8583         * fns.c:
8584         * fns.c (Freplace_list):
8585         * fns.c (syms_of_fns):
8586         new primitive replace-list.
8587
8588         * frameslots.h:
8589         slot for old buffer-alist.
8590
8591         * lisp.h:
8592         exfun replace-list.
8593
8594         * redisplay.c:
8595         * redisplay.c (redisplay_frame):
8596         * redisplay.c (syms_of_redisplay):
8597         * redisplay.c (vars_of_redisplay):
8598         new hook buffer-list-changed-hook.
8599         call it.
8600
8601 2000-04-27  Ben Wing  <ben@xemacs.org>
8602
8603         * extents.h: extern in_modeline_generation.
8604
8605         * redisplay.c (generate_formatted_string_db): set
8606         in_modeline_generation.
8607
8608         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8609         flags if in modeline generation.  otherwise frame-modified-tick
8610         is ticked far too often.
8611         Declare in_modeline_generation.
8612
8613 2000-04-26  Ben Wing  <ben@xemacs.org>
8614
8615         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8616         option.
8617         (vars_of_emacs): add quick-build as an error-checking option.
8618         A bit kludgy, but there doesn't seem much point in creating
8619         a real var for this.
8620
8621         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8622
8623 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8624
8625         * redisplay.h (struct display_line): Add a new variable,
8626         line_continuation.
8627
8628         * redisplay.c (create_text_block): Set dl->line_continuation if
8629         the line continues.
8630         (create_string_text_block): Ditto.
8631         (regenerate_window_incrementally): Use line_continuation instead
8632         of searching continuation glyph.
8633         (add_margin_runes): Call add_glyph_rune.
8634         (add_glyph_rune): Handle margin glyph.
8635
8636 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8637
8638         * filelock.c (fill_in_lock_file_name):
8639         ANSIfy.
8640         Check for IS_ANY_SEP instead of '/'.
8641         (lock_file_1):
8642         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8643         Never check errno without first seeing that system call failed.
8644         (unlock_file): Add GCPRO.
8645         (Flock_buffer): Fix docstring.
8646         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8647
8648 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8649
8650         * sysdep.c (get_pty_max_bytes):
8651         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8652         strings longer than 252 bytes.
8653
8654         * md5.c: Unconditionally include ANSI header <limits.h>
8655
8656         * glyphs-x.c (convert_EImage_to_XImage):
8657         * lisp-union.h (union Lisp_Object):
8658         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8659
8660 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8661
8662         * filelock.c (current_lock_owner): Remove unused variable o, p.
8663
8664 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8665
8666         * callint.c: Remove multiply defined symbol Qlet
8667         (syms_of_callint): ditto.
8668
8669 2000-04-14  Andy Piper  <andy@xemacs.org>
8670
8671         * general.c (syms_of_general): add last-command, this-command, let
8672         and funcall.
8673
8674         * lisp.h: declare various symbols.
8675
8676         * glyphs.h: declare Qwidget_callback_current_channel;
8677
8678         * glyphs-widget.c (syms_of_glyphs_widget): add
8679         Qgui_callback_current_channel.
8680         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8681
8682         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8683         widget-callback-current-channel when invoking the interactive
8684         arg. Also bind last-command and next-command when invoking the
8685         widget updates.
8686         * gui-x.c (popup_selection_callback): ditto.
8687
8688         * gui.c (get_gui_callback): massage args so that we are always
8689         calling eval. This allows us to add our own variable bindings
8690         outside.
8691
8692         * glyphs-x.c (x_button_instantiate): use
8693         gui_items_to_widget_values since this is GC safe.
8694         (x_progress_gauge_instantiate): ditto.
8695         (x_edit_field_instantiate): ditto.
8696         (x_label_instantiate): ditto.
8697
8698         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8699         (emacs_Xt_event_widget_focus_out): new function
8700         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8701         focus.
8702         (emacs_Xt_event_add_widget_actions): new function. add focus
8703         functions as actions.
8704         (init_event_Xt_late): use it.
8705
8706 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8707
8708         * event-stream.c (Fdispatch_event): Doc fix.
8709
8710 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8711
8712         * postgresql.c: Remove all references to PQsetenv*.
8713
8714         * postgresql.h: Remove references to PGsetenvHandler object.
8715         * lrecord.h (lrecord_type): Ditto.
8716
8717 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8718
8719         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8720         real_heigh and real_width members, and accessor macros for these.
8721
8722         * glyphs-msw.c (init_image_instance_geometry): New function.
8723         (init_image_instance_from_dibitmap): Use it.
8724         (mswindows_resource_instantiate): Use it.
8725         (init_image_instance_from_xbm_inline): Use it.
8726         (mswindows_initialize_image_instance_mask): Use real bitmap
8727         geometry.
8728         (mswindows_create_resized_bitmap): Ditto.
8729         (mswindows_create_resized_mask): Ditto.
8730
8731         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8732         and bitmap to their surface size.
8733
8734 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8735
8736         * process-unix.c (unix_send_process): Guard against process MIA
8737         after Faccept_process_output.
8738
8739 2000-04-11  Ben Wing  <ben@xemacs.org>
8740
8741         * eval.c (unbind_to_hairy): fix brokenness introduced by
8742         nanosecond speed improvements.
8743
8744 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8745
8746         * sunplay.c (init_device): To play sounds correctly, the device
8747         apparently needs to be initialized at least once by XEmacs.  Make
8748         it so.
8749
8750 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8751
8752         * redisplay.c (add_margin_runes): Add text image glyph
8753           handling.
8754
8755 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8756
8757         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8758         gcc is newer than 2.5.
8759
8760 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8761
8762         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8763
8764         * fns.c (size_bit_vector):
8765         * alloc.c (size_vector):
8766         (make_vector_internal):
8767         (make_bit_vector_internal):
8768         (sweep_bit_vectors_1):
8769         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8770
8771 2000-04-06  Andy Piper  <andy@xemacs.org>
8772
8773         * gmalloc.c (malloc): undo previous change.
8774         (malloc): ditto.
8775         (free): ditto.
8776         (realloc): ditto.
8777
8778 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8779
8780         * line-number.c (buffer_line_number): Revert to former version.
8781
8782 2000-04-06  Andy Piper  <andy@xemacs.org>
8783
8784         * gmalloc.c (malloc): add error checking.
8785         (malloc): ditto.
8786         (free): ditto.
8787         (realloc): ditto.
8788
8789         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8790         button_item_to_widget_value arg.
8791
8792         * glyphs-x.c (x_button_instantiate): add extra
8793         button_item_to_widget_value arg.
8794         (x_progress_gauge_instantiate): ditto.
8795         (x_edit_field_instantiate): ditto.
8796         (x_label_instantiate): ditto.
8797
8798         * gui-x.c (gui_items_to_widget_values_1): add extra
8799         button_item_to_widget_value arg.
8800         (button_item_to_widget_value): add extra menu_item_p arg.
8801
8802         * gui-x.h: change signature of button_item_to_widget_value.
8803
8804         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8805         button_item_to_widget_value arg.
8806
8807 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8808
8809         * buffer.h (struct buffer): auto_save_modified should be long.
8810
8811 2000-04-05  Andy Piper  <andy@xemacs.org>
8812
8813         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8814         type.
8815         (button_query_geometry): give a little more room so that athena
8816         buttons fit.
8817
8818 2000-04-05  Andy Piper  <andy@xemacs.org>
8819
8820         * faces.c (complex_vars_of_faces): The widget face should inherit
8821         the font of the gui-element face.
8822
8823 2000-04-04  Andy Piper  <andy@xemacs.org>
8824
8825         * glyphs-x.c (x_button_update): new function. unconditionally
8826         update a button's state when the instance is dirty.
8827         (image_instantiator_format_create_glyphs_x): add x_button_update.
8828         (x_widget_instantiate): remove old resize cruft.
8829
8830 2000-04-02  Andy Piper  <andy@xemacs.org>
8831
8832         * frame.c (change_frame_size_1): The introduction of gutters means
8833         that we need to allow 0 as a potential frame dimension.
8834
8835 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8836
8837         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8838         image glyph if allow_cursor.
8839         (add_hscroll_rune): Don't allow cursor to border glyph.
8840         (create_text_block): Ditto.
8841
8842         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8843         text not in buffer.
8844         (redisplay_output_layout): Call ensure_face_cachel_complete for
8845         text image glyph.
8846
8847
8848 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8849
8850         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8851
8852         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8853         not in buffer
8854
8855         * redisplay-tty.c (tty_output_display_block): Delete the routine
8856         for text image glyph
8857         * redisplay-x.c (x_output_display_block): ditto
8858         * redisplay-msw.c (mswindows_output_display_block): ditto
8859
8860 2000-02-02  Mike Alexander  <mta@arbortext.com>
8861
8862         Note: Some of these were committed by accident as part of other
8863         patches.
8864
8865         * regex.c (regex_compile): Avoid compiler warnings.
8866
8867         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8868
8869         * nt.h: Declare term_ntproc correctly.
8870
8871         * nt.c: Remove incorrect declaration of get_home_directory which
8872         is declared correctly in lisp.h.
8873
8874         * keymap.c (get_keyelt): Avoid compiler warnings.
8875         (raw_lookup_key_mapper): Avoid compiler warnings.
8876
8877         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8878
8879         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8880
8881         * filemode.c (mode_string): Avoid compiler warnings.
8882
8883         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8884         avoid warning.
8885
8886         * events-mod.h: Undef some things that winuser.h defines differently.
8887
8888         * data.c (Faset): Avoid compiler warnings.
8889
8890         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8891
8892 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8893
8894         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8895         Fall through to simple beep on error.
8896         Replace "extern" by real header file.
8897
8898         * linuxplay.c: Use nativesound.h
8899         (play_sound_data): Return error code. Be less verbose on error.
8900
8901         * sunplay.c: Use nativesound.h
8902         (play_sound_data): Return error code. Be less verbose on error.
8903
8904         * ntplay.c: Use nativesound.h
8905         (play_sound_data): Return fake error code
8906
8907         * sgiplay.c: Use nativesound.h
8908         (play_sound_data): Return error code
8909
8910         * hpplay.c: Use nativesound.h, partially implement
8911         new error code. Break compilation until finished.
8912         (play_sound_data): error code.
8913
8914         * nativesound.h (play_sound_file):
8915           (play_sound_data): Prototype in new header.
8916
8917 2000-03-31  Andy Piper  <andy@xemacs.org>
8918
8919         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8920         for toggle and radio buttons.
8921         (image_instantiator_buttons): use it.
8922
8923 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8924
8925         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8926         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8927         found. Scrollbar event probably belonged to some old config.
8928
8929 2000-03-31  Andy Piper  <andy@xemacs.org>
8930
8931         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8932         than 1.
8933         (initialize_widget_image_instance): default layout to
8934         LAYOUT_HORIZONTAL rather than 0.
8935         (widget_instantiate): reverse the item list at the end rather than
8936         every iteration.
8937         (layout_layout): re-code for the border text at the front of the
8938         item list rather than at the end.
8939         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8940         provided by the user.
8941         (widget_query_geometry): comment.
8942
8943 2000-03-30  Andy Piper  <andy@xemacs.org>
8944
8945         * glyphs-widget.c (image_instantiator_layout): allow standard
8946         widget keywords in layouts.
8947
8948         * gutter.c (output_gutter): cope with nil gutter contents.
8949
8950         * frame.c (Fset_frame_properties): add gutter docs.
8951
8952 2000-03-29  Andy Piper  <andy@xemacs.org>
8953
8954         * toolbar-msw.c (TBSTYLE_FLAT): add.
8955         (mswindows_output_toolbar): minor fiddling.
8956
8957 2000-03-29  Andy Piper  <andy@xemacs.org>
8958
8959         * gutter.c (output_gutter): force gutter size recalculation if
8960         what we are trying to display won't fit.
8961         (update_gutter_geometry): new function. A per-gutter version of
8962         update_frame_gutter_geometry.
8963         (update_frame_gutter_geometry): use it.
8964         (redraw_exposed_gutter): add extra debugging output.
8965
8966 2000-03-28  Mike Alexander  <mta@arbortext.com>
8967
8968         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8969         (pdump_file_unmap): Implement it on Windows
8970         (pdump_file_get): Save alocated handles for pdump_file_unmap
8971
8972 2000-03-28  Andy Piper  <andy@xemacs.org>
8973
8974         * gui.c (get_gui_callback): treat Quit specially.
8975
8976 2000-03-27  Andy Piper  <andy@xemacs.org>
8977
8978         * glyphs.c (image_instantiate): be careful to check in the same
8979         way we assigned.
8980
8981 2000-03-27  Didier Verna  <didier@xemacs.org>
8982
8983         * config.h.in: define the proper SMART_INCLUDE macro.
8984         handle renaming of `foo_h_path' to `foo_h_file'.
8985
8986         * database.c: ditto.
8987
8988         * emacs.c: ditto.
8989
8990         * linuxplay.c: ditto.
8991
8992         * terminfo.c: ditto.
8993
8994         * tooltalk.h: ditto.
8995
8996 2000-03-27  Andy Piper  <andy@xemacs.org>
8997
8998         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8999         gets updated whenever the face might have changed.
9000
9001 2000-03-26  Mike Alexander  <mta@arbortext.com>
9002
9003         * dumper.c (pdump_resource_free): Fix the comment.
9004
9005 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9006
9007         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9008
9009 2000-03-22  Mike Alexander  <mta@arbortext.com>
9010
9011         * dumper.c: Include Windows headers on Windows
9012         (pdump_resource_free): Add a body to the function
9013         (pdump_load): exe_name -> exe_path and add some comments.
9014
9015 2000-03-25  Mike Alexander  <mta@arbortext.com>
9016
9017         * gui.c (copy_gui_item_tree): Return a value in all cases
9018
9019 2000-03-21  Didier Verna  <didier@xemacs.org>
9020
9021         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9022         lwlib/config.h.in.
9023         (SMART_INCLUDE): new macro.
9024         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9025         the proper location.
9026
9027         * postgresql.c: use it.
9028
9029         * inline.c: ditto.
9030
9031 2000-03-24  Andy Piper  <andy@xemacs.org>
9032
9033         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9034         do this.
9035
9036 2000-03-24  Andy Piper  <andy@xemacs.org>
9037
9038         * redisplay-output.c (compare_runes): use image_instance_changed
9039         to detect changes. Do not depend on glyphs_changed, only depend on
9040         dirtiness.
9041          (redisplay_output_layout): add debug messages.
9042         (compare_runes): ditto.
9043
9044         * glyphs.h: declare new functions.
9045         (struct Lisp_Image_Instance): remove percent and associated
9046         accessors.
9047
9048         * gui.h: declare new copying functions.
9049
9050         * gui.c (copy_gui_item_tree): new function.
9051         (copy_gui_item): new function.
9052         (gui_item_id_hash): revert to standard hash.
9053         (gui_item_hash): ditto.
9054         (gui_item_hash_internal): deleted.
9055         (mark_gui_item): mark value.
9056         (gui_item_add_keyval_pair): add value.
9057         (gui_item_init): ditto.
9058         (gui_add_item_keywords_to_plist): ditto.
9059         (gui_item_equal): ditto.
9060         (syms_of_gui): add Q_value.
9061
9062         * glyphs-x.c (x_progress_gauge_update): use pending items and
9063         value for setting the state.
9064         (x_update_widget): don't set items from pending here.
9065
9066         * glyphs-widget.c (update_widget): update items here.
9067         (progress_gauge_set_property): use items for storing value. Put
9068         new value in pending items.
9069
9070         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9071         items for new value. Convert percent -> value.
9072         (mswindows_tab_control_update): don't update items here.
9073
9074         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9075         (update_subwindow): ditto.
9076         (image_instance_changed): new function. Compare hash values and
9077         past and present widget items.
9078         (image_instantiate): We more careful about where we instantiate
9079         things.
9080         (image_instantiate): add error checking.
9081
9082         * gutter.c (syms_of_gutter): use -hook.
9083
9084 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9085
9086         * console-tty.c (Fset_console_tty_input_coding_system): Use
9087         Qkeyboard.
9088         (Fset_console_tty_output_coding_system): Use Qterminal.
9089         (tty_init_console): Use Qkeyboard and Qterminal.
9090
9091 2000-03-21  Ben Wing  <ben@xemacs.org>
9092
9093         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9094         From Mike Alexander <mta@arbortext.com>.
9095
9096 2000-03-21  Ben Wing  <ben@xemacs.org>
9097
9098         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9099         process brokenness.  Proper implementation to come.
9100         * callproc.c:
9101         Rename call-process-internal to old-call-process-internal.
9102         New impl. in process.el.
9103
9104 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9105
9106         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9107
9108 2000-03-20  Andy Piper  <andy@xemacs.org>
9109
9110         * glyphs.c (full_list_hash): make hashes of the same elements in
9111         different orders return different values.
9112
9113 2000-03-20  Martin Buchholz <martin@xemacs.org>
9114
9115         * XEmacs 21.2.32 is released.
9116
9117 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9118
9119         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9120         (DFC_MALLOC_USE_CONVERTED_DATA):
9121         Add aliasing-safe casts to allow use with char* or unsigned char*
9122         lvalues.
9123
9124         * eldap.c (Fldap_open):
9125         (Fldap_search_basic):
9126         (Fldap_add):
9127         (Fldap_modify):
9128         Make C++-compilable.
9129         Make sure GCPRO'ed variables are initialized.
9130         Use temp variables to avoid repeated calls to Flength.
9131
9132 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9133
9134         * sysfile.h:
9135         Make sure PATH_MAX is always defined.
9136         Include limits.h for PATH_MAX.
9137         Deprecate use of MAXPATHLEN.
9138
9139 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9140
9141         * emacs.c: Add reinit_vars_of_fileio.
9142         * symsinit.h: Add reinit_vars_of_fileio.
9143         * fileio.c (reinit_vars_of_fileio): New.
9144         * fileio.c (Fmake_temp_name):
9145         Initialize temp_name random number from microseconds to make
9146         collisions even less likely.  Initialize always at process startup
9147         time.  (make-temp-name) used to return the same file name twice in
9148         a row when PDUMP.
9149         Random stylistic fiddling.
9150         Comment fixes.
9151
9152 2000-03-20  Andy Piper  <andy@xemacs.org>
9153
9154         * glyphs.c (image_instantiate): allow text glyphs to be
9155         instantiated in the minibuffer window.
9156
9157 2000-03-19  Andy Piper  <andy@xemacs.org>
9158
9159         * glyphs.c (image_instance_hash): be careful about which items we
9160         hash on.
9161
9162         * glyphs-widget.c (tab_control_set_property): record into pending
9163         items rather than the actual items.
9164
9165         * glyphs-x.c (x_update_widget): use pending items to update with.
9166
9167         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9168         to update with.
9169
9170         * glyphs.c (mark_image_instance): mark pending items.
9171
9172         * window.c (Fset_window_configuration): record the buffer.
9173         (Fselect_window): totally revert previous change which breaks many
9174         things.
9175
9176 2000-03-18  Andy Piper  <andy@xemacs.org>
9177
9178         * glyphs-msw.c (mswindows_tab_control_update): force selected
9179         item.
9180
9181         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9182         window domain cache, otherwise we get inconsistencies at
9183         startup. There is something fishy at startup which can lead to the
9184         minibuffer being the selected window when the gutter content is
9185         instantiated.
9186
9187         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9188         gcpros.
9189         (parse_gui_item_tree_children): ditto.
9190         (parse_gui_item_tree_item): ditto.
9191
9192         * glyphs.c (Fupdate_widget_instances): return something.
9193
9194 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9195
9196         * window.c (Fselect_window): Undo 2000-03-17 change.
9197
9198 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9199
9200         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9201         against v7.0 libraries.  Insta-coredump city until the postgres
9202         folks fix it.
9203
9204 2000-03-17  Andy Piper  <andy@xemacs.org>
9205
9206         * faces.c (complex_vars_of_faces): don't give the widget face an
9207         inherited background pixmap.
9208
9209         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9210         selected item.
9211
9212         * event-stream.c (Fdispatch_non_command_events): return something.
9213
9214         * gutter.c (output_gutter): use widget face.
9215         (clear_gutter): ditto.
9216
9217         * NEWS: adjust again.
9218
9219         * window.c (Fselect_window): make sure this runs to completion to
9220         avoid oddities with Fset_window_configuration.
9221         (Fcurrent_window_configuration): in general do not save the
9222         minibuffer as the selected window.
9223
9224         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9225
9226 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9227
9228         * emacs.c (Frunning_temacs_p): Revert previous patch.
9229         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9230
9231 2000-03-16  Andy Piper  <andy@xemacs.org>
9232
9233         * glyphs-x.c (x_tab_control_update): if no widget values then
9234         return.
9235
9236         * NEWS: update for new features.
9237
9238         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9239         synthetic event to the native system.
9240         (reinit_vars_of_event_Xt): set force_event_pending to
9241         emacs_Xt_force_event_pending.
9242
9243         * events.h (struct event_stream): add force_event_pending.
9244
9245         * specifier.c (recompute_one_cached_specifier_in_window): add
9246         comment.
9247
9248         * redisplay.c (redisplay_frame): don't call
9249         update_frame_subwindows. Reset subwindow cachels when
9250         subwindows_changed, removing this was an optimization too far.
9251
9252         * redisplay-output.c (compare_runes): reorganize so that we catch
9253         glyph changes when we want them. Set optimize_output when this
9254         would help layouts.
9255         (redisplay_output_layout): remove frame_really_changed, use
9256         optimize_output instead.
9257
9258         * redisplay-msw.c (mswindows_output_display_block): reset
9259         optimize_output after outputting a glyph.
9260         * redisplay-x.c (x_output_display_block): ditto.
9261         * redisplay-tty.c (tty_output_display_block): ditto.
9262
9263         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9264         functions.
9265         (gutter_specs_changed): do specific gutter positions.
9266         (top_gutter_specs_changed): new function. Only update the
9267         specified gutter specs.
9268         (bottom_gutter_specs_changed): ditto.
9269         (left_gutter_specs_changed): ditto.
9270         (right_gutter_specs_changed): ditto.
9271
9272         * gui.c (gui_item_hash_internal): new function, does a real hash.
9273         (gui_item_id_hash): use it.
9274         (gui_item_hash): hash the eval'ed gui_item.
9275
9276         * gui-x.c (popup_selection_callback): send an eval event to call
9277         Fupdate_widget_instances.
9278
9279         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9280         to call Fupdate_widget_instances.
9281
9282         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9283         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9284
9285         * glyphs.c: (update_frame_subwindows): deleted.
9286         (Fupdate_widget_instances): new function for updating the dirty
9287         state of widgets that might have changed.
9288         (syms_of_glyphs): add Qupdate_widget_instances.
9289         (full_list_hash): hash a list completely.
9290         (image_instance_hash): use it for items and properties.
9291
9292         * frame-msw.c (mswindows_size_frame_internal): remove unused
9293         variable.
9294
9295         * faces.h (struct face_cachel): fix comment.
9296
9297         * event-stream.c (Fdispatch_non_command_events): new
9298         function. Process non-command events, forcing an event cycle
9299         beforehand.
9300         (syms_of_event_stream): declare.
9301         (event_stream_force_event_pending): new function. Force an event
9302         on the native event queue so that an event cycle will occur next
9303         time we check.
9304
9305         * event-msw.c:
9306         (struct ntpipe_shove_stream):
9307         (mswindows_enqueue_dispatch_event):
9308         (mswindows_dequeue_dispatch_event):
9309         (mswindows_cancel_dispatch_event):
9310         (mswindows_pump_outstanding_events):
9311         (mswindows_drain_windows_queue):
9312         (mswindows_handle_paint):
9313         (mswindows_wnd_proc):
9314         (mswindows_key_to_emacs_keysym):
9315         (get_process_input_waitable):
9316         (emacs_mswindows_delete_stream_pair): re-indent file.
9317         (mswindows_need_event): do not process further fds if the windows
9318         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9319         fixes the 100% cpu problem.
9320         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9321
9322 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9323
9324         * alloc.h: New.
9325         * dumper.h: New.
9326         * dumper.c: New.
9327
9328         * emacs.c: Moved dump file searching to dumper.c.
9329         (Frunning_temacs_p): Fixed.
9330
9331         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9332         last_lrecord_type_index_assigned.
9333
9334 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9335
9336         * symsinit.h: Added reinit parameter to init_console_stream
9337         declaration.
9338
9339         * lisp.h: Added file parameter to pdump_load declaration.
9340
9341         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9342         support.  Added dump file searching.
9343
9344         * config.h.in: Added EMACS_PROGNAME.
9345
9346         * console-stream.c (init_console_stream): Fix reinitialisation
9347         when running from temacs.
9348
9349         * alloc.c (pdump): Add id support.
9350         (pdump_load): Add file parameter and signature/id support.
9351
9352         * Makefile.in.in: Add full pdump support.
9353
9354 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9355
9356         * postgresql.c: Update documentation to reflect latest code
9357         status.
9358         (print_result): Show tuple counts in printed representation when
9359         appropriate.
9360         (Fpq_put_nbytes): MULE-ize.
9361         (Fpq_get_line_async): Ditto.
9362
9363 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9364
9365         * postgresql.c (Fpq_lo_import): Fix return value.
9366         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9367
9368 2000-03-13  Ben Wing  <ben@xemacs.org>
9369
9370         * alloc.c (pdump_load):
9371         Fix compile warning under mswin.
9372
9373 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9374
9375         * postgresql.c: Mule-ization, bug fixes.
9376         Use PG_CODING to encapsulate coding system name changes.
9377         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9378         (pg-coding-system): Create.
9379
9380         (Fpq_conn_defaults): Mule-ize.
9381         (Fpq_connectdb): Mule-ize & bug fix.
9382         (Fpq_connect_start): Mule-ize.
9383         (Fpq_set_client_encoding): Mule-ize.
9384         (Fpq_finish): Document `DEAD' connection status.
9385         (Fpq_clear): Ditto.
9386         (Fpq_pgconn): Mule-ize.
9387         (Fpq_exec): Mule-ize & bug fix.
9388         (Fpq_send_query): Ditto.
9389         (Fpq_get_result): Ditto.
9390         (Fpq_res_status): Mule-ize.
9391         (Fpq_result_error_message): Mule-ize.
9392         (Fpq_ntuples): fix comments.
9393         (Fpq_fname): Mule-ize.
9394         (Fpq_fnumber): Mule-ize.
9395         (Fpq_ftype): fix comments.
9396         (Fpq_get_value): Mule-ize.
9397         (Fpq_cmd_status): Ditto.
9398         (Fpq_cmd_tuples): Ditto.
9399         (Fpq_oid_value): Ditto.
9400         (Fpq_notifies): Ditto.
9401         (Fpq_lo_import): Ditto.
9402         (Fpq_lo_export): Ditto.
9403         (Fpq_get_line): Ditto.
9404         (Fpq_put_line): Mule-ize and bug fix.
9405         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9406
9407 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9408
9409         * postgresql.c (vars_of_postgresql): Mule-ize.
9410         (Fpq_conn_defaults): Ditto.
9411
9412 2000-03-12  Ben Wing  <ben@xemacs.org>
9413
9414         * alloc.c (Fmake_byte_code):
9415         * alloc.c (debug_string_purity_print):
9416         * alloc.c (pdump_backtrace):
9417         * alloc.c (pdump_get_indirect_count):
9418         * alloc.c (pdump_register_sub):
9419         * alloc.c (pdump_register_object):
9420         * alloc.c (pdump_register_struct):
9421         * alloc.c (pdump_dump_data):
9422         * alloc.c (pdump_reloc_one):
9423         Minor cleanups.
9424
9425         * console-msw.c:
9426         * console-msw.c (GetConsoleHwnd):
9427         * console-msw.c (msw_hide_console):
9428         * console-msw.c (msw_show_console):
9429         * console-msw.c (msw_ensure_console_buffered):
9430         * console-msw.c (msw_output_console_string):
9431         * console-msw.c (console_type_create_mswindows):
9432
9433         a) Added functions to manipulate the console window for use with
9434         shell support.
9435
9436         b) Added support for writing text to the console, which is now
9437         used under Windows when xemacs is not being run non-interactively,
9438         to write text that would otherwise be destined for stdout because
9439         under these circumstances, text written to stdout tends to
9440         disappear and not be seen.
9441
9442         * console-msw.h:
9443         * event-Xt.c:
9444         * event-Xt.c (x_event_to_emacs_event):
9445         * event-Xt.c (describe_event_window):
9446         * events-mod.h (XEMACS_MOD_CONTROL):
9447         * events.c:
9448         * events.c (Fmake_event):
9449         * events.c (character_to_event):
9450         * events.c (event_to_character):
9451         * events.c (format_event_object):
9452         * events.c (Fevent_modifiers):
9453         * events.h:
9454         * events.h (struct key_data):
9455         * events.h (struct button_data):
9456         * events.h (struct misc_user_data):
9457         * frame-x.c (Fcde_start_drag_internal):
9458         * frame-x.c (Foffix_start_drag_internal):
9459         * gpmevent.c (Freceive_gpm_event):
9460         * keymap.c:
9461         * keymap.c (bucky_sym_to_bucky_bit):
9462         * keymap.c (control_meta_superify):
9463         * keymap.c (make_key_description):
9464         * keymap.c (keymap_lookup_directly):
9465         * keymap.c (create_bucky_submap):
9466         * keymap.c (keymap_store):
9467         * keymap.c (define_key_check_and_coerce_keysym):
9468         * keymap.c (define_key_parser):
9469         * keymap.c (define_key_alternate_name):
9470         * keymap.c (Fdefine_key):
9471         * keymap.c (raw_lookup_key_mapper):
9472         * keymap.c (struct map_keymap_unsorted_closure):
9473         * keymap.c (map_keymap_unsorted_mapper):
9474         * keymap.c (map_keymap_sort_predicate):
9475         * keymap.c (map_keymap_sorted):
9476         * keymap.c (accessible_keymaps_mapper_1):
9477         * keymap.c (where_is_recursive_mapper):
9478         * keymap.c (describe_map_mapper):
9479         * keymap.c (describe_map_sort_predicate):
9480         * keymap.c (describe_map):
9481         * keymap.c (complex_vars_of_keymap):
9482         And a number of other files, the key modifier preprocessor
9483         constants that xemacs uses have names that conflict with constants
9484         defined under MS Windows for other purposes, so they were renamed
9485         to begin with the prefix XEMACS_. The variables that hold such
9486         modifiers were changed to consistently be of type int to fix
9487         various compile warnings.
9488
9489         * console.c (complex_vars_of_console):
9490         * device.c:
9491         * device-msw.c:
9492         * device-msw.c (mswindows_finish_init_device):
9493         * device-msw.c (msw_get_workspace_coords):
9494         * device-msw.c (mswindows_device_system_metrics):
9495         and various other files, added support for a new
9496         device property called offset-workspace which returns the position
9497         of the upper left corner of the workspace area and goes along with
9498         the existing size-workspace property.
9499
9500         * dialog-msw.c:
9501         * dialog-msw.c (push_bufbyte_string_as_unicode):
9502         * dialog-msw.c (mswindows_popup_dialog_box):
9503         Added support for XEmacs-style accelerator specifications in
9504         button text.  Note: I didn't add support for this under X Windows,
9505         and somebody needs to do this.
9506
9507         * dialog.c:
9508         * dialog.c (Fpopup_dialog_box):
9509         Documented the support for accelerators that was just mentioned.
9510
9511         editfns.c (get_home_directory): Changed behavior under Windows
9512         when HOME not defined; former behavior was irretrievably broken.
9513
9514         * emacs.c:
9515         * emacs.c (main_1):
9516         * emacs.c (main):
9517         * minibuf.c (clear_echo_area_internal):
9518         * minibuf.c (echo_area_append):
9519         * print.c:
9520         * print.c (std_handle_out_external):
9521         * print.c (std_handle_out_va):
9522         * print.c (fatal):
9523         * print.c (write_string_to_stdio_stream):
9524         * print.c (output_string):
9525         * print.c (debug_print):
9526         * print.c (debug_backtrace):
9527         * print.c (debug_short_backtrace):
9528         Cleaned up the code that prints text to stdout so that this can be
9529         changed to output into a console window instead under MS Windows,
9530         as described above.
9531
9532         * eval.c:
9533         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9534         * eval.c (internal_catch):
9535         * eval.c (unwind_to_catch):
9536         * eval.c (throw_or_bomb_out):
9537         * eval.c (condition_case_1):
9538         * eval.c (signal_1):
9539         * eval.c (check_error_state_sanity):
9540         * eval.c (call_with_suspended_errors_1):
9541         * eval.c (call_with_suspended_errors):
9542         * eval.c (reinit_vars_of_eval):
9543         Added code to catch throw loops and check for a pesky bug that may
9544         be gone now.
9545
9546         * event-msw.c:
9547         * event-msw.c (key_needs_default_processing_p):
9548         * event-msw.c (mswindows_wnd_proc):
9549         * event-msw.c (mswindows_modifier_state):
9550         * event-msw.c (emacs_mswindows_quit_p):
9551         * event-msw.c (vars_of_event_mswindows):
9552         a) Added support for using the alt key to select menu items as is
9553         standard under MS Windows.  This is controlled using the variable
9554         menu-accelerator-enabled, just like under X Windows.  There is an
9555         option on the options menu to turn this support on.  I really
9556         think that it should be on by default under Windows, but I'm not
9557         going to make this change yet.
9558
9559         b)  Added support for dynamic display size changes under Windows.
9560
9561         * event-stream.c:
9562         * event-stream.c (maybe_echo_keys):
9563         * event-stream.c (Fnext_event):
9564         * event-stream.c (command_builder_find_leaf):
9565         * event-stream.c (lookup_command_event):
9566         * event-stream.c (execute_command_event):
9567         * event-stream.c (pre_command_hook):
9568         * event-stream.c (post_command_hook):
9569         * event-stream.c (syms_of_event_stream):
9570         * event-stream.c (vars_of_event_stream):
9571         * event-stream.c (complex_vars_of_event_stream):
9572         * events.h (struct command_builder):
9573
9574         a) Tried to clean up a little bit the horribly written x-specific
9575         accelerator code that crept into this file.  I moved this code
9576         into menubar-x.c where it belongs. I also needed to move the
9577         command builder structure into the file events.h because it is
9578         accessed directly by this accelerator code.  What I didn't do, but
9579         which should be done at some point, is to properly abstract this
9580         code using device methods instead of the kludgy way that it
9581         currently hooks into the event code.
9582
9583         b) Added the lisp variables this-command-properties and
9584         last-command- properties, which should be used to synchronize two
9585         adjacent commands in preference to playing games with the variable
9586         this-command, which is typically what happens.
9587
9588         c) Added some slightly nasty code to hook into the lisp support
9589         for shifted- motion-key selection.  This is actually necessary for
9590         somewhat complicated reasons, which are described in
9591         simple.el. (NB: I think the proper thing would be to have the code
9592         that calls the pre and post command hooks also call out to generic
9593         lisp functions in simple.el, where all built-in stuff could be
9594         added.  I will think about this more.)
9595
9596         * event-unixoid.c (poll_fds_for_input):
9597         * lread.c (readchar):
9598         * redisplay-tty.c (tty_clear_frame):
9599         * redisplay-x.c (x_get_gc):
9600         * signal.c (interrupt_signal):
9601         And a whole bunch of other files: fixed up places that printed
9602         directly to stderr to instead call the function stderr_out so that
9603         the changes I made under Windows work correctly.
9604
9605         * filemode.c (mode_string):
9606         Warning fixes.
9607
9608         * frame-msw.c:
9609         * frame-msw.c (mswindows_size_frame_internal):
9610         Fixed the computation of frame size and position to keep the frame
9611         within the workspace area, rather than within the physical
9612         dimensions of the screen, so that the frame doesn't overlap window
9613         manager decorations, such as the start menu and toolbar, typically
9614         at the bottom of the screen.
9615
9616         * frame.c (vars_of_frame):
9617         Changed the default frame title format under MS Windows to consist
9618         of buffername-XEmacs, which is standard under MS Windows.  I think
9619         it might be a good idea to change this everywhere because I think
9620         it is superior to the current frame title format, but this is the
9621         kind of change that is likely to cause some people to get annoyed,
9622         so I'm not making it.
9623
9624         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9625
9626         * gui-msw.c (mswindows_handle_gui_wm_command):
9627         Fixed compile warnings.
9628
9629         * gui-x.c:
9630         * gui-x.c (strdup_and_add_accel):
9631         * gui-x.c (button_item_to_widget_value):
9632         * gui-x.h:
9633         Added code to automatically put an accelerator onto the beginning
9634         of menu items that don't have one as is now the standard, and is
9635         described more later.  Also fixed things so that the menu item
9636         name can be an evaluated expression, again a new standard.
9637
9638         * gui.c:
9639         * gui.c (gui_item_add_keyval_pair):
9640         * gui.c (make_gui_item_from_keywords_internal):
9641         * gui.c (gui_add_item_keywords_to_plist):
9642         * gui.c (gui_item_accelerator):
9643         * gui.c (gui_name_accelerator):
9644         * gui.c (gui_item_included_p):
9645         * gui.c (gui_item_display_flush_left):
9646         * gui.c (gui_item_display_flush_right):
9647         * gui.c (parse_gui_item_tree_item):
9648         * gui.c (parse_gui_item_tree_children):
9649         * gui.c (parse_gui_item_tree_list):
9650         Mule-ized.  Cleanup.  GCPRO addition.
9651
9652         * line-number.c (buffer_line_number):
9653         * lisp.h:
9654         * lisp.h (EMACS_INT_MAX):
9655         Added the manifest constant EMACS_INT_MIN corresponding to the
9656         existing constant EMACS_INT_MAX.  This is partially to fix compile
9657         warnings under Windows, and partly for cleanliness.
9658
9659         * menubar-msw.c:
9660         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9661         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9662         * menubar-msw.c (displayable_menu_item):
9663         * menubar-msw.c (populate_menu_add_item):
9664         * menubar-msw.c (populate_or_checksum_helper):
9665         * menubar-msw.c (populate_menu):
9666         * menubar-msw.c (update_frame_menubar_maybe):
9667         * menubar-msw.c (prune_menubar):
9668         * menubar-msw.c (msw_char_is_accelerator):
9669         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9670         * menubar-msw.c (mswindows_handle_wm_command):
9671         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9672         * menubar-msw.c (mswindows_handle_wm_initmenu):
9673         * menubar-msw.c (mswindows_update_frame_menubars):
9674         * menubar-msw.c (mswindows_free_frame_menubars):
9675         * menubar-msw.c (mswindows_popup_menu):
9676         Fixed a bug in handling accelerators where an extra character
9677         would be displayed in the menu item.  Also generalized the
9678         function displayable_menu_item because it is now used by the
9679         dialog box code as well.  And finally, added code in the functions
9680         that create the menubar to extract a list of accelerators for the
9681         top level menubar, which is used in the event code to determine
9682         whether a particular alt-key combination should be used to invoke
9683         a menu item, or should be passed through to access the standard
9684         XEmacs keymap binding for this key combination.
9685
9686         Much needed GCPROing.
9687
9688         * menubar-x.c:
9689         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9690         * menubar-x.c (menu_item_descriptor_to_widget_value):
9691         * menubar-x.c (restore_in_menu_callback):
9692         * menubar-x.c (x_popup_menu):
9693         * menubar-x.c (menu_move_up):
9694         * menubar-x.c (menu_move_down):
9695         * menubar-x.c (menu_move_left):
9696         * menubar-x.c (menu_move_right):
9697         * menubar-x.c (menu_select_item):
9698         * menubar-x.c (command_builder_operate_menu_accelerator):
9699         * menubar-x.c (menu_accelerator_junk_on_error):
9700         * menubar-x.c (command_builder_find_menu_accelerator):
9701         * menubar-x.c (Faccelerate_menu):
9702         * menubar.h:
9703         Moved a whole bunch of code here that was previously in
9704         event-stream.c as described above.  There is also code connected
9705         to the new standard of adding an accelerator to the beginning of
9706         menu items that don't have one as described above and below.
9707
9708         * menubar.c:
9709         * menubar.c (menu_parse_submenu_keywords):
9710         * menubar.c (Fmenu_find_real_submenu):
9711         * menubar.c (Fnormalize_menu_item_name):
9712         * menubar.c (syms_of_menubar):
9713         * menubar.c (vars_of_menubar):
9714         * menubar.c (complex_vars_of_menubar):
9715
9716         a) Cleaned up a bunch of documentation and improved it.
9717
9718         b) XEmacs now automatically adds an accelerator onto the beginning
9719         of any menu items that don't have one.  I did this because there
9720         will inevitably be some menu items on the main menubar that don't
9721         have accelerators on them because the package that adds that
9722         particular menu item hasn't yet been fixed up to have accelerators
9723         in them and it looked rather strange to have some items with and
9724         some items without accelerators, especially since even in items
9725         without accelerators, you can, at least under windows, still
9726         access the item through an accelerator corresponding to the first
9727         character in the item's name.  If people don't like this behavior,
9728         I can add a variable to turn it off optionally, but I'm not sure
9729         this is a good idea because we really do need to have accelerators
9730         on all of the menu items, and if a package doesn't like the
9731         accelerators being put on the first character, then it should put
9732         the accelerators where they belong.
9733
9734         c) I made a behavior change, which is that the descriptor that
9735         specifies the text of the menu item, which formerly was just a
9736         string, can now also be an evaluated expression.  This makes this
9737         descriptor parallel with all of the others, which could also be
9738         evaluated expressions.  This also obviates the need for the
9739         keyword :label, which was previously listed in the documentation
9740         as unimplemented, and which was for the same purpose.
9741
9742         d) GCPROing.
9743
9744         * ntproc.c:
9745         * ntproc.c (new_child):
9746         * ntproc.c (sys_spawnve):
9747         * ntproc.c (find_child_console):
9748         * ntproc.c (sys_kill):
9749         Fixed compile warnings.  By the way, this file should really go
9750         away entirely, and this will happen as soon as Kirill makes his
9751         final round of process cleanups, which affect the function
9752         call-process.
9753
9754         * process-nt.c:
9755         * process-nt.c (struct nt_process_data):
9756         * process-nt.c (find_process_from_pid):
9757         * process-nt.c (send_signal_the_nt_way):
9758         * process-nt.c (enable_child_signals):
9759         * process-nt.c (find_child_console):
9760         * process-nt.c (send_signal_the_95_way):
9761         * process-nt.c (nt_finalize_process_data):
9762         * process-nt.c (ensure_console_window_exists):
9763         * process-nt.c (nt_create_process):
9764         * process-nt.c (nt_kill_child_process):
9765         * process-nt.c (nt_kill_process_by_pid):
9766         * process-nt.c (nt_open_network_stream):
9767         * process-nt.c (vars_of_process_nt):
9768         Copied over code from Emacs 20.5 to correctly send signals to sub-
9769         processes under Windows 95.  Also added code to automatically
9770         create and hide console window when a sub-process is created under
9771         Windows 95, which obviates the need for the separate runemacs.exe
9772         executable, and finally implemented some variables that were
9773         implemented in Emacs 20.5, but previously not in XEmacs.  These
9774         include mswindows- start-process-share-console and
9775         mswindows-start-process-inherit-error-mode. (Both of these only
9776         apply to Windows 95.)
9777
9778         * regex.c (regex_compile): Fixed a compile warning.
9779
9780         * select-msw.c:
9781         * select-msw.c (mswindows_own_selection):
9782         * select-msw.c (mswindows_get_foreign_selection):
9783         * select-msw.c (mswindows_disown_selection):
9784         * select-msw.c (console_type_create_select_mswindows):
9785         * select-msw.c (syms_of_select_mswindows):
9786         Cleaned up the file and implemented the device method
9787         selection_exists_p, which had accidentally been left out.  Also
9788         removed four lisp functions that were remnants from before the
9789         time when the selection code was properly device abstracted.
9790         These functions are no longer needed because there are generic
9791         equivalents, and because they were added recently and don't exist
9792         in FSF Emacs, I don't think there's any problem with just deleting
9793         them.
9794
9795         * sysdep.c:
9796         * sysdep.c (sys_subshell):
9797         Fixed a compile warning, although in this case there's probably
9798         something wrong with this code, and it ought to be looked into
9799         more thoroughly by somebody who understands it.
9800
9801         * window.c:
9802         * window.c (Fwindow_text_area_height):
9803         * window.c (Fwindow_width):
9804         * window.c (Fwindow_full_width):
9805         * window.c (Fwindow_pixel_width):
9806         * window.c (debug_print_window):
9807         * window.c (syms_of_window):
9808         Added functions window-text-area-height and window-full-width,
9809         which are functions for returning various width and height
9810         characteristics of a window. (One of these functions is necessary
9811         for making the file dialog box work correctly, and the other one
9812         was added for completeness.)  Also added a table to the
9813         documentation for window-height which describes the entire scheme
9814         for accessing width and height characteristics of a window.
9815
9816 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9817
9818         * nt.c (fstat): Added a comment for another problem with
9819         non-encapsulated [f]stat(), reported by Adrian Aichner
9820         <aichner@ecf.teradyne.com>.
9821
9822 2000-03-11  Andy Piper  <andy@xemacs.org>
9823
9824         * window.c (make_dummy_parent): initialize subwindow instance
9825         cache.
9826         (Fset_window_configuration): zero extent_modiff.
9827
9828 2000-03-10  Andy Piper  <andy@xemacs.org>
9829
9830         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9831         more changes can be triggered.
9832         (Fredisplay_frame): ditto.
9833         (Fredraw_device): ditto.
9834         (Fredisplay_device): ditto.
9835         (redisplay_frame): make non-static.
9836         (redisplay_frame): call update_frame_gutter_geometry outside of
9837         display proper.
9838
9839         * gutter.h: declare update_frame_gutter_geometry.
9840
9841         * redisplay.h: declare redisplay_frame.
9842
9843         * gutter.c (update_frame_gutter_geometry): move geometry changes
9844         in update_frame_gutters here. Geometry changes can only occur
9845         outside of redisplay.
9846         (update_frame_gutters): remove geometry change code.
9847         (Fredisplay_gutter_area): make sure that we are in display when we
9848         update and that we have flushed any size changes.
9849
9850 2000-03-11  Andy Piper  <andy@xemacs.org>
9851
9852         * alloc.c (pdump_dump_data): remove i & count shadows.
9853
9854 2000-02-27  Mike Alexander  <mta@arbortext.com>
9855
9856         * sysdep.h: Declare pdump_read_file
9857
9858         * sysdep.c (pdump_read_file): New function
9859
9860         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9861         dump data
9862
9863 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9864
9865         * lrecord.h: add `lrecord_type_pgsetenv'.
9866
9867 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9868
9869         * symsinit.h: declare (vars|syms)_of* functions.
9870         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9871
9872 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9873
9874         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9875
9876         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9877         GCCs.
9878
9879         * emacs.c (main_1): Call postgres initialization code.
9880
9881         * postgresql.h: New file.  PostgreSQL RDBMS support.
9882         * postgresql.c: New file.
9883
9884 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9885
9886         * redisplay-output.c (redisplay_output_display_block): Disable
9887         redundant code.
9888
9889 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9890
9891         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9892         (Fcanna_henkan_next): Ditto.
9893         (Fcanna_bunsetu_henkou): Ditto.
9894         (Fcanna_henkan_kakutei): Ditto.
9895         (Fcanna_henkan_end): Ditto.
9896         (Fcanna_henkan_quit): Ditto.
9897         (Fcanna_henkan_next): Set retun value correctly.
9898         (c2mu): Use unsigned char instead of signed char.
9899
9900 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9901
9902         * emacs.c (main_1): Always call syms_of_gui.
9903         * inline.c: include gui.h
9904
9905 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9906
9907         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9908         converted to Lisp_Object.
9909         (Qtop_bottom): New variable.
9910         (syms_of_redisplay): Initialize it.
9911         * redisplay.h (Vvisible_bell): Ditto.
9912         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9913         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9914         only flash top and bottom.
9915
9916 2000-03-08  Andy Piper  <andy@xemacs.org>
9917
9918         * buffer.c (Frename_buffer): record new buffer name the right way.
9919
9920 2000-03-08  Andy Piper  <andy@xemacs.org>
9921
9922         * glyphs.c (update_subwindow): increase hash depth so that widget
9923         items get picked up properly.
9924
9925         * redisplay-output.c (compare_runes): increase hash depth so that
9926         widget items get picked up properly.
9927
9928 2000-03-08  Andy Piper  <andy@xemacs.org>
9929
9930         * gutter.c (output_gutter): add some debug.
9931
9932         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9933         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9934         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9935
9936         * redisplay-output.c (compare_runes): use display_hash to
9937         determine if glyphs really are not the same.
9938
9939         * glyphs.c (update_subwindow): check display_hash to see if
9940         anything really needs to be updated. If not then do
9941         nothing. Record the display_hash after updating.
9942         (image_instance_equal): compare the image_instance face also.
9943
9944 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9945
9946         * redisplay.h: Fix comment style.
9947
9948 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9949
9950         * consle-msw.h (struct mswindows_frame):
9951         Added new member paint_pending to indicate whether a WM_PAINT
9952         magic event has been queued for this frame.
9953
9954         * event-msw.c (mswindows_drain_windows_queue):
9955         Don't queue a WM_PAINT magic event if one is already queued.
9956         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9957
9958         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9959
9960 2000-03-07  Didier Verna  <didier@xemacs.org>
9961
9962         * dired.c: #include `regex.h' after `sysfile.h'.
9963
9964 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9965
9966         * sound.c (init_nas_sound): Fix compiler warning.
9967
9968         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9969         (FREE_STRUCT_P):
9970         (MARK_STRUCT_AS_FREE):
9971         (MARK_STRUCT_AS_NOT_FREE):
9972         Make `gcc -fstrict-aliasing' work properly.
9973
9974 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9975
9976         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9977         (mswindows_delete_device): Call CoUnnitialize().
9978
9979         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9980
9981 2000-02-25    <CraigL@DyCon.com>
9982
9983         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9984         <errno.h>.
9985
9986         * sysdep.c: This extern declaration for environ prevents MinGW
9987         from finding the variable in CRTDLL.DLL.
9988
9989         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9990         windows headers.
9991         (SHGFI_EXETYPE): ..
9992         (WM_MOUSEWHEEL): ..
9993         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9994         definitions.
9995         (MMRESULT): Removed, now defined in cygwin's windows headers.
9996         (TIMECAPS): ..
9997         (uid_t,gid_t,pid_t,ssize_t): ..
9998         (_timeb): Removed, MinGW defines both _timeb and timeb.
9999         (HAVE_H_ERRNO): Added.
10000         (HAVE_TZNAME): Added, configure is not detecting this.
10001
10002 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10003
10004         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10005         * syntax.c (syntax_match): Use it.
10006
10007         * cmds.c: Import auto-fill-chars from FSF Emacs.
10008         (Vauto_fill_chars): New variables.
10009         (internal_self_insert): Check Vauto_fill_chars.
10010         (vars_of_cmds):
10011         Declare auto-fill-chars as a Lisp variable and initialize it.
10012
10013 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10014
10015         * fileio.c (Fmake_symbolic_link):
10016         (Ffile_symlink_p):
10017         Run handlers even if local machine doesn't have symlinks.
10018
10019 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10020
10021         * event-msw.c (mswindows_drain_windows_queue):
10022         Don't generate paint magic events for non-XEmacs frames.
10023
10024 2000-03-05  Andy Piper  <andy@xemacs.org>
10025
10026         * redisplay.c (redisplay_frame): generate_displayable_area and
10027         friends assumes that we are not in GC, we therefore have to make
10028         sure that this doesn't happen.
10029
10030         * gutter.c (calculate_gutter_size): generate_displayable_area
10031         assumes that we are not in GC, we therefore have to make sure that
10032         this doesn't happen.
10033
10034 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10035
10036         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10037
10038 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10039
10040         * redisplay.c (regenerate_window): Make sure we set a sane value
10041         for end_pos even if we jump out of the loop.
10042         (regenerate_window): Answer Ben's question :-).
10043         (start_end_of_last_line): Add may_error argument.
10044         (start_of_last_line):
10045         (end_of_last_line): Pass may_error = 0.
10046         (end_of_last_line_may_error): New function.
10047         (pixel_to_glyph_translation): Use it, so we don't crash in
10048         event_to_glyph.
10049
10050 2000-03-04  Andy Piper  <andy@xemacs.org>
10051
10052         * window.h (struct window): add gutter_extent_modiff.
10053
10054         * window.c (allocate_window): zero out gutter_extent_modiff.
10055
10056         * redisplay.h: declare sync_display_line_structs.
10057
10058         * redisplay.c (add_glyph_rune): add a better comment.
10059
10060         * redisplay-output.c (sync_display_line_structs): made non-static.
10061         (compare_runes): remove unneccesary glyph cachel access.
10062
10063         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10064
10065         * gutter.c (output_gutter): don't output the gutter if extent
10066         changes only involve extents in buffers. use 4 sets of display
10067         lines.
10068         (gutter_extent_signal_changed_region_maybe): new function. Mark
10069         extents in gutters as changed.
10070         (update_frame_gutters): use 4 sets of display lines.
10071         (reset_gutter_display_lines): ditto.
10072         (free_frame_gutters): ditto.
10073         (redraw_exposed_gutter): force output of gutters.
10074
10075         * frame.h (struct frame): add 4 sets of gutter display lines.
10076
10077         * extents.c: (extent_changed_for_redisplay): signal changes to
10078         extents in strings in the gutter as well as extents in buffers.
10079
10080 2000-03-02  Andy Piper  <andy@xemacs.org>
10081
10082         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10083
10084         * frame.c (Fmake_frame): make sure the gutters get initialized
10085         after the frame is visible.
10086         (set_frame_selected_window): re-arrange compilation macros a
10087         little.
10088         (change_frame_size_1): mark gutters changed.
10089
10090         * device.c (Fset_device_class): mark gutters changed.
10091
10092 2000-03-01  Andy Piper  <andy@xemacs.org>
10093
10094         * window.c (window_top_frame_gutter_height): deleted.
10095         (window_bottom_frame_gutter_height): ditto.
10096         (window_left_frame_gutter_height): ditto.
10097         (window_right_frame_gutter_height): ditto.
10098         (window_top_gutter_height): don't use them.
10099         (window_bottom_gutter_height): ditto.
10100         (window_left_gutter_width): ditto.
10101         (window_right_gutter_width): ditto.
10102         (Fsplit_window): ditto.
10103         (Fwindow_pixel_edges): don't use border dimensions here.
10104
10105         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10106         (update_scrollbar_instance): ditto.
10107
10108         * redisplay.c (generate_modeline): don't take gutters into account.
10109         (generate_modeline): ditto.
10110         (redisplay_frame): small gutter display optimization.
10111
10112         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10113
10114         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10115         gutters into account.
10116
10117         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10118         for window position and type.
10119
10120         * gutter.c (get_gutter_coords): fix for frame gutters.
10121         (update_frame_gutters): update frame geometry if the gutters have
10122         changed.
10123         (init_frame_gutters): record current gutter geometries.
10124
10125         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10126         var.
10127         (mswindows_widget_instantiate): ditto.
10128
10129         * frame.h (struct frame): add current_gutter_bounds.
10130
10131         * frame.c (change_frame_size_1): position window and minibuffer
10132         appropriately taking into account the frame gutters.
10133
10134         * frame-x.c: (x_initialize_frame_size): take into account the
10135         frame gutters.
10136
10137 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10138
10139         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10140
10141 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10142
10143         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10144
10145 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10146
10147         * file-coding.c (reset_decoding_stream): Clear previous
10148         detection state when autodetect.
10149
10150 2000-02-29  Didier Verna  <didier@xemacs.org>
10151
10152         * extents.c (set_extent_glyph_1): don't require extents to be
10153         attached.
10154
10155 2000-02-27  Andy Piper  <andy@xemacs.org>
10156
10157         * gutter.c (Fset_default_gutter_position): don't default left and
10158         right gutter visibility to t.
10159         (Fset_default_gutter_position): run
10160         default-gutter-position-changed-hook.
10161         (syms_of_gutter): add default-gutter-position-changed-hook.
10162
10163 2000-02-26  Andy Piper  <andy@xemacs.org>
10164
10165         * specifier.c (Fmake_specifier): add gutter references.
10166
10167         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10168
10169         * lisp.h: declare Fvalid_plist_p.
10170
10171         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10172         as changed.
10173         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10174         well as its visibility so that it gets reconstructed.
10175         (construct_window_gutter_spec): new function. Construct a string
10176         to be displayed in the gutter from a plist of strings. Take care
10177         to only use elements that are declared as visible.
10178         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10179         WINDOW_GUTTER.
10180         (gutter_validate): allow plists of strings in the specifier.
10181         (gutter_specs_changed): construct the real_gutter from the gutter
10182         specs using construct_window_gutter_spec.
10183         (gutter_visible_validate): gutter-visible is a new specifier type.
10184         (Fgutter_visible_specifier_p): new function for the new specifier.
10185         (syms_of_gutter): declare gutter-visible and
10186         Fgutter_visible_specifier_p.
10187         (specifier_type_create_gutter): intitalize new gutter-visible
10188         specifier.
10189         (reinit_specifier_type_create_gutter): ditto.
10190         (specifier_vars_of_gutter): use new specifier type for gutter
10191         visibility.
10192         (init_frame_gutters): construct real_gutter correctly.
10193         (Fgutter_specifier_p): beef up documentation.
10194         (Fgutter_size_specifier_p): ditto.
10195
10196         * winslots.h: add real_gutter slots.
10197
10198 2000-02-25  Andy Piper  <andy@xemacs.org>
10199
10200         * device-msw.c: Be kind to older cygwin versions. From Raymond
10201         Toy <toy@rtp.ericsson.se>.
10202
10203         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10204         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10205
10206 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10207
10208         * elhash.c (MARK_OBJ): Practice macro hygiene.
10209
10210 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10211
10212         * miscplay.c: s/__inline__/inline/g;
10213         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10214         (get_device_compdc): INLINE ==> static inline
10215         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10216         find -name '*.h' | \
10217         xargs global-replace \
10218         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10219
10220 2000-02-25  Andy Piper  <andy@xemacs.org>
10221
10222         * window.c (window_top_frame_gutter_height): new function.
10223         (window_top_window_gutter_height): ditto.
10224         (window_top_gutter_height): use them.
10225         (window_bottom_frame_gutter_height): new function.
10226         (window_bottom_window_gutter_height): ditto.
10227         (window_bottom_gutter_height): use them.
10228         (window_left_window_gutter_width): new function.
10229         (window_left_frame_gutter_width): ditto.
10230         (window_left_gutter_width): use them.
10231         (window_right_window_gutter_width): new function.
10232         (window_right_frame_gutter_width): ditto.
10233         (window_right_gutter_width): use them.
10234         (window_pixel_height): new function. calulate window pixel height
10235         with frame gutter involvement.
10236         (Fsplit_window): calculate new sizes taking frame gutters into
10237         account.
10238         (window_char_height_to_pixel_height): don't include frame gutters.
10239         (window_char_height): use window_pixel_height.
10240         (window_pixheight): rename from window_pixel_height.
10241         (change_window_height): use it.
10242         (window_pixel_height_to_char_height): don't include frame gutters.
10243         (window_char_width_to_pixel_width): ditto.
10244
10245 2000-02-25  Andy Piper  <andy@xemacs.org>
10246
10247         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10248         if it is.
10249
10250 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10251
10252         * alloc.c (staticpro):
10253         (staticpro_nodump):
10254         (dumpstruct):
10255         (dumpopaque):
10256         (pdump_wire):
10257         (pdump_wire_list):
10258         (compact_string_chars):
10259         (pdump_dump_wired):
10260         Convert:  if (foo) abort();  ==>  assert (! foo);
10261
10262         * eldap.c (Fldap_search_basic):
10263         (Fldap_add):
10264         (Fldap_modify):
10265         (Fldap_delete):
10266         Fix compiler warnings, and possible crashes if (random) return
10267         value were to be used.
10268
10269 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10270
10271         * device-msw.c: Workaround ResetDC failure.
10272
10273         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10274         applying a devmode.
10275
10276         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10277         (mswindows_text_width): Do not start printer page.
10278
10279         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10280
10281         * glyphs-msw.c: Added image methods to msprinter console and
10282         msprinter-specific image instantiation.
10283
10284 2000-02-20  Mike Alexander  <mta@arbortext.com>
10285
10286         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10287         to avoid crashes when selection-sets-clipboard is on
10288         (mswindows_own_selection): ditto
10289
10290 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10291
10292         * glyphs-msw.c:
10293         * redisplay-msw.c (get_frame_dc):
10294         (get_frame_compdc):
10295         * console-msw.h:
10296         * device-msw.c (mswindows_init_device):
10297         (mswindows_delete_device):
10298         (msprinter_init_device):
10299         (msprinter_delete_device):
10300         * frame-msw.c (mswindows_init_frame_1):
10301         (mswindows_delete_frame):
10302         (msprinter_init_frame_3):
10303         (msprinter_delete_frame): Move compatible DC to device object from
10304         frame object, for both mswindows and msprinter. Only one at a time
10305         is needed, it is a real waste to have one per frame!
10306
10307 2000-02-23  Andy Piper  <andy@xemacs.org>
10308
10309         * glyphs.c: add dynamic width and height elements.
10310         (image_instance_equal): ditto.
10311
10312         * glyphs-widget.c (widget_query_geometry): calculate width and
10313         height dynamically if required.
10314         (initialize_widget_image_instance): initialize dynamic dimensions.
10315         (widget_instantiate): pick-up dynamic dimensions.
10316
10317         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10318         dynamic determination. Add appropriate macros.
10319
10320         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10321         dimensions safe.
10322         (WINDOW_GUTTER_SIZE): ditto.
10323         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10324
10325         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10326         inline.
10327         (get_frame_dc): ditto.
10328
10329         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10330         here.
10331
10332 2000-02-23  Martin Buchholz <martin@xemacs.org>
10333
10334         * XEmacs 21.2.31 is released.
10335
10336 2000-02-22  Ben Wing <ben@xemacs.org>
10337
10338         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10339
10340 2000-02-22  Andy Piper  <andy@xemacs.org>
10341
10342         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10343
10344 2000-02-21  Mike Sperber <mike@xemacs.org>
10345
10346         * .dbxrc:
10347         * .gdbinit:
10348         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10349         variables.
10350
10351 2000-02-21  Mike Sperber <mike@xemacs.org>
10352
10353         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10354
10355 2000-02-21  Martin Buchholz <martin@xemacs.org>
10356
10357         * XEmacs 21.2.30 is released.
10358
10359 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10360
10361         Performance hacking.
10362         * *.c (syms_of_*):
10363         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10364         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10365         * emacs.c (main_1):
10366         * lisp.h (DEFUN):
10367         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10368         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10369         * symeval.h (DEFVAR_SYMVAL_FWD):
10370         * symbols.c (guts_of_unbound_marker):
10371         Make all c_readonly objects also lisp_readonly and marked for life.
10372         * lrecord.h (struct lrecord_implementation):
10373         Document flags better.
10374         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10375         * lrecord.h (DECLARE_LRECORD):
10376         * lrecord.h (XSETRECORD):
10377         * lrecord.h (RECORDP):
10378         * lrecord.h (RECORD_TYPEP):
10379         * lrecord.h (RECORD_MARKER): New.
10380         * lrecord.h (error_check_*):
10381         * lrecord.h (CONCHECK_NONRECORD):
10382         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10383         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10384         * lrecord.h (set_lheader_implementation):
10385         * lrecord.h (enum lrecord_type): New.
10386         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10387         * alloc.c (disksave_object_finalization_1):
10388         * alloc.c (mark_object):
10389         * alloc.c (lrecord_type_index):
10390         * alloc.c (tick_lcrecord_stats):
10391         * alloc.c (Fgarbage_collect):
10392         * alloc.c (init_alloc_once_early):
10393         * alloc.c (pdump_load):
10394         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10395         * alloc.c (lrecord_type_index): Delete.
10396         Make lisp object type indexes be constant.
10397           Makes (byte-compile) 5% faster.
10398         Put all marker functions into their own array.
10399           Makes (garbage-collect) 5% faster.
10400         Optimize SYMBOL_VALUE_MAGIC_P.
10401           Makes (byte-compile) 2-3% faster.
10402         * config.h.in (gc_checking_assert): New.
10403         * alloc.c: Use gc_checking_assert().
10404         * .dbxrc: Make compatible with new object type implementation.
10405         * .gdbinit: Make compatible with new object type implementation.
10406         * alloc.c: Delete all symbols defined only for debugging, such as
10407         Lisp_Type_Vector and lrecord_charset.
10408
10409 2000-02-21  Andy Piper  <andy@xemacs.org>
10410
10411         * gui-msw.c (Fmswindows_shell_execute): fix file location
10412         problems.
10413
10414         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10415         unshowing so that set_window_buffer doesn't undo
10416         kill_buffer_hook's hard work.
10417
10418         * glyphs-widget.c (tab_control_query_geometry): don't count the
10419         first item when calculating geometry.
10420
10421         * glyphs.c (map_subwindow): remove redundant code.
10422         (update_frame_subwindows): be more circumspect about when to
10423         update subwindows.
10424
10425         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10426         when items haven't changed. Update faces if faces have changed as
10427         well as just the widget face.
10428         (x_tab_control_update): Update faces if faces have changed as well
10429         as just the widget face.
10430
10431 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10432
10433         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10434         registration.
10435         (build_syscolor_string): Use mswindows_color_to_string to try to
10436         get a named color.
10437         (mswindows_device_system_metrics): Reverse the foreground and
10438         background colors so that they match the documentation.
10439
10440         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10441         they match the default Windows palette.
10442         (mswindows_color_to_string): New function.
10443
10444 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10445
10446         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10447
10448 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10449
10450         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10451         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10452
10453         * symbols.c (init_symbols_once_early): Removed obsolete
10454         DATA_SEG_BITS related kludge.
10455         (defvar_magic): Ditto.
10456
10457         * malloc.c: Removed obsolete DATA_SEG_BITS
10458         * ralloc.c: Ditto.
10459         * mem-limits.h: Ditto.
10460
10461         * Makefile.in.in: Removed obsolete HAVE_SHM
10462         * emacs.c: Ditto.
10463
10464 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10465
10466         *  device-msw.c (mswindows_delete_device): Free DDE string
10467         handles.
10468
10469 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10470
10471         * keymap.c (get_keyelt):
10472         * unexnt.c (unexec):
10473         * vm-limit.c (memory_warnings):
10474         * ntheap.c (recreate_heap):
10475         * ntheap.h (UNINIT_PTR):
10476         * select-msw.c (Fmswindows_get_clipboard):
10477         (Fmswindows_set_clipboard):
10478         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10479         * objects-msw.c:
10480         * menubar-msw.c (displayable_menu_item):
10481         * glyphs-msw.c:
10482         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10483         * sysdep.c (sys_subshell):
10484         * process-nt.c (nt_create_process):
10485         * nt.c (normalize_filename):
10486         (dostounix_filename):
10487         (unixtodos_filename):
10488         * ntproc.c (win32_executable_type):
10489         * ntplay.c (play_sound_data_1):
10490         (play_sound_file):
10491         * editfns.c (get_home_directory):
10492         * event-msw.c (struct winsock_stream):
10493         (mswindows_dde_callback):
10494         * device-msw.c (msprinter_init_device):
10495         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10496
10497         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10498         mswindows_clear_toolbar were swapped!
10499
10500         * objects-msw.c:(colormap_t):
10501         (fontmap_t):
10502         * emacs.c (struct standard_args): Fixed const jumble.
10503
10504         * glyphs-widget.c (update_widget): Fixed comparison notation.
10505
10506         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10507
10508         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10509         __declspec(noreturn) syntax.
10510
10511 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10512
10513         * eldap.c (Fldap_open):
10514         (Fldap_search_basic):
10515         (Fldap_add):
10516         (Fldap_modify):
10517         Use new coding system conversion macros.
10518
10519 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10520
10521         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10522
10523 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10524
10525         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10526         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10527
10528         * eldap.c (Qadd, Qreplace): New constant symbols
10529         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10530         interruptions by XEmacs signals
10531         Remove unnecessary calls to slow_down_interrupts and
10532         speed_up_interrupts
10533         (Fldap_search_basic): Renamed from Fldap_search_internal
10534         Added new optional parameter VERBOSE that triggers the
10535         display of progress messages
10536         Remove unnecessary calls to slow_down_interrupts and
10537         speed_up_interrupts
10538         LDAP result code analysis rewritten
10539         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10540         (syms_of_eldap): Define the new symbols and functions
10541
10542
10543 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10544
10545         * realpath.c: Determine PATH_MAX maximally portably.
10546
10547         * insdel.c (bytecount_to_charcount): Optimize.
10548         The function used to be optimized for entirely ASCII sequences.
10549         Now it is optimized for successive characters from the same
10550         charset.  This also wins big for _mostly_ ASCII sequences.
10551
10552         * fileio.c (Ffile_truename): convert return from realpath() using
10553         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10554         - Rewrite GCPROing slightly.
10555
10556         * sysdep.c (sys_open): Do filename conversion, like all other
10557         sys_* functions.  Fixes bug:
10558         (let ((file-name-coding-system 'iso-8859-2))
10559            (write-region x y latin2-name))
10560         ==> writes filename using internal encoding.
10561
10562 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10563
10564         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10565         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10566         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10567         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10568         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10569         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10570         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10571         (CONST_IF_NOT_DEBUG): Delete.
10572         * alloc.c (this_one_is_unmarkable): Delete.
10573         (mark_object): Don't check for this_one_is_unmarkable. Use the
10574         c_readonly flag instead.
10575         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10576
10577 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10578
10579         * event-msw.c (mswindows_drain_windows_queue):
10580         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10581         away redundant repaint events.
10582
10583 2000-02-17  Andy Piper  <andy@xemacs.org>
10584
10585         * redisplay.h: declare mark_redisplay_structs.
10586
10587         * redisplay.c (redisplay_window):
10588         (redisplay_frame): don't check subwindows_state_changed.
10589         (mark_redisplay): mark gutters here.
10590
10591         * glyphs.c: (instantiate_image_instantiator): always layout if we
10592         haven't done so already.
10593         (allocate_image_instance): don't mark as dirty.
10594         (update_subwindow): bind inhibit_quit.
10595
10596         * gutter.c (mark_gutters): new function.
10597
10598         * glyphs-x.c (x_update_widget): Always resize to get round a
10599         widget bug.
10600
10601         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10602         breaking absolutely everything.
10603
10604         * gutter.h: declare mark_gutters.
10605
10606 2000-02-16  Martin Buchholz <martin@xemacs.org>
10607
10608         * XEmacs 21.2.29 is released.
10609
10610 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10611
10612         * fns.c (size_bit_vector): Fix computation of the size.
10613
10614 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10615
10616         * *.[ch]: Change CONST to const globally.
10617         find -name '*.[ch]' | \
10618         xargs global-replace \
10619         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10620         - Remove vestigial references to CONST_IS_LOSING
10621
10622 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10623
10624         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10625         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10626         events instead of dispatching them directly.
10627         (mswindows_handle_paint): New function to do repainting.
10628         (mswindows_wnd_proc):
10629         (emacs_mswindows_handle_magic_event): Call above function.
10630
10631 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10632
10633         * objects-msw.c (mswindows_create_font_variant): Return the new
10634         font handle.
10635         (initialize_font_instance): Get font metrics from the underlined
10636         variant of the font to cope with the case where the underlined
10637         font has a bigger descent.
10638
10639 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10640
10641         * gui.c (gui_item_accelerator): Return the first underlined
10642         character in item name.
10643
10644 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10645
10646         * lisp.h: Added Qprinter.
10647
10648         * general.c (syms_of_general): Initialized it.
10649
10650         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10651         (get_frame_dc):
10652         (get_frame_compdc): Made inline.
10653
10654         * console.h (struct console_methods): Added eject_page method.
10655
10656         * frame.h: Added FRAME_DISPLAY_P and friends.
10657         Aligned backslahes in many macros in more readable fashion.
10658         Added page_number to struct frame, and an accessor macro
10659         for it.
10660
10661         * defice.h: Added DEVICE_DISPLAY_P and friends.
10662
10663         * device.c (Fdevice_printer_p): Used these.
10664
10665         * frame.c (allocate_frame_core): Initialize page number.
10666         (Fprint_job_page_number):
10667         (Fprint_job_eject_page): Implemented.
10668
10669         * frame-msw.c (msprinter_eject_page): Added method.
10670         (msprinter_start_page): Added.
10671
10672         * window.c (Fwindow_truncated_p): Fixed docstring.
10673         (Fwindow_last_line_visible_height): Implemented.
10674
10675 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10676
10677         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10678
10679 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10680
10681         * syntax.c (scan_words): Always advance at least one character.
10682
10683 2000-02-13  Andy Piper  <andy@xemacs.org>
10684
10685         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10686         to make sure the glyph is in the cachels.
10687
10688         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10689         global image instance flag.
10690         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10691         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10692
10693         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10694         (Fset_image_instance_property): mark layout as changed.
10695         (invalidate_glyph_geometry_maybe): mark layout as changed.
10696         (glyph_width): use new NEEDS_LAYOUT macro.
10697         (glyph_ascent): ditto.
10698         (glyph_descent): ditto.
10699         (glyph_height): ditto.
10700         (image_instance_layout): mark layout as clean after laying out.
10701         (update_subwindow): don't mark layout as clean here.
10702
10703         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10704         should no longer be needed.
10705
10706         * glyphs-x.c (x_update_widget): sanitize asserts.
10707         (x_finalize_image_instance): sanitize assignment to widgets.
10708
10709         * glyphs-widget.c (widget_instantiate): don't need to clear the
10710         layout flag here.
10711
10712 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10713
10714         * sysdep.c (getcwd): Use standard prototype.
10715         * sysdep.h (getcwd): Use standard prototype.
10716
10717         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10718         (sequence, start, end).
10719         Remove redundant type checking.
10720         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10721         view of `caller-protects') to avoid a crash where the real fix was
10722         found elsewhere.
10723
10724 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10725
10726         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10727
10728         * s/sol2.h: Remove feature macro initialization.
10729
10730         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10731         (vector_hash): New.  Code from internal_hash.
10732         * lrecord.h:
10733         Fix up allocation subsystem comments.
10734
10735         * config.h.in: Add __EXTENSIONS__ for Solaris.
10736
10737         * systime.h (EMACS_GETTIMEOFDAY): New.
10738         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10739         Remove Solaris-specific code.
10740         Use void* for the (ignored) second arg for gettimeofday().
10741
10742         * elhash.c (hash_table_hash): Implement it, finally.
10743         * elhash.c:  Use hashcode_t.
10744
10745         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10746         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10747
10748         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10749         * fns.c (size_bit_vector):
10750         * alloc.c (size_vector):
10751         (make_vector_internal):
10752         (make_bit_vector_internal):
10753         (sweep_bit_vectors_1):
10754         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10755
10756 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10757
10758         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10759         Include strings.h to avoid warnings for bzero and strcasecmp.
10760
10761 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10762
10763         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10764         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10765
10766         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10767         sequence.
10768
10769 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10770
10771         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10772         use a value field instead.
10773         (symbol_value_forward_forward): Use value field.
10774         (DEFVAR_SYMVAL_FWD): Use value field.
10775         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10776         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10777         (DEFVAR_CONST_INT): Ditto.
10778         (DEFVAR_BOOL): Ditto.
10779         (DEFVAR_CONST_BOOL): Ditto.
10780         (DEFVAR_INT_MAGIC): Ditto.
10781         (DEFVAR_BOOL_MAGIC): Ditto.
10782
10783         * symbols.c (guts_of_unbound_marker): Use value field.
10784         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10785         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10786
10787         * lisp.h: Declare dumpopaque and noninteractive1.
10788
10789         * alloc.c (dumpopaque): Added.
10790         (pdump_dump_opaquevec): Added.
10791         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10792         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10793         noninteractive.
10794
10795 2000-02-10  Andy Piper  <andy@xemacs.org>
10796
10797         * glyphs.c (image_instance_layout): if the size changes, mark it
10798         as such.
10799
10800         * redisplay-output.c (redisplay_output_layout): Update the
10801         subwindow here.
10802         (redisplay_output_subwindow): ditto.
10803
10804         * glyphs.c (update_subwindow): make sure we reset flags for
10805         layouts as well as everything else.
10806
10807         * glyphs-widget.c (layout_layout): don't need to set the instances
10808         dimensions here.
10809
10810 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10811
10812         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10813         not HAVE_DLOPEN, which is a lower-level thing.
10814
10815         * .cvsignore: Ignore gmon.out
10816
10817 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10818
10819         * .cvsignore: Ignore portable dumper xemacs.dmp file
10820
10821 2000-02-09  Andy Piper  <andy@xemacs.org>
10822
10823         * redisplay-output.c (redisplay_output_layout): be more clever
10824         about when we output based on the changed flags.
10825
10826         * glyphs.h (struct image_instantiator_methods): add update_method.
10827         (struct Lisp_Image_Instance): add changed flags. Declare new
10828         macros for manipulating them.
10829
10830         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10831         (image_instance_parent_glyph): find an image_instance's parent
10832         glyph or image_instance.
10833         (image_instance_layout): mark the size as changed.
10834         (set_image_instance_dirty_p): new function. mark an image
10835         instance, plus all of its parents, as dirty.
10836         (Fset_image_instance_property): use it.
10837         (Fglyph_animated_timeout_handler): use it.
10838         (update_subwindow): call update_widget and device methods for
10839         update_subwindow. Mark all changed flags as clean.
10840         (Fresize_subwindow): mark size as changed.
10841
10842         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10843         failures.
10844         (x_update_subwindow): only resize subwindows here.
10845         (x_update_widget): new function. Update all changed properties of
10846         a widget.
10847         (x_resize_subwindow): deleted.
10848         (x_widget_set_property): deleted.
10849         (x_progress_gauge_set_property): deleted.
10850         (x_progress_gauge_update): new function. Implement recorded
10851         changes.
10852         (x_tab_control_update): ditto.
10853         (x_tab_control_set_property): deleted.
10854         (console_type_create_glyphs_x): declare new functions.
10855         (image_instantiator_format_create_glyphs_x): ditto.
10856
10857         * glyphs-widget.c (widget_set_property): mark text changed.
10858         (update_widget): new function. Update properties of a widget.
10859         (widget_instantiate): for layouts make sure we set their
10860         children's parent correctly.
10861         (tab_control_set_property): new function. Record changes that will
10862         take place under redisplay's control.
10863         (progress_gauge_set_property): ditto.
10864         (image_instantiator_progress_guage): declare new functions.
10865         (image_instantiator_tab_control): ditto.
10866
10867         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10868         now.
10869         (mswindows_update_widget): new function. Update all properties on
10870         a widget that have changed.
10871         (mswindows_button_update): new function. Update a button's set
10872         state.
10873         (mswindows_tab_control_update): new function. Update the items in
10874         a tab.
10875         (mswindows_tab_control_set_property): deleted.
10876         (mswindows_progress_gauge_update): new function. Update the
10877         progress gauge's progress.
10878         (mswindows_widget_set_property): deleted. This is all done
10879         asynchronously now.
10880         (mswindows_progress_gauge_set_property): ditto.
10881         (console_type_create_glyphs_mswindows): declare new methods.
10882         (image_instantiator_format_create_glyphs_mswindows): ditto.
10883
10884         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10885         (msprinter_set_frame_properties): ditto.
10886
10887         * console.h (struct console_methods): Add update_widget_method.
10888
10889 2000-02-09  Andy Piper  <andy@xemacs.org>
10890
10891         * gui-msw.c (Fmswindows_shell_execute): Make
10892         mswindows-shell-execute industrial strength.
10893
10894 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10895
10896         * lrecord.h: Make macro argument `props' match member function `plist'.
10897         * fns.c (Fget):
10898         * fns.c (Fput):
10899         * fns.c (Fremprop):
10900         * fns.c (Fobject_plist):
10901         * alloc.c:
10902         * symbols.c:
10903         Object property list frobbing cleanup.
10904         - Allow any lisp object (compared with `eq'), not just symbols, as
10905           keys in object plists.
10906         - Move symbol plist frobbing into symbols.c, where it belongs.
10907         - Move string plist frobbing into alloc.c, where it belongs.
10908         - Everything's an lrecord now, so no need to test for symbolp, etc.
10909         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10910
10911         * extents.c: Reorder code to remove declarations.
10912
10913         * frame.h (store_in_alist): Remove useless declaration.
10914
10915 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10916
10917         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10918         * config.h.in: Add HAVE_XCONVERTCASE.
10919
10920 2000-02-07  Andy Piper  <andy@xemacs.org>
10921
10922         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10923         it breaks many things.
10924
10925 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10926
10927         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10928         actually can start a common comment type.
10929         * src/syntax.h (SYNTAX_END_P): ditto for end.
10930
10931 2000-02-07  Martin Buchholz <martin@xemacs.org>
10932
10933         * XEmacs 21.2.28 is released.
10934
10935 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10936
10937         * event-Xt.c (x_keysym_to_character): New.
10938         (maybe_define_x_key_as_self_inserting_character): New.
10939         (x_has_keysym): New.
10940         Auto-define all keys on the keyboard as self-insert-key.
10941
10942 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10943
10944         * menubar.c (vars_of_menubar): A small code simplification.
10945
10946         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10947
10948         * ExternalShell.c:
10949         * ExternalClient.c:
10950         * EmacsShell-sub.c:
10951         * EmacsManager.c:
10952         * EmacsFrame.c:
10953         Use consistent style for specifying X resources.
10954
10955         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10956         This makes (dontusethis-set-symbol-value-handler) actually usable.
10957
10958         * lrecord.h (lrecord_decription_type):
10959         * alloc.c (pdump_register_sub):
10960         (pdump_dump_data):
10961         (pdump_reloc_one):
10962         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10963         Comply with XEmacs coding style.
10964         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10965         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10966
10967         * keymap.c (Faccessible_keymaps):
10968         Make (accessible-keymaps map "\C-h") do the Right Thing.
10969         Make (accessible-keymaps map []) do the Right Thing.
10970         Make (accessible-keymaps map "") do the Right Thing.
10971         (check_keymap_definition_loop): New function.
10972         (keymap_store_internal): Keep luser from shooting self in foot,
10973           via (define-key ctl-x-4-map "p" global-map).
10974         Remove fullness slot from struct Lisp_Keymap, since hash tables
10975         are now reliable.
10976         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10977
10978 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10979
10980         * redisplay.c (init_redisplay): Fix small memory leak.
10981         * elhash.h:
10982         * elhash.c (pdump_reorganize_hash_table):
10983         Rename from reorganize_hash_table. Change prototype.
10984         Reuse the original memory for hentries.  Save 100k.
10985         * alloc.c (PDUMP_READ): new macro.
10986         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10987         * alloc.c: No need to #ifndef before #undef.
10988
10989         * print.c: Allow debug_print() to print readably by modifying
10990         debug_print_readably.  Use consistent variable names.
10991
10992         * .dbxrc: Try to get things to work even if stopped in a function
10993         without source available by explicitly specifying source files.
10994 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10995
10996         * unexnt.c (_start): Removed bogus code which caused loading heap
10997         from differrent executable file.
10998         Removed bogus assignment to _fmode, which caused inconsistencies.
10999
11000 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11001
11002         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11003         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11004         Do not preliminary `#define signal sigset'.
11005
11006         * systime.h: Do not prototype environ on windows nt and cygwin,
11007         this conflicts with system header.
11008
11009         * syssignal.h: Use correct define for WINDOWSNT
11010
11011         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11012         with system header.
11013
11014         * sysdep.c (near start of file): Fixed commentary and rearranged
11015         ifdefs in readable order.
11016         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11017         (start_of_text):
11018         (end_of_text):
11019         (end_of_data): Do not compile in if using PDUMP.
11020
11021         * symsinit.h: Prototyped vars_of_nt().
11022
11023         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11024         (find_child_console): Use it.
11025         (sys_kill): Use it.
11026
11027         * ntheap.h: Do not extern os_subtype.
11028
11029         * ntheap.c (cache_system_info): Do not cache unneeded:
11030         nt_major_version, nt_minor_version and os_subtype.
11031         (recreate_heap): Do not compile in when PDUMPing.
11032
11033         * nt.c (geteuid and friends): Use the new varibale
11034         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11035         (init_user_info): Removed the above mentioned hackery.
11036         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11037         stat has been fixed in the C runtime.
11038         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11039
11040         * file-coding.c (struct file_coding_dump): Do not define
11041         ucs_to_mule_table in the struct if not MULE.
11042         (struct struct lrecord_description fcd_description_1): Do not dump
11043         the above.
11044
11045         * emacs.c (main_1): Call vars_of_nt().
11046         (right before Fdump_emacs_data): Don't need lastfile if using both
11047         portabe dumper and system malloc.
11048
11049         * alloc.c (Fmemory_limit): Conditionalized out.
11050         (pdump): Use OPEN_BINARY for the portable dump file.
11051         (pdump_load): Ditto.
11052
11053 2000-02-02  Mike Alexander  <mta@arbortext.com>
11054
11055         * nt.c (convert_time): Set tm_isdst before calling mktime and
11056         avoid calling it at all if the compiler supports 64 bit integers.
11057         Also initialize utc_base_ft before using it.
11058
11059 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11060
11061         * frame.c (change_frame_size_1): Take f->internal_border_width
11062         into consideration when calculating the width of the frame.
11063
11064 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11065
11066         * window.c (frame_min_height):
11067         (frame_size_valid_p):
11068         (frame_pixsize_valid_p): Added.
11069         (check_frame_size): Generalized.
11070
11071         * window.h: Prototyped the above.
11072
11073         * lisp.h:
11074         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11075         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11076         Deleted Vwin32_* and Vbinary_process_* unused variables.
11077
11078         * device-msw.c (msprinter_init_device): Do not get printer font
11079         list; Added DEVMODE functions.
11080
11081         * frame-msw.c: Added lots of printer code.
11082
11083         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11084         general.c.
11085
11086         * console-msw.h: Added more msprinter device private slots.
11087
11088 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11089
11090         * event-msw.c (key_needs_default_processing_p): Added.
11091         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11092
11093 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11094
11095         * glyphs.c (image_instance_layout): Mark image instance as clean
11096         after layout.
11097         (glyph_dirty_p): Removed redundant function.
11098         (invalidate_glyph_geometry_maybe): Added.
11099         (update_glyph_cachel_data): Call it.
11100
11101         * glyphs.h: Prototyped it.
11102
11103         * redisplay.c (add_glyph_rune): Call it.
11104         (redisplay_window): Reset glyphs cachels when frame faces have
11105         changed, thus forcing recomputation of built-in border glyphs.
11106
11107 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11108
11109         * Makefile.in.in: Make portable dumper and purify play well together.
11110         Add imperfect, but better than nothing, support for pdump.
11111         Remove xemacs.dmp when temacs is re-generated.
11112         Don't ignore errors when dumping xemacs.
11113
11114         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11115
11116 2000-01-28  Andy Piper  <andy@xemacs.org>
11117
11118         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11119         (setup_normal_frame): ditto.
11120         (setup_frame_without_minibuffer): ditto.
11121         (setup_minibuffer_frame): ditto.
11122         (delete_frame_internal): ditto.
11123         (Fmake_frame_invisible): ditto.
11124         (Ficonify_frame): ditto.
11125
11126         * window.h: change Fset_window_buffer signature.
11127
11128         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11129         (Fset_window_buffer): allow recording of buffer if the window is
11130         the selected window.
11131         (window_loop): Use new Fset_window signature.
11132
11133 2000-01-23  Daniel Pittman  <daniel@danann.net>
11134
11135         * config.h.in: Added template for `HAVE_ATHENA_3D'
11136
11137 2000-01-29  Andy Piper  <andy@xemacs.org>
11138
11139         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11140
11141         * gutter.c (output_gutter): Don't output if the window isn't live.
11142
11143 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11144
11145         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11146         of 01/12/00: Moved SetFocus back here where it belongs.
11147
11148 2000-01-23  Andy Piper  <andy@xemacs.org>
11149
11150         * s/cygwin32.h: declare printer things.
11151
11152 2000-01-26  Andy Piper  <andy@xemacs.org>
11153
11154         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11155         Alexander.
11156
11157 2000-01-24  Andy Piper  <andy@xemacs.org>
11158
11159         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11160         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11161
11162         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11163
11164         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11165
11166         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11167
11168         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11169         (mswindows_output_display_block): Avoid local shadows.
11170
11171         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11172         (mswindows_enqueue_mouse_button_event): ditto.
11173         (mswindows_handle_gui_wm_command): remove declaration.
11174
11175         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11176         warnings.
11177
11178         * console-msw.h: Avoid shadows.
11179         (mswindows_get_toolbar_button_text):
11180         (emacs_mswindows_create_stream_pair):
11181         (emacs_mswindows_delete_stream_pair):
11182         (mswindows_handle_toolbar_wm_command): declare.
11183
11184         * device-msw.c (build_syscolor_string): Avoid shadows.
11185
11186 2000-01-23  Andy Piper  <andy@xemacs.org>
11187
11188         * glyphs-widget.c (widget_instantiate): reverse the items for
11189         layouts so that children are in the expected order.
11190
11191 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11192
11193         * ralloc.c: safe_bcopy ==> memmove
11194         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11195         * s/msdos.h: Remove BCOPY macros.
11196         * insdel.c (gap_right): Remove BCOPY conditional code.
11197         * insdel.c (gap_left): Remove BCOPY conditional code.
11198         XEmacs demands a working ANSI C compiler - hence memmove.
11199
11200         * regex.c (regex_compile): Remove accidental use of trigraphs.
11201
11202 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11203
11204         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11205         event timestamp.
11206
11207 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11208
11209         * event-msw.c (mswindows_drain_windows_queue): Added the
11210         parameter.
11211         (mswindows_need_event): Commented the call to
11212         mswindows_drain_windows_queue().
11213         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11214         only.
11215
11216         * console-msw.h: Moved a few function prototypes here from
11217         event-msw.c.
11218
11219         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11220         parameter from unsigned short to unsigned long.
11221         (Fmswindows_shell_execute): Added return value.
11222
11223 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11224
11225         * sysdep.c (init_system_name):
11226           process-unix.c (unix_canonicalized_host_name):
11227         Don't call freeaddrinfo() if getaddrinfo() fails.
11228
11229         * process-unix.c (unix_open_unix_network_stream):
11230         Moved the code to get a port # into address loop.
11231
11232 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11233
11234         * buffer.c (reinit_vars_of_buffer):
11235         The right place to initialize conversion_in_dynarr and
11236         conversion_out_dynarr.
11237
11238         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11239
11240         * process-unix.c (unix_canonicalize_host_name): Muleize.
11241         (unix_open_network_stream): Muleize.
11242
11243         * buffer.h: Fix up prototypes for ralloc.c functions.
11244
11245 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11246         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11247         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11248                 instead of gethostbyname()
11249         * process-unix.c: In unix_canonicalize_host_name() and
11250                 unix_open_network_stream(), add code to use getaddrinfo()
11251                 instead of gethostbyname().
11252
11253 2000-01-27  Daniel Pittman <daniel@danann.net>
11254
11255         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11256         libs when built with flat Athena.
11257
11258 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11259
11260         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11261         Use coding standards for function prototypes.
11262
11263 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11264
11265         * dialog-msw.c (push_lisp_string_as_unicode):
11266         * doc.c (unparesseuxify_doc_string):
11267         * dired.c (Fuser_name_completion_1):
11268         * dired.c (Fuser_name_all_completions):
11269         * dired.c (free_user_cache):
11270         * dired.c (user_name_completion):
11271         * console-x.c (get_display_arg_connection):
11272         * minibuf.c (clear_echo_area_internal):
11273         * minibuf.c (echo_area_append):
11274         * eldap.c (Fldap_open):
11275         * eldap.c (Fldap_search_internal):
11276         * frame-x.c (x_set_frame_text_value):
11277         * frame-x.c (x_set_frame_properties):
11278         * frame-x.c (x_create_widgets):
11279         * redisplay-tty.c (term_get_fkeys_1):
11280         * objects-x.c (x_parse_nearest_color):
11281         * objects-x.c (x_valid_color_name_p):
11282         * objects-x.c (x_initialize_font_instance):
11283         * objects-x.c (x_list_fonts):
11284         * objects-x.c (x_find_charset_font):
11285         * tooltalk.c (Fadd_tooltalk_message_arg):
11286         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11287         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11288         * process-unix.c (unix_create_process):
11289         * ntproc.c (sys_spawnve):
11290         * sound.c (Fplay_sound_file):
11291         * sound.c (Fplay_sound):
11292         * buffer.c (init_initial_directory):
11293         * buffer.c (init_buffer):
11294         * editfns.c (init_editfns):
11295         * editfns.c (Ftemp_directory):
11296         * editfns.c (Fuser_full_name):
11297         * editfns.c (uncache_home_directory):
11298         * editfns.c (get_home_directory):
11299         * editfns.c (Fuser_home_directory):
11300         * editfns.c (Fformat_time_string):
11301         * editfns.c (Fcurrent_time_string):
11302         * gui-x.c (button_item_to_widget_value):
11303         * database.c (Fopen_database):
11304         * event-Xt.c (x_to_emacs_keysym):
11305         * event-Xt.c (x_event_to_emacs_event):
11306         * event-Xt.c (describe_event_window):
11307         * event-msw.c (mswindows_wnd_proc):
11308         * glyphs-eimage.c (jpeg_instantiate):
11309         * glyphs-eimage.c (gif_instantiate):
11310         * glyphs-eimage.c (png_instantiate):
11311         * glyphs-eimage.c (tiff_instantiate):
11312         * glyphs-x.c (xbm_instantiate_1):
11313         * glyphs-x.c (x_xbm_instantiate):
11314         * glyphs-x.c (x_xface_instantiate):
11315         * glyphs-x.c (autodetect_instantiate):
11316         * glyphs-x.c (cursor_font_instantiate):
11317         * glyphs-x.c (x_widget_instantiate):
11318         * glyphs-x.c (x_widget_set_property):
11319         * glyphs-x.c (x_widget_property):
11320         * glyphs-x.c (BUILD_GLYPH_INST):
11321         * print.c (write_string_to_stdio_stream):
11322         * print.c (output_string):
11323         * print.c (Falternate_debugging_output):
11324         * print.c (Fexternal_debugging_output):
11325         * glyphs-msw.c (extract_xpm_color_names):
11326         * glyphs-msw.c (mswindows_xpm_instantiate):
11327         * glyphs-msw.c (bmp_instantiate):
11328         * glyphs-msw.c (resource_name_to_resource):
11329         * glyphs-msw.c (mswindows_resource_instantiate):
11330         * glyphs-msw.c (xbm_instantiate_1):
11331         * glyphs-msw.c (mswindows_xbm_instantiate):
11332         * glyphs-msw.c (mswindows_xface_instantiate):
11333         * glyphs-msw.c (mswindows_widget_instantiate):
11334         * glyphs-msw.c (add_tree_item):
11335         * glyphs-msw.c (add_tab_item):
11336         * glyphs-msw.c (mswindows_combo_box_instantiate):
11337         * glyphs-msw.c (mswindows_widget_property):
11338         * glyphs-msw.c (mswindows_combo_box_property):
11339         * glyphs-msw.c (mswindows_widget_set_property):
11340         * console.c (stuff_buffered_input):
11341         * objects-msw.c (mswindows_initialize_color_instance):
11342         * objects-msw.c (mswindows_valid_color_name_p):
11343         * objects-msw.c (mswindows_list_fonts):
11344         * objects-msw.c (mswindows_font_instance_truename):
11345         * bytecode.c (optimize_compiled_function):
11346         * select-x.c (symbol_to_x_atom):
11347         * select-x.c (x_atom_to_symbol):
11348         * select-x.c (hack_motif_clipboard_selection):
11349         * select-x.c (selection_data_to_lisp_data):
11350         * select-x.c (lisp_data_to_selection_data):
11351         * select-x.c (Fx_get_cutbuffer_internal):
11352         * select-x.c (Fx_store_cutbuffer_internal):
11353         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11354         * buffer.h (TO_INTERNAL_FORMAT): New function.
11355         * emacs.c (make_arg_list_1):
11356         * emacs.c (make_argc_argv):
11357         * emacs.c (main_1):
11358         * emacs.c (Fdump_emacs):
11359         * emacs.c (split_string_by_emchar_1):
11360         * file-coding.h:
11361         * lisp.h:
11362         * lstream.h:
11363         * symsinit.h:
11364         * device-x.c (x_init_device):
11365         * device-x.c (Fx_valid_keysym_name_p):
11366         * device-x.c (Fx_get_font_path):
11367         * device-x.c (Fx_set_font_path):
11368         * glyphs.c (bitmap_to_lisp_data):
11369         * glyphs.c (pixmap_to_lisp_data):
11370         * alloc.c (make_ext_string): Use coding system arguments.  Update
11371         all callers.
11372         * alloc.c (build_string):
11373         * callproc.c (child_setup):
11374         * callproc.c (init_callproc):
11375         * fileio.c (lisp_strerror):
11376         * fileio.c (directory_file_name):
11377         * fileio.c (Fexpand_file_name):
11378         * fileio.c (Ffile_truename):
11379         * fileio.c (Fsysnetunam):
11380         * fileio.c (Fdo_auto_save):
11381         * sysdep.c (sys_readdir):
11382         * tests.c: New file.  Allow adding C tests.
11383         Replace GET_* macros with a more comprehensible and flexible
11384         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11385         Modify all calls.
11386         Any coding system can be used to do format conversion.
11387         Eliminate enum external_data_format.
11388         Eliminate convert_to_external_format.
11389         Eliminate convert_to_internal_format.
11390         Make sure file-name, keyboard, terminal, and ctext are always
11391         defined as coding systems or aliases.  Make
11392         file-name-coding-system, terminal-coding-system, and
11393         keyboard-coding-system magical variables that are equivalent to
11394         defining the corresponding coding system aliases.
11395
11396         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11397         * file-coding.c (Fcoding_system_alias_p): New function.
11398         * file-coding.c (Fcoding_system_aliasee): New function.
11399         * file-coding.c (append_suffix_to_symbol): New function.
11400         * file-coding.c (dangling_coding_system_alias_p): New function.
11401         * file-coding.c (Ffind_coding_system):
11402         * file-coding.c (Fcopy_coding_system):
11403         * file-coding.c (encode_coding_no_conversion):
11404         * file-coding.c (syms_of_file_coding):
11405         * file-coding.c (vars_of_file_coding):
11406         Rewrite coding system alias code.
11407         Allow nested aliases, like symbolic links.
11408         Allow redefinition of coding system aliases.
11409         Prevent existence of dangling coding system aliases.
11410
11411         * dired.c (Fuser_name_completion_1):
11412         * dired.c (Fuser_name_all_completions):
11413         A crash would happen if user did QUIT in the middle of building
11414         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11415
11416         * lisp.h:
11417         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11418
11419         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11420         an unsigned char *.  Update all callers.
11421
11422 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11423
11424         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11425
11426 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11427
11428         * elhash.c (hentry_description): Use more portable definition.
11429         (resize_hash_table): Initialize new hentries using
11430         xnew_array_and_zero, thereby simplifying the code.
11431
11432         * mule-charset.c (make_charset): Make sure entire object is
11433         initialized, to avoid Purify warnings.
11434
11435         * alloc.c (resize_string): Fix unlikely crash with big strings.
11436
11437 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11438
11439         * realpath.c (xrealpath):
11440         Don't call getwd().
11441
11442 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11443
11444         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11445
11446 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11447
11448         * unexelfsgi.c (unexec): Change the way we decide which segment
11449         should be extended.
11450
11451         Assumption that .bss section should be outside the PT_LOADable
11452         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11453         it's present) is inside the 'data' segment. This would fail the
11454         test which was used to find a segment to grow and cover new
11455         heap. Instead of this assumption, I created another one - on IRIX
11456         the segment to grow should start below .bss and it's address
11457         should extent above the end of .bss. Once this segment is
11458         identified, it's grown to accommodate the new heap and new
11459         zero-length .bss section is added at the end of .data2.
11460
11461 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11462
11463         * eval.c (Feval): Wrong number of arguments should use original
11464         function, not the indirect_function version of it.
11465
11466 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11467
11468         * glyphs-x.c (x_button_instantiate): Don't add image if
11469         it is not a pixmap.
11470         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11471         is relative.
11472
11473 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11474
11475         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11476         declaration.
11477         (DEFVAR_INT_MAGIC): Ditto.
11478         (DEFVAR_BOOL_MAGIC): Ditto.
11479         * glyphs.h: Reindent backslash.
11480
11481 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11482
11483         * glyphs-widget.c (layout_query_geometry):
11484         (layout_layout): Use correct types for gheight, gwidth.
11485
11486 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11487
11488         * EmacsManager.c (QueryGeometry): Purified.
11489
11490 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11491
11492         * alloc.c (make_float): Make sure entire object is initialized, to
11493         avoid Purify warnings.
11494         (pdump_register_sub): Remove useless assignment.
11495         (pdump): Use xmalloc, not malloc.
11496         (pdump_load): Use xmalloc, not malloc.
11497
11498 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11499
11500         * callproc.c:
11501         * dired-msw.c:
11502         * fileio.c:
11503         * process-nt.c:
11504         * redisplay-msw.c:
11505         * sysdep.c: Removed redundant #include <windows.h>
11506
11507 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11508
11509         * frame.c (delete_frame_internal): Do not delete device when its
11510         implementation so declares.
11511         (delete_frame_internal): Set device selected frame to nil when
11512         last frame goes away.
11513
11514         * device-msw.c (msprinter_device_system_metrics): Implemented.
11515         (mswindows_device_system_metrics): Added 'device-dpi property.
11516
11517         * device.c: (Fdevice_printer_p): Added.
11518         Added 'offset-workspace device metric.
11519
11520         * console.h (device_metrics): Declared DM_offset_workspace.
11521
11522 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11523
11524         * fileio.c (Ffile_truename): Remove pointless and confusing
11525         initialization of elen.
11526
11527         * glyphs-widget.c: Compiler warning fixes.
11528
11529 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11530
11531         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11532         instead of a Lisp_Object as argument to make it consistent with
11533         the other LIVE_P macros.
11534         (CHECK_LIVE_PROCESS): New macro.
11535
11536         * process.c: Declare Qprocess_live_p.
11537         (Fprocess_live_p): New function.
11538         (create_process): Use PROCESS_LIVE_P.
11539         (read_process_output): Ditto.
11540         (set_process_filter): Ditto.
11541         (Fdelete_process): Ditto.
11542         (kill_buffer_processes): Ditto
11543         (process_send_signal): Use CHECK_LIVE_PROCESS.
11544         (Fprocess_input_coding_system): Check whether process is still
11545         alive (fix PR#1061).
11546         (Fprocess_output_coding_system): Ditto.
11547         (Fprocess_coding_system): Ditto.
11548         (Fset_process_input_coding_system): Ditto.
11549         (Fset_process_output_coding_system): Ditto.
11550
11551 2000-01-23  Andy Piper  <andy@xemacs.org>
11552
11553         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11554         layout and widget.
11555
11556         * glyphs.c (mark_image_instance): take into account changed
11557         image_instance format.
11558         (image_instance_equal): ditto.
11559         (image_instance_hash): ditto.
11560
11561         * glyphs-widget.c (widget_instantiate): Incorporate layout
11562         instantiation here. Delay layout of the layout until later.
11563         (layout_instantiate): deleted.
11564         (layout_query_geometry): new function. get the geometry of a
11565         layout.
11566         (layout_layout): layout a layout dynamically.
11567         (image_instantiator_widget): New function - splitting up
11568         image_instantiator_format_create_glyphs_widget for netwinder
11569         compilation.
11570         (image_instantiator_buttons):
11571         (image_instantiator_edit_fields):
11572         (image_instantiator_combo_box):
11573         (image_instantiator_scrollbar):
11574         (image_instantiator_progress_guage):
11575         (image_instantiator_tree_view):
11576         (image_instantiator_tab_control):
11577         (image_instantiator_labels):
11578         (image_instantiator_layout): ditto.
11579         (image_instantiator_format_create_glyphs_widget): Call preceding
11580         functions.
11581
11582 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11583
11584         * process.c (Fset_process_coding_system):
11585         * device-x.c (Fx_keysym_hash_table):
11586         Docstring fixes.
11587
11588         * lstream.c (Lstream_write): Return documented value, not 0.
11589
11590         * fileio.c (directory_file_name):
11591         (Fsubstitute_in_file_name):
11592         (Fsubstitute_insert_file_contents_internal):
11593         (Fwrite_region_internal):
11594         * emacs.c:
11595         * sysdep.c:
11596         * getloadavg.c:
11597         * systty.h:
11598         Remove vestigial APOLLO-conditional code.
11599
11600 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11601
11602         * getpagesize.h: Add guard macros.
11603         * libsst.h: Add guard macros.
11604         * libst.h: Add guard macros.
11605         * line-number.h: Add guard macros.
11606         * ndir.h: Add guard macros.
11607         * sysfloat.h: Add guard macros.
11608         * sysfile.h: Add guard macros.
11609         * sysproc.h: Add guard macros.
11610         * syswait.h: Add guard macros.
11611         * xintrinsic.h: Add guard macros.
11612         * xintrinsicp.h: Add guard macros.
11613         * xmmanager.h: Add guard macros.
11614         * xmmanagerp.h: Add guard macros.
11615         * xmprimitive.h: Add guard macros.
11616         * xmu.h: Add guard macros.
11617         * gpmevent.h: Add copyright statement. Add guard macros.
11618         * miscplay.h: Add guard macros.
11619         * *.h: Use consistent C-standards-approved guard macro names.
11620
11621         * opaque.c (make_opaque): Switch parameter order.
11622         * opaque.h (make_opaque): Switch parameter order.
11623         Update all callers.
11624         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11625
11626         * config.h.in (type_checking_assert): Added.
11627         (bufpos_checking_assert): Added.
11628
11629 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11630
11631         * alloc.c: Harmless pdump changes.
11632         - Use countof().
11633         - spell alignment correctly.
11634         * sysdep.c: Use countof()
11635
11636 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11637
11638         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11639         initially_selected_for_input() console method, default to 0.
11640         (semi_canonicalize_console_connection): Try to delegate to
11641         canonicalize_console_connection if no such console method.
11642         (canonicalize_console_connection): Vice versa.
11643         (print_console): Do not print nil connection.
11644
11645         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11646         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11647         (XDEVIMPF_FRAMELESS_OK): Added.
11648         (CONSOLE_INHERITS_METHOD): Added.
11649
11650         * console-msw.c (mswindows_canonicalize_console_connection):
11651         Added.
11652         (mswindows_canonicalize_device_connection): Added.
11653
11654         * console-msw.h (struct msprinter_device): Added this struct and
11655         accessor macros.
11656         (mswindows_device): Made fontlist a lisp object.
11657
11658         * device.c (semi_canonicalize_device_connection):  Try to delegate
11659         to canonicalize_device_connection if no such console method.
11660         (canonicalize_device_connection): Vice versa.
11661         (print_device): Do not print nil connection.
11662
11663         * device-msw.c (mswindows_init_device): Call InitCommonControls
11664         when have widgets.
11665         (mswindows_delete_device): Removed fontlist deallocation.
11666         (mswindows_mark_device): Added.
11667
11668         * events.c (event_equal): Added abort() at unreached code.
11669         (event_hash): Ditto.
11670
11671         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11672         fallback tags of Windows devices.
11673
11674         * general.c (syms_of_general): Initialized Qmsprinter.
11675
11676         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11677         of fallback tags of Windows devices.
11678
11679         * lisp.h: Declared Qmsprinter.
11680
11681         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11682         of strings.
11683         (mswindows_list_fonts): Ditto.
11684         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11685         that it can be used by both mswindows and msprinter devices.
11686         (initialize_font_instance): Added.
11687         (mswindows_initialize_font_instance): Use it.
11688         (msprinter_initialize_font_instance): Added.
11689
11690         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11691         and implementation flags check.
11692         (redisplay_without_hooks): Changed the call to the above.
11693         (Fredraw_device): Ditto.
11694         (Fredisplay_device): Ditto.
11695
11696         * redisplay-msw.c (get_frame_dc): Implemented.
11697         (get_frame_compdc): Implemented.
11698         (many functions): Use the two functions above to get device
11699         contexts, ether for a window or a printer.
11700
11701 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11702
11703         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11704         initialization here.
11705         (init_symbols_once_early): Call it.
11706         * emacs.c (main_1): Call it.
11707         * symsinit.h: Declare it.
11708
11709 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11710
11711         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11712         Lisp_Object.
11713         (pdump_backtrace): Ditto.
11714         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11715         (pdump_get_entry): Abort if trying to register a null pointer.
11716         (pdump_dump_data): Cleanup types when relocating.
11717         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11718         (pdump_dump_rtables): Remove bad casts.
11719         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11720         Lisp_Object instead of a EMACS_INT for the hashtable
11721         reorganization.
11722
11723 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11724
11725         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11726
11727         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11728
11729         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11730
11731         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11732
11733 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11734
11735         * faces.h (FACE_STRIKETHRU_P): Added.
11736
11737         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11738         of font variants.
11739
11740         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11741         (mswindows_set_dc_font): New function, aware of font variants,
11742         separated from mswindows_update_dc.
11743
11744         * objects-msw.h (struct mswindows_font_instance_data): Added
11745         definition.
11746
11747         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11748         cached fonts and the data structure.
11749         (mswindows_initialize_font_instance): Added creation of font data
11750         structure.
11751         (mswindows_print_font_instance): Print at least something.
11752         (mswindows_create_font_variant): Implemented.
11753         (mswindows_get_hfont): Implemented.
11754
11755 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11756
11757         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11758         prototyping problem with msvc.
11759
11760         * emacs.c (main_1): added syms_of_gui_mswindows() call
11761
11762         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11763         syms_of_gui_mswindows() function
11764
11765         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11766
11767 2000-01-18  Martin Buchholz <martin@xemacs.org>
11768
11769         * XEmacs 21.2.27 is released.
11770
11771 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11772
11773         * glyphs-eimage.c (struct tiff_error_struct):
11774         (tiff_error_func):
11775         (tiff_warning_func):
11776         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11777
11778         * unexmips.c:
11779         * unexhp9k3.c:
11780         * unexfreebsd.c:
11781         * unexec.c: Remove vestigial Lucid C code.
11782         * unexalpha.c:
11783         * unexaix.c:
11784         * termcap.c:
11785         * libsst.c: Ansify.
11786         Remove declarations of errno and strerror().
11787
11788         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11789
11790         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11791
11792 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11793
11794         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11795         Optimize.
11796
11797 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11798
11799         * md5.c:
11800         * file-coding.c:
11801         * file-coding.h:
11802         Change enum eol_type to eol_type_t.
11803
11804 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11805
11806         * gui.c (get_gui_callback): Check cons before accessing car.
11807
11808 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11809
11810         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11811         (XSETSPECIFIER_TYPE): Ditto.
11812
11813 2000-01-17  Didier Verna  <didier@xemacs.org>
11814
11815         * redisplay.c (generate_fstring_runes): compute string size in
11816         characters, not bytes.
11817
11818 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11819
11820         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11821
11822 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11823
11824         * print.c (print_error_message): Call print_prepare().
11825
11826 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11827
11828         * .dbxrc: Renamed from dbxrc.
11829
11830         * events.c (event_to_character):
11831         Use `assert (foo)' instead of `if (!foo) abort()'
11832
11833         * .gdbinit (xtype): Add documentation.
11834         * .gdbinit (check-temacs): New function.
11835         * .gdbinit (check-xemacs): New function.
11836         * dbxrc (check-xemacs): New function.
11837         * dbxrc (check-xemacs): New function.
11838
11839 2000-01-14  Andy Piper  <andy@xemacs.org>
11840
11841         * glyphs-widget.c (widget_query_geometry): Make sure that we
11842         calculate default dimensions correctly.
11843
11844 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11845
11846         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11847
11848         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11849         pdump_wire'd variable.
11850
11851         * emacs.c: (main_1): Conditionalized calls to
11852         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11853
11854 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11855
11856         * window.c (Fset_window_configuration):
11857         * sysdep.c (_start):
11858         * input-method-motif.c (res):
11859         * event-Xt.c (Xt_process_to_emacs_event):
11860         Simple compiler warning fixes.
11861
11862         * bytecode.c (funcall_compiled_function): Use the original
11863         function symbol on the backtrace list in preference to the
11864         compiled_function object in error messages.
11865
11866 2000-01-13  Andy Piper  <andy@xemacs.org>
11867
11868         * glyphs-x.c (update_widget_face): Make sure we update the widget
11869         background as well as foreground.
11870
11871 2000-01-13  Andy Piper  <andy@xemacs.org>
11872
11873         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11874         fields to subwindow.
11875         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11876         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11877         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11878         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11879
11880         * glyphs-widget.c (check_valid_tab_orientation): new function.
11881         (initialize_widget_image_instance): zero orientation and
11882         justification.
11883         (widget_instantiate): pick up orientation.
11884         (tab_control_query_geometry): return appropriate values for
11885         vertical tabs.
11886
11887         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11888         appropriate creation flags for left, right and bottom tabs.
11889
11890         * s/cygwin32.h: add tab definitions.
11891
11892 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11893
11894         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11895         frame upon hiding a subwindow.
11896         (mswindows_button_instantiate): Changed the push button style to
11897         BS_PUSHBUTTON.
11898         (mswindows_button_instantiate): Removed button BS_NOTIFY
11899         style.
11900         (mswindows_button_instantiate): Removed redundant check for
11901         a disabled gui item.
11902         (mswindows_button_instantiate): Made use of WS_TABSTOP
11903         consistent: "operable" controls (edit, button, tree, scroll) have
11904         this style, "display-only" ones (static, progress gauge) do
11905         not. This style is currently ignored by XEmacs though. Also,
11906         removed the WS_EX_CONTROLPARENT style - it is not for children,
11907         it is for their parents!
11908         (mswindows_edit_field_instantiate): Ditto.
11909         (mswindows_progress_gauge_instantiate): Ditto.
11910         (mswindows_tree_view_instantiate): Ditto.
11911         (mswindows_tab_control_instantiate): Ditto.
11912         (mswindows_scrollbar_instantiate): Ditto.
11913         (mswindows_combo_box_instantiate): Ditto.
11914         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11915         style to the "clip" window.
11916         (mswindows_button_instantiate): Removed compilation warning by
11917         equally typing terms of the ?: operator.
11918
11919 2000-01-12  Didier Verna  <didier@xemacs.org>
11920
11921         * redisplay.c (generate_fstring_runes): new parameter holding the
11922         last modeline-format extent.
11923         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11924         extent, fill the glyph block with it.
11925         (generate_fstring_runes): handle these parameters.
11926         (generate_formatted_string_db): ditto.
11927
11928         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11929         glyphs'extents in the modeline.
11930
11931 1999-01-11  Mike Woolley  <mike@bulsara.com>
11932
11933         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11934         256Mb, as a workaround for the non-starting problem many people
11935         have experienced.
11936
11937 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11938
11939         * console-tty.c (Fset_console_tty_output_coding_system):
11940         Force redrawing tty frame.
11941
11942 2000-01-10  Didier Verna  <didier@xemacs.org>
11943
11944         * redisplay.c (generate_fstring_runes): fix size computation bug.
11945
11946 2000-01-09  William M. Perry <wmperry@aventail.com>
11947
11948         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11949
11950 2000-01-09  Andy Piper  <andy@xemacs.org>
11951
11952         * glyphs-msw.c: index -> i to avoid shadows.
11953         (xbm_create_bitmap_from_data): make static.
11954         (check_valid_string_or_int): deleted.
11955         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11956
11957         * glyphs-x.c (x_update_subwindow): remove unused args.
11958
11959         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11960         back pointer - this is done in allocate_image_instance.
11961         (query_string_font): return Qnil to make the compiler happy.
11962         (unmap_subwindow): set to ~0 to make the compiler happy.
11963         (glyph_query_geometry): comment out until used.
11964         (glyph_layout): ditto.
11965
11966 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11967
11968         * insdel.c (signal_after_change): Remove extraneous unbind_to().